GPT
C

cruxeval

קוד פתוח

cruxeval-orgmit2023-11-28

  • code-generation

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

  • 15,413הורדות בחודש
  • 21לייקים

מה זה

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

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

מתאים ל

  • הערכת ביצועי מודל

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

  • בדיקת הסקת קלט

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

  • השוואת מודלים פתוחים

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

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

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

הפונקציות והקלטים נוצרו בצורה סינתטית על ידי המודל Code Llama 34B. לאחר מכן הריצו את הקוד כדי לתעד את הפלטים, וסיננו בעיות ארוכות או כבדות חישובית.

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

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

איך טוענים

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

from datasets import load_dataset

ds = load_dataset("cruxeval-org/cruxeval")

הרישיון

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

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

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