GPT
P

phi-1

קוד פתוח

microsoftmit2023-09-10

  • transformers
  • safetensors
  • phi
  • text-generation
  • code

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

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

  • 1.4Bפרמטרים
  • 2,048טוקנים בהקשר
  • 2.6 GBמשקל הקבצים
  • 23,207הורדות בחודש

מה זה

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

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

מתאים ל

  • השלמת פונקציות בסיסיות

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

  • עבודה מקומית ללא רשת

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

  • כלי עזר לתרגול אלגוריתמים

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

איפה זה נופל

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

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

שאלות
נפוצות

האם אפשר להשתמש בו כמנוע שיחה או צ׳אטבוט?

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

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

ממש לא. כמעט כל נתוני הכוונון שלו התבססו רק על typing, math, random, collections, datetime ו־itertools, כך שאין לו ידע אמין בספריות אחרות.

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-generation", model="microsoft/phi-1")
print(pipe("שלום"))

הרישיון

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

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

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