GPT
P

Phi-3-small-128k-instruct

קוד פתוח

microsoftmit2024-05-07

  • transformers
  • safetensors
  • phi3small
  • text-generation
  • nlp

microsoft עומדים גם מאחורי Sho, ויש עליו סקירה כאן.

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

  • 7.4Bפרמטרים
  • 131,072טוקנים בהקשר
  • 13.8 GBמשקל הקבצים
  • 743הורדות בחודש

מה זה

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

במדדי היגיון ומתמטיקה כמו BigBench Hard עם תוצאה של 77.6 ו־GSM8K עם 87.3, הוא עוקף מודלים בגודל דומה ואפילו גדולים ממנו כמו Mixtral 8x7B. הוא מציג הבנה לוגית חזקה למדי, אבל ידע העובדות שלו מוגבל מאוד ועומד על 41.7 בלבד במבחני factual knowledge, נמוך יותר מרוב המתחרים שנבדקו.

מתאים ל

  • ניתוח מסמכים ארוכים

    חלון של 128 אלף טוקנים מאפשר לעבד חוזים, מפרטים וספרים שלמים בבת אחת.

  • פתרון בעיות לוגיות

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

  • סקריפטים בסיסיים בפייתון

    אימון ייעודי על ספריות הליבה של פייתון מתאים לייצור אוטומציות פשוטות.

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

במשקל המקורי ב־bfloat16 דרוש כרטיס מסך של מעל 16 ג'יגה זיכרון, ורוב המחשבים האישיים לא יחזיקו אותו. כדי להריץ מקומית על מחשב אישי כדאי להשתמש בגרסאות ה־ONNX בקוונטיזציה של int4 שמותאמות ל־CPU וכרטיסים ביתיים.

איך המודל מתמודד עם טקסטים בעברית?

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

האם הוא מתאים לענות על שאלות ידע כללי באפליקציה?

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

איך מריצים

המשקל הגולמי של הקבצים בפורמט bfloat16 תופס 13.8 ג'יגה בייט. כדי לטעון אותו תצטרכו כרטיס מסך עם לפחות 16 עד 24 ג'יגה זיכרון וידאו, כאשר ארכיטקטורת הקשב שלו דורשת שימוש ב־Flash-Attention 2 ו־Triton, כך שהיא נבדקה רשמית על כרטיסים מקצועיים כמו A100, A6000 ו־H100. בהרצה דרך transformers חייבים להפעיל את הדגל trust_remote_code=True ולהתקין גרסה עדכנית.

מי שאין לו שרת ייעודי יכול לפנות לגרסאות ה־ONNX המכווצות ל־int4 שרצות על חומרת צרכנים, מעבדים ואפילו מובייל דרך DirectML. אם אתם מתכוונים לנצל את כל 128 אלף הטוקנים בקצב גבוה ואין לכם אשכול חזק, זול ופשוט בהרבה לצרוך אותו דרך Azure AI במקום לנהל את הזיכרון לבד.

from transformers import pipeline

pipe = pipeline("text-generation", model="microsoft/Phi-3-small-128k-instruct")
print(pipe("שלום"))

הרישיון

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

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

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