GPT
C

codeparrot

קוד פתוח

transformersbookרישיון לא דווח2022-03-02

  • python
  • code

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

  • 993הורדות בחודש
  • 62לייקים

מה זה

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

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

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

מתאים ל

  • אימון מודלי קוד מאפס

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

  • מחקר על דה דופליקציה

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

  • ניתוח רישיונות קוד פתוח

    בדיקת התפלגות הרישיונות ושכיחות תבניות קוד שונות בריפוזיטורים ציבוריים.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

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

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

למה להעדיף את הגרסה הזו ולא את codeparrot-clean?

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

איך טוענים

טוענים את המאגר ישירות דרך הספרייה הרגילה של Hugging Face לפי המזהה transformersbook/codeparrot. המאגר פתוח לציבור ואינו דורש אישור גישה מיוחד, אך הנפח משמעותי מאוד: הוא שוקל כ־50 גיגהבייט במצב מכווץ וכ־180 גיגהבייט לאחר פריסה. הנתונים מחולקים בין 186 קובצי json.gz, ולכן מומלץ להזרים אותם במקום להוריד הכל לדיסק מקומי, אלא אם יש לכם מספיק שטח אחסון מהיר.

from datasets import load_dataset

ds = load_dataset("transformersbook/codeparrot")

הרישיון

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

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