GPT
C

codet5-large

קוד פתוח

Salesforcebsd-3-clause2022-07-06

  • transformers
  • pytorch
  • t5
  • text-generation
  • text-generation-inference

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

  • 512טוקנים בהקשר
  • 1.4 GBמשקל הקבצים
  • 1,341הורדות בחודש
  • 74לייקים

מה זה

מדובר בארכיטקטורת encoder-decoder שמבוססת על T5, שאומנה על שש שפות עיקריות ממאגר CodeSearchNet: פייתון, ג'אווה, ג'אווהסקריפט, פי-אייץ'-פי, רובי ו־Go. במקום לחזות רק את המילה הבאה כמו מודלי שפה רגילים, הוא אומן למלא מקטעים חסרים בתוך הקוד, מה שהופך אותו למדויק יותר במשימות השלמה מובנות וממוקדות.

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

מתאים ל

  • השלמת מקטעי קוד חסרים

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

  • עבודה במערכות ללא אינטרנט

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

  • תיקון תחביר ממוקד

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

איפה זה נופל

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

שאלות
נפוצות

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

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

האם 512 טוקנים מספיקים לפיתוח אמיתי?

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

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

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