GPT
M

MultiPL-E

קוד פתוח

nuprlmit2022-09-28

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

  • 46,936הורדות בחודש
  • 71לייקים

מה זה

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

הקונפיגורציות מחולקות לפי שילוב של המקור ושפת התכנות, החל משפות מיינסטרים כמו ג'אווה, גו, וסקריפט, ועד לשפות כמו לואה, רקט או אליקסיר. כל תת קבוצה מכילה סט בדיקה ייעודי, כשגרסאות HumanEval נעות סביב 154 עד 161 דוגמאות לכל שפה, וגרסאות MBPP מגיעות לסביבות 350 עד 397 דוגמאות בכל שפה.

מתאים ל

  • בנצ'מרק רב לשוני

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

  • אימות קוד עצמאי

    הרצת בדיקות היחידה המובנות על הפלטים כדי למדוד pass@k אמיתי.

  • השוואת ביצועי שפות

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

איפה זה נופל

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

שאלות
נפוצות

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

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

כמה שוקל הדאטהסט והאם ההורדה כבדה?

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

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

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

איך הנתונים נאספו והוכנו למאגר?

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

איך טוענים

טוענים את המאגר ישירות דרך ספריית datasets עם ציון הקונפיגורציה הרצויה, למשל humaneval-go או mbpp-rs. המאגר פתוח לחלוטין ואינו דורש אישור גישה מראש. כל תצורה מגיעה רק עם פיצול מבחן (test) ושוקלת פחות מחצי מגה בייט, כך שזמן ההורדה אפסי. השדות המרכזיים לעבודה הם prompt שמוזן למודל, tests שמריצים כדי לבדוק את הפלט, ו־stop_tokens שקריטיים לחיתוך נכון של התשובה.

from datasets import load_dataset

ds = load_dataset("nuprl/MultiPL-E")

הרישיון

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

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

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