GPT
C

codegen2-16B_P

קוד פתוח

Salesforceapache-2.02023-04-26

  • transformers
  • pytorch
  • codegen
  • text-generation
  • custom_code

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

  • 2,048טוקנים בהקשר
  • 59.9 GBמשקל הקבצים
  • 25,491הורדות בחודש
  • 45לייקים

מה זה

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

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

מתאים ל

  • השלמת קוד באמצע קובץ

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

  • שרת מקומי ברשת סגורה

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

  • המרת הערות לקוד פייתון

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל מבין עברית או יכול לייצר הערות בעברית?

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

איך משתמשים ביכולת של השלמת אמצע הקוד?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="Salesforce/codegen2-16B_P")
print(pipe("שלום"))

הרישיון

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

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

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