GPT
C

codegen-16B-mono

קוד פתוח

Salesforcebsd-3-clause2022-04-13

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

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

  • 2,048טוקנים בהקשר
  • 30.0 GBמשקל הקבצים
  • 183הורדות בחודש
  • 125לייקים

מה זה

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

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

מתאים ל

  • השלמת פונקציות בפייתון

    הוא אומן על 71.7B טוקנים של פייתון ויודע להמשיך קוד מתוך חתימת פונקציה והערות.

  • יצירת קוד מהערות באנגלית

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

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

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל מבין שפות תכנות נוספות מלבד פייתון?

הגרסה הזו עברה אימון ייעודי על BigPython לאחר אתחול מגרסת ה־Multi. אף על פי שבבסיסו יש ידע מוקדם, הוא מכוון ומיועד בעיקר לעבודה עם פייתון.

איך הכי נכון להעביר לו הנחיות?

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

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

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