GPT
G

gemma-2-9b-it-SimPO

קוד פתוח

princeton-nlpmit2024-07-16

  • transformers
  • safetensors
  • gemma2
  • text-generation
  • alignment-handbook

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

  • 9.2Bפרמטרים
  • 8,192טוקנים בהקשר
  • 17.2 GBמשקל הקבצים
  • 447הורדות בחודש

מה זה

חוקרים מאוניברסיטת פרינסטון לקחו את gemma-2-9b-it של גוגל ואימנו אותו מחדש על מאגר המשוב gemma2-ultrafeedback-armorm. המטרה היתה לבדוק את שיטת SimPO, אלגוריתם ליישור העדפות שלא דורש מודל ייחוס בזמן הריצה ומחבר את פונקציית התגמול ישירות להסתברות יצירת הטקסט.

במבחני AlpacaEval 2 התוצאות מראות קפיצה משמעותית לעומת מודל המקור של גוגל. הציון הנקי מאורך עלה מ־51.1 ל־72.4, ואחוז הניצחונות הכולל זינק מ־38.1 ל־65.9. מה שמעניין כאן זה שהמודל משיג את התוצאות האלה בתשובות קצרות יותר בממוצע מגרסת ה־DPO המקבילה, כך שהוא פחות נוטה לפטפוט מיותר.

במדדי ידע והיגיון כמו MMLU ו־GSM8K כמעט ואין שינוי. ב־MMLU המודל קיבל 72.2 לעומת 72.7 במקור, וב־GSM8K הוא עומד על 88.0 מול 87.4. זה מראה שתהליך היישור שיפר את סגנון התשובה בלי לפגוע ביכולות החישוב והשליפה הבסיסיות של הרשת.

מתאים ל

  • עוזר שיחה ומענה לשאלות

    ציוני AlpacaEval הגבוהים מעידים על תשובות ענייניות, מדויקות וקצרות יותר ממודל הבסיס של גוגל.

  • פתרון בעיות מתמטיות

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

  • מחקר על אופטימיזציית העדפות

    מימוש פתוח של אלגוריתם SimPO שמאפשר לבחון השוואות ביצועים מול שיטות DPO קלאסיות.

איפה זה נופל

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

שאלות
נפוצות

במה הוא עדיף על גרסת ה־DPO של אותו מודל?

במבחני AlpacaEval 2 גרסת ה־SimPO משיגה ציון של 72.4 לעומת 67.8 ב־DPO. בנוסף, אורך הפלט הממוצע שלה קצר יותר, 1833 טוקנים לעומת 2016, כך שהיא פחות נוטה להאריך סתם בדברים.

איזה כרטיס מסך צריך כדי להריץ אותו מקומית?

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

איך מריצים

המשקל הכולל של הקבצים עומד על 17.2 גיגה בייט בדיוק של bfloat16. כדי לטעון אותו כמו שהוא צריך כרטיס מסך עם לפחות 24 גיגה בייט זיכרון, כמו RTX 3090, RTX 4090 או כרטיסים ייעודיים לשרתים, אחרת תצטרכו להשתמש בכימות ל־4 או 8 ביט.

ההרצה בקוד נעשית ישירות דרך ספריית transformers עם pipeline גנרי ליצירת טקסט. מי שמחפש רק תגובות מזדמנות או עובד בסביבה בלי מעבד גרפי מתאים, עדיף שיפנה ל־API מנוהל של מודלי 9B במקום לתחזק שרת עם חומרה ייעודית בשביל מודל בודד.

from transformers import pipeline

pipe = pipeline("text-generation", model="princeton-nlp/gemma-2-9b-it-SimPO")
print(pipe("שלום"))

הרישיון

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

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

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