GPT
U

UltraData-Code

קוד פתוח

openbmbapache-2.02026-09-05

  • llm
  • code
  • code-pretraining
  • algorithmic-code
  • synthetic-data

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

  • 1,102הורדות בחודש
  • 57לייקים

מה זה

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

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

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

מתאים ל

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

    אימון מודלי שפה על L2 ו־L3 לשיפור יכולות פתרון בעיות וייצור קוד ב־11 שפות.

  • סינון קוד לפי ספי איכות

    שימוש בציוני האיכות והאלגוריתמיקה ב־L2 כדי לבודד דוגמאות קוד ברמה גבוהה בלבד.

  • אימון על משימות תכנות

    שימוש ברשומות L3 לאימון מודל על פתרון בעיות עם ניתוח מלא, קוד ובדיקות.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

איך נוצרו הנתונים בחלק L3?

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

האם אפשר להעלות עותק של המאגר לפלטפורמה אחרת?

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

איך טוענים

המאגר כולל 1,131 קבצים והיקף של מאות מיליארדי טוקנים, לכן לא מורידים אותו ישירות לזיכרון בלי אסטרטגיית אחסון והזרמה. אין דרישה לאישור גישה ידני בעמוד. בחלק של L2 כדאי לשים לב לשדות algo_rel_score ו־quality_score כדי לחתוך את המידע לפי סף האיכות הרצוי, ובחלק של L3 לעבוד עם task ו־solution שמחזיקים את התרגיל והקוד שנבנה עבורו.

from datasets import load_dataset

ds = load_dataset("openbmb/UltraData-Code")

הרישיון

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

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

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