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

GPT
L

lbpp

קוד פתוח

CohereLabsapache-2.02024-07-09

זהו מאגר של 162 בעיות תכנות מקוריות וקשות מהרגיל עם בדיקות יחידה. הוא מיועד להערכת מודלי קוד כתחליף מודרני למבחנים שנשחקו מדליפות.

  • 711הורדות בחודש
  • 31לייקים

מה זה

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

בגרסתו הראשונה המאגר כלל 162 משימות בפייתון מתוך מאמר של Matton ועמיתיו מ־2024. בגרסה המעודכנת הוא הורחב לחמש שפות נוספות: C++, Java, JavaScript, Rust ו־Go. רוב המשימות מקבילות ותורגמו בין השפות, אך חלקן ייחודיות לשפה מסוימת בגלל תכונות ייעודיות שנדרשו לפתרון.

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

מתאים ל

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

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

  • השוואת ביצועים רב לשונית

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

  • זיהוי דליפת נתונים

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

איפה זה נופל

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

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

שאלות
נפוצות

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

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

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

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

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

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

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

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

איך טוענים

המאגר מחולק לקובצי parquet לפי שפות וכולל רק split של test. אין צורך באישור גישה. אפשר לטעון שפה ספציפית או את כולן יחד דרך הספרייה הרגילה.

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

from datasets import load_dataset

ds = load_dataset("CohereLabs/lbpp")

הרישיון

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

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

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