GPT
C

codet5-small

קוד פתוח

Salesforceapache-2.02022-03-02

  • transformers
  • pytorch
  • t5
  • text2text-generation
  • codet5

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

  • 512טוקנים בהקשר
  • 232 MBמשקל הקבצים
  • 13,405הורדות בחודש
  • 81לייקים

מה זה

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

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

מתאים ל

  • בסיס לכוונון זיהוי באגים

    אימון ייעודי על נתוני תקלות בקוד, שמתאים למודל הודות לאימון המקדים שמבדיל בין שמות מזהים.

  • סיכום פונקציות קצרות

    הפקת שורת תיעוד מקטע קוד לאחר fine-tuning, בלי לחרוג ממגבלת 512 הטוקנים.

  • הסקה חסכונית על מעבד

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

איפה זה נופל

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

שאלות
נפוצות

האם אפשר להשתמש במודל הזה ישירות כדי לקבל השלמות קוד ב־IDE?

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

איזו חומרה צריך כדי לאמן או להריץ אותו?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="Salesforce/codet5-small")
print(pipe("שלום"))

הרישיון

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

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

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