GPT
S

self-instruct-starcoder

קוד פתוח

codeparrotbigscience-openrail-m2023-05-22

  • code

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

  • 983הורדות בחודש
  • 64לייקים

מה זה

המאגר מבוסס על מתודולוגיית self-instruct, שבה מודל שפה מייצר הוראות ותשובות מתוך דוגמאות בסיס ראשוניות. היוצרים השתמשו במשימות מתוך Code Alpaca יחד עם 20 הוראות אלגוריתמיות נוספות, ושינו את הפרומפט כך שהקלט וההוראה חוברו יחד כדי למנוע יצירת מקרי בדיקה במקום בעיות אמיתיות.

הקובץ הגולמי כולל 5,003 רשומות, וממנו נגזרו שלושה פיצולים מסוננים. הפיצול compile כולל 3,549 דוגמאות שבהן קוד הפייתון מתקמפל בהצלחה. הפיצול curated כולל 771 רשומות שעברו סינון עקביות, שבו המודל נדרש לשחזר את ההוראה מתוך הפתרון והתוצאה הושוותה בעזרת Sentence-BERT. הפיצול unique מכיל רק 308 דוגמאות שנותרו לאחר סינון כפילויות סמנטיות אגרסיבי ברף של 0.5 ומעלה.

מתאים ל

  • אימון מודל לעקיבה אחרי פקודות

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

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

    בדיקת יכולת של מודלים לייצר תחביר פייתון תקין על בסיס פיצול compile.

  • מחקר על דאטה סינתטי

    ניתוח יעילות של סינון מבוסס self-consistency מול סינון כפילויות סמנטי.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

לא. המאגר מוגדר כדובר אנגלית בלבד, וכל ההוראות ומשימות התכנות נכתבו בשפה זו.

באיזה פיצול כדאי להשתמש בפועל?

לא מומלץ להשתמש בפיצול raw בגלל ריבוי כפילויות. הפיצול compile מתאים אם צריכים קוד פייתון רץ בלבד, ו־curated עדיף אם מחפשים התאמה גבוהה יותר בין השאלה לתשובה, למרות שהוא מכיל רק 771 דוגמאות.

מה ההבדל בין המאגר הזה ל־Code Alpaca?

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

איך טוענים

טוענים את הנתונים ישירות בספריית datasets עם השם codeparrot/self-instruct-starcoder. אין צורך באישור גישה מראש. הקבצים שמורים בפורמט parquet ומחולקים לארבעה פיצולים: raw, compile, curated, ו־unique. כל רשומה כוללת את ההוראה, הפלט שנוצר, מילון של עשר ההוראות הדומות ביותר שנוצרו לפניה, ומדד דמיון ממוצע.

from datasets import load_dataset

ds = load_dataset("codeparrot/self-instruct-starcoder")

הרישיון

הרישיון הוא bigscience-openrail-m. הוא מתיר שימוש מסחרי ומחקר, אך מטיל הגבלות שימוש ספציפיות על יישומים מסוימים, בעיקר סביב פגיעה בזכויות ושימושים מזיקים. הרישיון דורש שכל מודל או תוצר שמופץ ומבוסס עליו יכלול את אותן מגבלות שימוש של OpenRAIL.

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