GPT
S

swallow-code

קוד פתוח

tokyotech-llmllama3.32025-05-01

  • code

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

  • 1,582הורדות בחודש
  • 67לייקים

מה זה

המאגר כולל קוד פייתון שמקורו ב־The-Stack-v2 ועבר סינון בארבעה שלבים. תחילה הוסרו שגיאות תחביר בעזרת compile, מה שפסל 9.7% מהדוגמאות והוריד את הכמות מ־41 מיליון ל־37 מיליון. לאחר מכן הופעל pylint עם סף ציון של 7.0 וקנס מיוחד על הערות, שלב שסינן עוד 34.3% והשאיר 24.1 מיליון רשומות.

משם הקוד עבר לשני שלבי שכתוב שבוצעו באמצעות Llama-3.3-70B-Instruct. השלב הראשון כפה את כללי העיצוב של גוגל, והשלב השני הפך את הקטעים לעצמאיים, ייעל אלגוריתמים והפך קוד טריוויאלי לקטעים לימודיים יותר. ההערות בקוד מוגבלות לאנגלית וליפנית בלבד.

התוצר הסופי המלא יושב בתיקיית ablation תחת exp11-scor בקובצי JSONL. בנוסף אליו, החוקרים שחררו את נתוני שלבי הביניים של הניסויים, כך שניתן לבחון את הקוד בכל נקודת סינון לאורך התהליך.

מתאים ל

  • אימון מקדים של מודלי שפה

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

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

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

  • בדיקת השפעת שכתוב נתונים

    השוואת שלבי הביניים השונים לבחינת השפעת הסינון והשכתוב על תוצאות אימון.

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

המאגר כפוף לתנאי Llama 3.3 Community License ולרישיון של The-Stack-v2. שימוש מסחרי מותר תחת תנאי הרישיון של מטא, הכוללים מגבלות מסוימות על היקף משתמשים ודרישות ייחוס. אם המוצר שלכם מגיע להיקפי שימוש ענקיים, תצטרכו לבדוק את תנאי הסף של מטא.

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

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

במה הוא שונה מדאטהסטים רגילים של The-Stack-v2?

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

איזה חלק במאגר מייצג את הגרסה הסופית?

הגרסה הסופית שכוללת את כל שלבי הסינון והשכתוב יושבת בתיקיית ablation/exp11-scor. שאר התיקיות מכילות תוצרי ביניים מניסויי ההשוואה של החוקרים. אם אתם רוצים את הנתונים המעובדים ביותר, התמקדו ב־exp11.

איך טוענים

אתם מושכים את הנתונים ישירות מקובצי JSONL שמחולקים לפי שלבי הניסוי בתיקיית ablation, ללא צורך באישור גישה ידני. הגרסה הסופית נמצאת תחת exp11-scor ומכילה שמונה קבצים, לצד שלבים קודמים כמו exp10 שכולל חמישה קבצים. לפני שאתם מריצים טעינה כדאי לדעת שאנטיוירוס ClamAV זיהה התרעה על סוס טרויאני באחד מקובצי הניסוי של exp10, וקובץ אחר הוסר עקב חשש לקוד לא בטוח, כך שמומלץ לבודד את סביבת העבודה בזמן עיבוד הקבצים.

from datasets import load_dataset

ds = load_dataset("tokyotech-llm/swallow-code")

הרישיון

המאגר מופץ תחת רישיון Llama 3.3 Community License, והשימוש בו כפוף גם לתנאי הרישיון של The-Stack-v2. הרישיון מתיר שימוש מסחרי ומחקר, אך מטיל מגבלות ספציפיות שמקורן במטא, כולל דרישות ייחוס ומגבלת היקף משתמשים חודשיים עבור מוצרים מסחריים גדולים. מודל שתאמנו על הנתונים יושפע ישירות מתנאי הרישוי האלה.

  • שימוש מסחרי עד 700 מיליון משתמשים
  • שינוי הקוד
  • חובת ייחוס

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