GPT
H

humanevalpack

קוד פתוח

bigcodemit2023-03-29

  • code

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

  • 11,882הורדות בחודש
  • 92לייקים

מה זה

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

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

מתאים ל

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

    בדיקת ביצועי ייצור קוד בפייתון, ג'אווהסקריפט, ג'אווה, גו, סי פלוס פלוס וראסט באותו מבחן.

  • בדיקת יכולות תיקון באגים

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

  • אימון מודלים מבוסס הנחיות

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

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

מאיפה הנתונים האלה הגיעו?

החלק של פייתון מועתק ישירות מהמאגר HumanEval של OpenAI. שאר השפות תורגמו על ידי בני אדם ועברו ניקוי נוסף על בסיס פרויקט HumanEval-X.

מה ההבדל בינו לבין HumanEval המקורי?

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

איך טוענים

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

from datasets import load_dataset

ds = load_dataset("bigcode/humanevalpack")

הרישיון

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

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

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