GPT
A

AI-CUDA-Engineer-Archive

קוד פתוח

SakanaAIcc-by-4.02025-02-12

  • code

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

  • 126,339הורדות בחודש
  • 225לייקים

מה זה

המאגר מכיל קוד CUDA שנוצר על ידי מערכת סוכנים עבור משימות מתוך KernelBench, במטרה לשפר זמני ריצה של פעולות פייתורץ'. כל רשומה כוללת את קוד הקרנל שנכתב, קוד ייחוס מקורי בפייתורץ', וזמני ריצה שנמדדו בפועל מול פייתורץ' רגיל ומול גרסת הקומפילציה שלו. לצד הזמנים, הרשומות מחזיקות בדיקות נכונות של הפלט, הודעות שגיאה אם הריצה נכשלה, ומדדי פרופיילינג מפורטים שהופקו באמצעות כלים כמו NCU, Torch Profile ו־Clang-Tidy.

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

מתאים ל

  • אימון מודלים לכתיבת קרנלים

    אימון מודלי קוד ליצירת אופטימיזציות CUDA יעילות ישירות מתוך קוד פייתורץ'.

  • אופטימיזציה מבוססת העדפה

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

  • תיקון שגיאות אוטונומי

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

איפה זה נופל

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

שאלות
נפוצות

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

כן, הרישיון הוא cc-by-4.0 ולכן מותר להשתמש בנתונים לפיתוח מוצרים מסחריים ואימון מודלים לכל מטרה. התנאי היחיד הוא מתן קרדיט ברור ליוצרי המאגר ב־SakanaAI בהתאם לדרישות הרישיון. אין חובה לחשוף את קוד המקור של המודל שתאמנו.

האם יש במאגר טקסט בעברית?

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

איך הנתונים נאספו ונבדקו?

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

האם אפשר להשתמש בכל הקרנלים כמו שהם?

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

איך טוענים

טוענים את הנתונים ישירות דרך ספריית datasets באמצעות הפקודה load_dataset עם המזהה SakanaAI/AI-CUDA-Engineer-Archive. אין צורך באישור גישה או בהרשמה מוקדמת, והמאגר פתוח להורדה מיידית כקובצי פארקט. שדות המפתח שחובה לבדוק בכל שורה הם Correct כדי לסנן קרנלים שפלטו תוצאה שגויה, CUDA_Speedup_Compile להשוואת המהירות מול מודל מקומפל, ו־Error אם אתם מחפשים דוגמאות לתיקון שגיאות.

from datasets import load_dataset

ds = load_dataset("SakanaAI/AI-CUDA-Engineer-Archive")

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • חובת ייחוס

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