GPT
C

codet5-base

קוד פתוח

Salesforceapache-2.02022-03-02

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

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

  • 512טוקנים בהקשר
  • 851 MBמשקל הקבצים
  • 15,761הורדות בחודש
  • 135לייקים

מה זה

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

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

מתאים ל

  • זיהוי כפילויות ופגמים

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

  • סיכום ותיעוד קוד

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

  • תרגום בין שפות תכנות

    האימון על מגוון שפות, כולל תוספת C ו־CSharp, מאפשר להמיר תחביר של שפה אחת לאחרת.

איפה זה נופל

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

שאלות
נפוצות

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

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

מה נותן האימון הייעודי על מזהים?

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

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

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