GPT
C

codegen-350M-mono

קוד פתוח

Salesforcebsd-3-clause2022-04-11

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

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

  • 2,048טוקנים בהקשר
  • 764 MBמשקל הקבצים
  • 123,035הורדות בחודש
  • 101לייקים

מה זה

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

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

מתאים ל

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

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

  • מחקר והערכת ביצועים

    הרצת בדיקות אקדמיות על מודלי קוד קטנים ומדידת יכולות תכנות של מודל קל משקל.

  • יצירת קוד מהערות

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל הזה תומך בשפות תכנות חוץ מפייתון?

הגרסה הספציפית הזו עברה אימון ייעודי על פייתון בלבד ולכן היא מותאמת לה. אם יש צורך בשפות נוספות כמו ג'אווה או C++, צריך להשתמש בגרסת ה־Multi של המודל ולא בגרסת ה־Mono.

האם אפשר להשתמש בו במוצר מסחרי בלי אינטרנט?

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

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

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