GPT
D

deepseek-coder-6.7b-instruct

קוד פתוח

deepseek-aiother2023-10-29

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

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

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

מה זה

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

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

מתאים ל

  • השלמת קוד מקומית בתוך IDE

    מנצל את חלון 16K ומשימות מילוי החסרים כדי להשלים פונקציות מתוך הקשר של קבצים שלמים בפרויקט.

  • עוזר שיחה למפתחים באופליין

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

  • בדיקות וסקירת קוד פנימית

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

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

במה גרסת instruct שונה מגרסת base הרגילה?

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

איך מריצים

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

אם אין לכם חומרה ייעודית עם זיכרון כזה פנוי או אם אתם מתכננים לנצל את כל חלון ההקשר של 16K, צריכת הזיכרון תעלה עוד יותר. במצב כזה, או כשצריכים שירות יציב לעשרות מפתחים בו זמנית, עדיף להשתמש בנקודת קצה מנוהלת במקום להחזיק שרת יקר שרובו יעמוד ללא שימוש.

from transformers import pipeline

pipe = pipeline("text-generation", model="deepseek-ai/deepseek-coder-6.7b-instruct")
print(pipe("שלום"))

הרישיון

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

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