GPT
C

codegeex4-all-9b

קוד פתוח

zai-orgother2024-07-05

  • transformers
  • safetensors
  • chatglm
  • glm
  • codegeex

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

  • 9.4Bפרמטרים
  • 17.5 GBמשקל הקבצים
  • 13,924הורדות בחודש
  • 273לייקים

מה זה

המודל הזה אומן בהמשך ישיר ל־GLM-4-9B, במטרה ברורה להפוך לכלי עבודה ייעודי לפיתוח. הוא כולל תמיכה בהשלמת קוד באמצע קובץ, הרצת פקודות וקריאה לפונקציות, מענה על שאלות ברמת הפרויקט כולו וחיפוש ברשת, כשהוא מתמקד בשפות אנגלית וסינית.

במבחני הביצועים הוא עוקף מודלים גדולים ממנו בהרבה. ב־HumanEval הוא מקבל ציון של 82.3, תוצאה גבוהה יותר מ־Llama3-70B ומ־Codestral-22B. עם זאת, במבחן MBPP הוא נעצר על 75.7, שזה נמוך משאר המתחרים בטבלה. מדובר בפשרה מוכרת, המודל חזק מאוד בהבנת לוגיקה מורכבת של קוד, אבל קצת פחות יציב בבעיות תכנות בסיסיות וקצרות.

מתאים ל

  • השלמת קוד באמצע קובץ

    הוא מציע תבנית מובנית לחלוקת הקוד לחלק עליון ותחתון, מעולה לתוספי IDE עצמאיים.

  • תחקור פרויקט עם חלון 128K

    התמיכה באורך רצף עצום מתאימה לשאלות ותשובות על מאגרי קוד שלמים בלי לאבד הקשר.

  • עבודה בסביבת קוד וכלים

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

איפה זה נופל

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

החיסרון הבולט מופיע במבחני LCB ו־CRUXEval-O, שם הוא מפסיד ל־Codestral-22B בפער ברור של 28.5 מול 35.3, ו־47.1 מול 51.3. המשמעות בפועל היא שהוא מתקשה יותר במעקב אחרי מצב ריצה של קוד ובפתרון בעיות אלגוריתמיות תחרותיות, לצד הדרישה להשתמש בגרסאות תוכנה ישנות יחסית.

שאלות
נפוצות

האם אפשר להריץ אותו על מחשב נייד רגיל?

לא. הקבצים שוקלים 17.5 גיגה בייט ודורשים כרטיס גרפי מקצועי עם לפחות 24 גיגה זיכרון כדי לרוץ בצורה שמישה. מחשב בלי GPU חזק יקרוס מחוסר זיכרון או יזחל במהירות בלתי אפשרית לעבודה.

למה הוא דורש גרסאות ספציפיות של transformers?

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

איך מריצים

המשקל הכולל של הקבצים מגיע ל־17.5 גיגה בבייט בפורמט bfloat16. כדי להעלות אותו לזיכרון תצטרכו כרטיס מסך עם לפחות 24 גיגה בייט VRAM, כמו RTX 3090 או A10, במיוחד אם תרצו לנצל את ההקשר הארוך שלו שמגיע עד 128K.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="zai-org/codegeex4-all-9b")
print(pipe("שלום"))

הרישיון

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

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