GPT
G

granite-20b-code-instruct-8k

קוד פתוח

ibm-graniteapache-2.02024-04-26

  • transformers
  • safetensors
  • gpt_bigcode
  • text-generation
  • code

מודל קוד של יבמ שנועד לעוזרי פיתוח ומעקב אחרי הוראות תכנות. היום הוא כבר מוגדר ישן ולא מומלץ לפרויקטים חדשים.

  • 20Bפרמטרים
  • 8,192טוקנים בהקשר
  • 37.4 GBמשקל הקבצים
  • 2,489הורדות בחודש

מה זה

מדובר במודל שפת קוד שנוצר מכוונון עדין של גרסת הבסיס, תוך שימוש במאגרי הוראות עם רישיונות מתירניים בלבד. המטרה היתה לחזק יכולות פתרון בעיות, היגיון והבנת פקודות בשפות פיתוח. המאגרים כללו נתוני קומיטים מתשעים ושתיים שפות שונות, לצד מאגרי מתמטיקה כמו MathInstruct ודאטה ייעודי של קריאות לפונקציות ושאילתות SQL.

הצוות של יבמ אימן אותו על מחשבי העל שלהם בעזרת מעבדי A100 ו־H100, ושילב גם מאגרי שפה כלליים כמו HelpSteer. עם זאת, יבמ בעצמם הציבו בראש העמוד אזהרה ברורה לפיה המודל הזה הוצא משימוש מומלץ, ומשפחת דגמי הגרניט החדשה מחליפה אותו.

מתאים ל

  • מחקר והשוואה היסטורית

    מתאים למי שבוחן התפתחות מודלי קוד של יבמ, בדיוק המטרה שלשמה הוא נשאר זמין להורדה.

  • שאילתות SQL מורכבות

    הוא אומן על NL2SQL11 ומסוגל להמיר הוראות בשפה טבעית לפקודות מסד נתונים.

  • עוזר פיתוח מקומי סגור

    למי שחייב מודל ברישיון חופשי לחלוטין ברשת פנימית, ללא תלות ברשת חיצונית.

איפה זה נופל

החיסרון המרכזי הוא שיבמ עצמם הכריזו עליו כלא מומלץ לשימוש בפרויקטים חדשים בגלל שיש להם דגמים חדשים שעוקפים אותו ביכולות. מעבר לזה, הכרטיס מציין שהביצועים צונחים בשפות תכנות שלא נכללו במאגרי ההדרכה המקוריים, ובמקרים כאלה חייבים לתת לו דוגמאות בתוך הפרומפט כדי ליישר אותו. חלון ההקשר מוגבל לשמונת אלפים טוקנים, מה שלא יספיק לניתוח של קבצי קוד ענקיים או פרויקטים שלמים.

שאלות
נפוצות

כדאי להתחיל לפתח עם המודל הזה מוצר חדש?

לא. יבמ שמו אזהרה בולטת שהוא מיועד כעת למטרות מדעיות והיסטוריות בלבד, ושיש להם גרסאות קוד חדשות שעדיפות עליו.

איך המודל מתמודד עם שפות תכנות נדירות?

הוא מתקשה בהן מאוד. האימון התמקד בסט מוגדר של שפות, ועבור שפות אחרות תצטרכו לספק לו כמה דוגמאות בתוך ההנחיה כדי לקבל תוצאה סבירה.

איך מריצים

כדי להריץ עשרים מיליארד פרמטרים בדיוק של bfloat16 צריך להחזיק בזיכרון קרוב לארבעים גיגה של משקלים, לפני שלוקחים בחשבון את חלון ההקשר. בפועל, כרטיס ביתי רגיל לא יספיק פה וצריך כרטיס מקצועי של ארבעים ושמונה גיגה זיכרון לפחות, או פיצול על פני שני כרטיסים גרפיים חזקים.

המודל נתמך ישירות דרך ספריית transformers, אבל אם המטרה היא סביבת ייצור, פריסה עצמית כזו יקרה ומסורבלת יחסית למה שהמודל מציע כיום. בהתחשב בכך שהוא מוגדר מיושן, עדיף להשתמש ב־API של המודלים המעודכנים יותר של החברה מאשר לתחזק שרת ייעודי עבורו.

from transformers import pipeline

pipe = pipeline("text-generation", model="ibm-granite/granite-20b-code-instruct-8k")
print(pipe("שלום"))

הרישיון

הרישיון הוא Apache 2.0 מלא. אפשר להשתמש בו לצרכים מסחריים, לשנות אותו, להטמיע אותו במוצרים סגורים ולהפיץ מחדש, כל עוד שומרים על הודעת זכויות היוצרים והרישיון המקורי.

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

הרישיון המלא בעמוד המודל ↗