GPT
I

incoder-1B

קוד פתוח

facebookcc-by-nc-4.02022-04-08

  • transformers
  • pytorch
  • xglm
  • text-generation
  • code

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

  • 2,048טוקנים בהקשר
  • 2.4 GBמשקל הקבצים
  • 8,512הורדות בחודש
  • 40לייקים

מה זה

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

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

מתאים ל

  • השלמת קוד מקומית

    רץ מקומית בלי חיבור לרשת ומשלים שורות בתוך פונקציה בזמן אמת.

  • מילוי פונקציות חסרות

    יודע לקבל את תחילת הקובץ ואת סופו ולכתוב את הקוד שבאמצע.

  • עבודה על פייתון ו־JS

    מתאים לשפות אלו כי עליהן הוא ראה את רוב המידע באימון.

איפה זה נופל

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

אותה משפחה

incoder יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם אפשר להשתמש בו בתוך תוסף מסחרי ל־IDE?

לא. הרישיון אוסר שימוש מסחרי מכל סוג, כך שאי אפשר למכור שירות או תוסף שמבוסס עליו.

איזה כרטיס מסך צריך בשביל להריץ אותו?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="facebook/incoder-1B")
print(pipe("שלום"))

הקבצים

8 קבצים במאגר, 2.4 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

  • שינוי הקוד
  • חובת ייחוס
  • שימוש מסחרי: לא

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