GPT
B

bigcodebench

קוד פתוח

bigcodeapache-2.02024-06-05

  • croissant
  • code

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

  • 93,459הורדות בחודש
  • 87לייקים

מה זה

כל רשומה כוללת מזהה משימה, פרומפטים בשתי תצורות שונות, פתרון קנוני, בדיקות יחידה מבוססות unittest ופירוט של הספריות והפונקציות הנדרשות. התצורה הראשונה מיועדת להשלמת קוד לפי docstring מובנה, והשנייה מבוססת על הוראות בשפה טבעית. המשימות כוללות בממוצע 5.6 מקרי בדיקה עם כיסוי של 99 אחוזים, ומשלבות עבודה עם 77 ספריות סטנדרטיות ו־62 ספריות צד שלישי.

המקור של הדוגמאות מבוסס על שאלות ממאגר ODEX שנאספו במקור מ־StackOverflow, ועברו הרחבה ויצירה מחדש באמצעות מודל GPT-4 מגרסת יוני 2023. תהליך הסינון והתיעוד כלל שילוב בין מודלים של שפה לבין מומחים אנושיים שבדקו את המשימות. אין כאן חלוקה לסט אימון ומבחן, וכל 1,140 המשימות נטענות כברירת מחדל ביחידה אחת.

מתאים ל

  • הערכת מודלי שפה לקוד

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

  • בחינת שימוש בכלים וספריות

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

  • אימון נוסף למשימות הנחיה

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

איפה זה נופל

הנתונים מתאימים אך ורק לפייתון מודרני מגרסה 3 ומעלה, והפרומפטים כתובים כולם באנגלית. אין פה מילה אחת בעברית או תמיכה בשפות תכנות אחרות כמו ג'אווה או C++. בנוסף, היוצרים מודים שיש משימות עם הוראות מוטות או בדיקות יחידה קשיחות מדי שלא משאירות מקום לפתרונות חלופיים. מכיוון שמדובר במשימות סינתטיות שנבנו בסיוע GPT-4 סביב גרסאות ישנות יחסית, ייתכן שמודלים חדשים כבר ראו חלק מהדוגמאות באימון שלהם.

שאלות
נפוצות

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

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

במה הוא שונה מ־HumanEval או MBPP?

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

האם יש במאגר משימות או טקסט בעברית?

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

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

יש בדיוק 1,140 משימות. כל משימה מגיעה עם קוד בדיקה מבוסס unittest בשדה test, שאותו אפשר להריץ ישירות מול הפלט שהמודל מייצר.

איך טוענים

טוענים את הנתונים ישירות דרך ספריית datasets של Hugging Face. המאגר פתוח לחלוטין, שוקל מעט מאוד כי הוא מכיל טקסט בלבד בקובצי Parquet, ולא דורש אישור גישה או מפתחות. אפשר לציין גרסאות ספציפיות כמו v0.1.4 בהורדה או להזרים את הנתונים ישירות כדי לקרוא דגימה בודדת בכל פעם. השדות המרכזיים לעבודה הם instruct_prompt או complete_prompt לצורך הזנת המודל, canonical_solution להשוואה, והשדה test להרצת בדיקות היחידה המלאות.

from datasets import load_dataset

ds = load_dataset("bigcode/bigcodebench")

הרישיון

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

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

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