GPT
P

Phind-CodeLlama-34B-v1

קוד פתוח

Phindllama22023-08-25

  • transformers
  • pytorch
  • llama
  • text-generation
  • code llama

גרסת קוד פתוח של 34 מיליארד פרמטרים שעקפה את GPT-4 במבחן HumanEval עם 67.6 אחוז הצלחה. פתרון מתאים למי שחייב מודל תכנות עצמאי על תשתית מקומית.

  • 16,384טוקנים בהקשר
  • 62.9 GBמשקל הקבצים
  • 99הורדות בחודש
  • 320לייקים

מה זה

מדובר באימון ישיר ומלא על בסיס CodeLlama-34B, בלי LoRA, שבוצע באמצעות דאטהסט פנימי של פיינד עם כ־80 אלף שאלות ותשובות תכנות. הציון שלו במבחן HumanEval מגיע ל־67.6 אחוז pass@1, תוצאה שמציבה אותו מעל ה־67 אחוז המקוריים של GPT-4 במבחן הזה. כדי למנוע זליגת נתונים מהמבחן לאימון, הם יישמו את שיטת הניקוי של OpenAI.

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

מתאים ל

  • כתיבת פונקציות עצמאית

    יצירת קוד נקי לאלגוריתמים ומבני נתונים לפי הנחיה בודדת, עם תוצאות שעוקפות את GPT-4 ב־HumanEval.

  • פתרון בעיות תכנות

    המודל אומן על 80 אלף זוגות של בעיות ופתרונות קוד ברמה גבוהה במקום השלמת קוד פשוטה.

  • סביבת פיתוח מקומית ומאובטחת

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

האם המודל מתאים לשיחה בסגנון צ'אט?

לא. המודל אינו chat-tuned, והמפתחים מציינים במפורש שלא להשתמש בפורמט השיחה של Llama. כדי לקבל תוצאה תקינה כותבים את הבקשה ומסיימים אותה בירידת שורה ונקודתיים.

למה לבחור בגרסה הזו ולא בגרסה v2?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="Phind/Phind-CodeLlama-34B-v1")
print(pipe("שלום"))

הרישיון

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

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

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