GPT
C

code_generation_lite

קוד פתוח

livecodebenchcc2024-04-16

  • code
  • code generation

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

  • 115,086הורדות בחודש
  • 101לייקים

מה זה

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

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

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

מתאים ל

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

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

  • מדידת תיקון שגיאות

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

  • בדיקת זיהום נתונים

    השוואת הצלחת המודל על בעיות לפי תאריכי הפרסום שלהן לאורך ציר הזמן מ־2023 עד 2025.

איפה זה נופל

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

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

שאלות
נפוצות

האם המאגר מתאים לאימון מודל קוד חדש?

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

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

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

האם יש בעיות או הוראות בעברית?

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

מה ההבדל בין גרסה זו לגרסה הרגילה של המאגר?

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

איך טוענים

טוענים את המאגר ישירות דרך ספריית datasets באמצעות ציון הנתיב livecodebench/code_generation_lite. אין צורך לבקש אישור גישה מיוחד, והקבצים שמורים בפורמט jsonl.

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

from datasets import load_dataset

ds = load_dataset("livecodebench/code_generation_lite")

הרישיון

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

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