GPT
O

OpenCodeInterpreter-DS-6.7B

קוד פתוח

m-a-papache-2.02024-02-19

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

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

  • 6.7Bפרמטרים
  • 16,384טוקנים בהקשר
  • 25.1 GBמשקל הקבצים
  • 426הורדות בחודש

מה זה

מדובר בהתאמה של deepseek-coder-6.7b-base שמיועדת לא רק לכתוב סקריפטים, אלא גם לקבל משוב מהרצת הקוד ולשפר את הפלט בסבב נוסף. במקום להסתפק בניחוש תחבירי עיוור, הוא תוכנן להשתלב בלולאה שבה מריצים את הקוד, מחזירים לו את השגיאה, והוא מתקן בהתאם.

התוצאות במבחנים מראות בדיוק את הנקודה הזו. בבנצ'מרק HumanEval המודל מקבל 76.2 נקודות בריצה רגילה, אבל קופץ ל־81.1 כשמאפשרים לו סבב יחיד של תיקון מבוסס הרצה, ומגיע עד 89.7 כשמשלבים משוב אנושי סינתטי. ב־MBPP השיפור מורגש אפילו יותר, עם זינוק מ־73.9 ל־82.7 אחרי משוב הרצה. המספרים האלה אומרים שכדי להוציא ממנו תוצאות טובות באמת, אתם חייבים להריץ את הקוד שלו בפועל ולתת לו את השגיאות חזרה.

מתאים ל

  • סביבות פיתוח עם בדיקות

    מתאים לחיבור לסביבה שמריצה unit tests ומחזירה שגיאות ישירות למודל כדי שיתקן את עצמו בלולאה.

  • עוזר מקומי למשימות פייתון

    פתרון טוב למי שרוצה חלופה מקומית ל־Code Interpreter על חומרה סבירה של 16 עד 24 ג'יגה זיכרון וידאו.

  • עיבוד והסבת קוד באנגלית

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

האם המודל מריץ את הקוד בעצמו בתוך המחשב שלי?

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

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

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

מה ההבדל בינו לבין המודל הבסיסי של DeepSeek?

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

איך מריצים

טעינת המודל נעשית ישירות דרך ספריית transformers בפייתון עם AutoModelForCausalLM ודיוק bfloat16. הקבצים שוקלים כ־25.1 ג'יגה-בייט, כך שתצטרכו כרטיס מסך עם לפחות 16 עד 24 ג'יגה-בייט זיכרון וידאו ייעודי כדי להחזיק אותו בזיכרון ולהריץ הסקת מסקנות בצורה חלקה, במיוחד אם מנצלים את חלון ההקשר המלא שמגיע ל־16,384 טוקנים.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="m-a-p/OpenCodeInterpreter-DS-6.7B")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

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