GPT
C

CodeFeedback-Filtered-Instruction

קוד פתוח

m-a-papache-2.02024-02-26

  • code

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

  • 24,643הורדות בחודש
  • 208לייקים

מה זה

המאגר מבוסס על איחוד של ארבעה מקורות מוכרים: Magicoder-OSS-Instruct, תת-הקבוצה של פייתון מתוך ShareGPT, Magicoder-Evol-Instruct ו־Evol-Instruct-Code. במקור נאספו כ־287 אלף הוראות קוד שונות, והמטרה הייתה לצמצם אותן כדי להיפטר מהחלקים הפשוטים או החזרתיים מדי.

כדי לבצע את הסינון, החוקרים העבירו את השאלות יחד עם התשובות שלהן דרך המודל Qwen-72B-Chat, שנתן לכל צמד ציון מורכבות בין 1 ל־5. רק דוגמאות שקיבלו ציון 4 או 5 נשארו במאגר, מה שהוביל לסינון של קרוב למחצית מהרשומות. המאגר מכיל הוראות בסיבוב יחיד (single-turn), ולמרות שבחלק משלבי המחקר הם השתמשו רק בשאלות, בקובץ המפורסם כאן שמרו גם את התשובות המקוריות כדי לחסוך עבודה.

מתאים ל

  • אימון הוראות מורכבות

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

  • הערכת ביצועי קוד

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

  • סינון והעשרת דאטה

    שימוש ברשומות המסוננות כבסיס ליצירת נתונים סינתטיים חדשים ומורכבים יותר.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

איך נאספו וסוננו הרשומות?

החוקרים אספו 287 אלף שאילתות מארבעה מאגרי קוד פתוחים כמו Magicoder ו־ShareGPT. לאחר מכן השתמשו במודל Qwen-72B-Chat כדי לדרג את מורכבות השאלות מ־1 עד 5, ושמרו רק את אלו שקיבלו ציון 4 או 5.

מה ההבדל בין המאגר הזה למאגרי Magicoder המקוריים?

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

איך טוענים

הנתונים מגיעים בקובץ jsonl בשם CodeFeedback-Filtered-Instruction.jsonl, לצד קובץ README. אין צורך לבקש אישור גישה מיוחד, אפשר למשוך ישירות עם ספריית datasets של Hugging Face באמצעות ציון מזהה המאגר m-a-p/CodeFeedback-Filtered-Instruction. הקובץ מכיל צמדים של הוראות ותשובות בפורמט טקסטואלי רגיל. לפני שטוענים אותו לאימון, קחו בחשבון שמדובר בהוראות בודדות בלבד, כך שאם אתם בונים ממשק שיחה מתמשך תצטרכו להתאים את מבנה הנתונים בהתאם.

from datasets import load_dataset

ds = load_dataset("m-a-p/CodeFeedback-Filtered-Instruction")

הרישיון

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

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

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