GPT
K

KernelLLM

קוד פתוח

facebookother2025-04-14

  • transformers
  • safetensors
  • llama
  • text-generation
  • conversational

המודל הזה לוקח קוד PyTorch וממיר אותו לקרנלים של Triton לריצה מהירה על מעבדים גרפיים. הוא מיועד למי שרוצה ביצועי GPU גבוהים בלי לכתוב קרנלים בעצמו.

  • 8Bפרמטרים
  • 131,072טוקנים בהקשר
  • 15.0 GBמשקל הקבצים
  • 114הורדות בחודש

מה זה

מטא לקחו את Llama 3.1 8B ואימנו אותו מחדש על כ־25,000 זוגות של קוד PyTorch ותרגום מקביל ב־Triton. במקום מודל כללי שיודע לכתוב הכל, המטרה כאן היא משימה צרה: לקבל מודול קיים ב־Python ולהחזיר קוד Triton שעושה את אותה פעולה על ה־GPU.

במדד KernelBench-Triton ברמה 1, המודל השיג ציון של 20.2 בריצה בודדת. זה עוקף מודלים ענקיים כמו GPT-4o שעומד על 15 ו־DeepSeek V3 שעומד על 16. כשמייצרים כמה אפשרויות ובודקים אותן מול טסטים, הציון מטפס ל־51.8 בעשר דגימות ו־57.1 בעשרים דגימות, שזה כבר מעל ריצה בודדת של DeepSeek R1.

מתאים ל

  • המרת שכבות רשת ל־Triton

    תרגום פונקציות ומודולים מ־PyTorch לקרנלים מותאמים אישית ב־Triton לחסכון בזמן פיתוח.

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

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

  • בסיס להנדסת ביצועי GPU

    שילוב בתוך צינור בדיקות אוטומטי לבדיקת חלופות קוד מהירות על חומרת Nvidia.

איפה זה נופל

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

שאלות
נפוצות

האם המודל מייצר קוד תקין בניסיון ראשון?

לא תמיד. בניסיון יחיד המודל פותר כ־20 אחוז מהמקרים ברמה הבסיסית של המבחן, והוא נוטה לייצר שגיאות תחביר וקריאות לא נכונות. מומלץ להריץ אותו בתצורת pass@k של 10 או 20 דגימות ולבדוק כל תוצאה מול טסט מספרי.

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

המודל אומן באופן ממוקד על תרגום קוד PyTorch ל־Triton. היכולת שלו לעקוב אחרי הוראות כלליות מוגבלת, ולמשימות תכנות כלליות מודלים רגילים יעשו עבודה טובה בהרבה.

איך מריצים

כדי להריץ אותו במשקל מלא של 15 גיגה־בייט בדיוק bfloat16, צריך כרטיס מסך עם לפחות 16 עד 24 גיגה־בייט זיכרון גרפי, כמו RTX 3090 או RTX 4090. המודל רץ ישירות מתוך ספריית transformers יחד עם accelerate, torch ו־triton. הקהילה כבר יצרה לו גרסאות מכווצות בפורמט GGUF, כך שאפשר להריץ גרסאות קלות יותר על חומרה חלשה יותר.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="facebook/KernelLLM")
print(pipe("שלום"))

הרישיון

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

הרישיון המלא בעמוד המודל ↗