GPT
C

codegen-350M-multi

קוד פתוח

Salesforcebsd-3-clause2022-04-11

  • transformers
  • pytorch
  • codegen
  • text-generation
  • endpoints_compatible

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

  • 2,048טוקנים בהקשר
  • 764 MBמשקל הקבצים
  • 3,322הורדות בחודש
  • 61לייקים

מה זה

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

הייחוד בגרסת ה־Multi הזו לעומת גרסאות אחרות הוא התמיכה המובנית בשש שפות שונות במקביל: פייתון, ג'אווה, ג'אווהסקריפט, C, C++ ו־Go. בנפח של פחות מגיגה־בייט אחד, הוא מציע נקודת פתיחה זולה ומהירה למי שמחפש יכולות תכנות בסיסיות מאוד על גבי ארכיטקטורה מוכרת של transformers.

מתאים ל

  • השלמת שורות קוד מקומית

    מתאים לתוספי IDE קלים שמציעים את שורת הקוד הבאה בשפות נתמכות בלי לשלוח פקודות לענן.

  • תרגום הערות לקוד פשוט

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

  • מחקר על מודלי קוד

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

איפה זה נופל

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

שאלות
נפוצות

איך המודל הזה מתמודד עם עברית בהוראות?

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

האם הוא יכול להחליף מודלים של עשרות מיליארדי פרמטרים בפיתוח יומיומי?

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

איך מריצים

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

אם אתם צריכים לוגיקה עסקית מורכבת, עדיף להשתמש בגרסאות הגדולות יותר בסדרה כמו 6B או 16B, או לפנות ל־API חיצוני. הגודל הזה מיועד למקומות שבהם השהיה נמוכה ומשאבים מקומיים הם הדבר היחיד שקובע.

from transformers import pipeline

pipe = pipeline("text-generation", model="Salesforce/codegen-350M-multi")
print(pipe("שלום"))

הרישיון

הוא מופץ תחת רישיון bsd-3-clause, שמאפשר שימוש מסחרי, שינוי והפצה של הקוד והמשקלים. התנאי המרכזי הוא שמירה על הצהרת זכויות היוצרים ונוסח הרישיון המקורי, בלי להשתמש בשם של Salesforce לקידום המוצר שלכם בלי אישור מפורש.

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

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