GPT
C

code_bagel

קוד פתוח

Third-Spaceapache-2.02024-05-10

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

  • 376הורדות בחודש
  • 100לייקים

מה זה

המאגר מציע יותר מ־3.2 מיליון שורות של נתוני קוד והוראות, עם מגבלה של עד 10,000 תוקנים לשורה. מדובר בהעלאה לא רשמית של פרויקט מקורי מאת rombodawg, שנבנה בהשראת bagel של jondurbin. המבנה מבוסס על פורמט alpaca, כאשר רוב הדוגמאות כוללות הוראה ופלט מתאים.

התוכן נוצר מאיחוד של 12 מאגרי קוד קיימים, ביניהם tiny-codes-alpaca, glaive-code-assistant-v3, MathInstruct, dolphin-coder, Magicoder ונתוני אבטחה מ־Code_Vulnerability_Security_DPO. תהליך העיבוד כלל חילוץ הנתונים בעזרת סקריפטים שנכתבו ב־Meta.ai, איחודם לקובץ מרכזי, והסרת כפילויות וסינוני בטיחות באמצעות קוד שנוצר ב־Claude.ai. החלק של glaive-function-calling-v2 הושאר עם מנגנוני הסירוב שלו כדי לשמר יכולת אימות בקריאות לפונקציות.

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

מתאים ל

  • אימון מקדים למודל קוד

    היקף של 800 מיליון תוקנים מתאים להמשך אימון בסיסי של מודלי שפה על קוד מגוון.

  • כוונון עדין למשימות פיתוח

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

  • אימון קריאה לפונקציות

    שילוב נתוני glaive מאפשר ללמד מודלים זיהוי מבנה וקריאה מדויקת לכלים חיצוניים.

איפה זה נופל

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

שאלות
נפוצות

האם מותר להשתמש במאגר לפיתוח מוצר מסחרי?

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

האם יש במאגר תמיכה בעברית?

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

איך נאספו ונוקו הנתונים בפועל?

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

מה ההבדל בין המאגר הזה למאגרים אחרים של קוד?

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

איך טוענים

המאגר כולל שלושה קבצים, כשהנתונים עצמם מגיעים בקובץ JSON בשם code_bagel_filtered-by-length.json. אין צורך בבקשת גישה מיוחדת, טוענים אותו ישירות דרך ספריית datasets או בקריאת JSON פשוטה בפייתון. כרטיס המודל כולל הפניה למחברת גוגל קולאב והנחיות להרצה על שרתי tensordock, אך אפשר לעבוד עם הקובץ בכל סביבת אימון סטנדרטית.

from datasets import load_dataset

ds = load_dataset("Third-Space/code_bagel")

הרישיון

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

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

הרישיון המלא ב־Hugging Face ↗