GPT
C

CodeLlama-70b-Instruct-hf

קוד פתוח

codellamallama22024-01-29

  • transformers
  • pytorch
  • safetensors
  • llama
  • text-generation

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

  • 69Bפרמטרים
  • 4,096טוקנים בהקשר
  • 257 GBמשקל הקבצים
  • 503הורדות בחודש

מה זה

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

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

מתאים ל

  • עוזר פיתוח מקומי מאובטח

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

  • מחולל בדיקות וקוד שלם

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

  • הסבר ופירוק קוד מורכב

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

איפה זה נופל

החיסרון המיידי הוא התמיכה המוגבלת בחלון ההקשר. למרות שחלק ממודלי הסדרה פורסמו עם הקשרים ענקיים, הגרסה הזו לא תומכת ב־100 אלף טוקנים אלא בהקשר בסיסי של 4,096 טוקנים בלבד, מה שמקשה מאוד על ניתוח פרויקטים שלמים או קבצים עמוסים. בנוסף, המודל אינו תומך בהשלמת קוד פנימית (infilling), אומן רשמית רק על אנגלית וקוד, והיצרן מודה בפירוש שהוא עלול לייצר קוד שגוי או פלט לא צפוי שמחייב בדיקות בטיחות עצמאיות.

אותה משפחה

CodeLlama יצא ב־8 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם המודל מבין הוראות בעברית?

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

למה הפורמט של השיחה לא עובד לי כמו בגרסאות 13B או 34B?

דגם ה־70B דורש מבנה שיחה ייחודי עם מפרידי שלבים ספציפיים. חובה להשתמש ב־apply_chat_template של הטוקנייזר ולא להזין טקסט רגיל.

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="codellama/CodeLlama-70b-Instruct-hf")
print(pipe("שלום"))

הקבצים

69 קבצים במאגר, 257 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

  • שימוש מסחרי עד 700 מיליון משתמשים
  • שינוי הקוד
  • חובת ייחוס

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