GPT
S

Snorkel-Mistral-PairRM-DPO

קוד פתוח

snorkelaiapache-2.02024-01-19

  • transformers
  • pytorch
  • mistral
  • text-generation
  • conversational

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

  • 32,768טוקנים בהקשר
  • 13.5 GBמשקל הקבצים
  • 92הורדות בחודש
  • 108לייקים

מה זה

בבסיס נמצא Mistral 7B Instruct v0.2, אבל הצוות של סנורקל לקח אותו למסלול אימון שונה מהרגיל. הם לקחו עשרים אלף פרומפטים ממאגר UltraFeedback, ייצרו חמש תשובות לכל אחד, דירגו אותן בעזרת מודל תגמול חיצוני בשם PairRM, וביצעו כיוונון DPO על התוצאות הטובות מול הגרועות. על התהליך הזה הם חזרו שלוש פעמים ברצף, כשהמודל המאומן משמש בסיס לסבב הבא.

המטרה היתה לבדוק יישור העדפות בלי להסתמך על תיוג אנושי יקר או פלטים של מודלי ענק מסחריים. במבחן Alpaca-Eval 2.0 המודל זינק מציון 14.72 של מודל המקור לציון 30.22, ועד לציון 34.86 כשיצרו 16 תשובות ובחרו את הטובה ביותר דרך PairRM. בפועל, המשמעות היא שהתשובות עוקבות טוב יותר אחרי הנחיות משתמש ונשמעות טבעיות ומשכנעות יותר לשופט מבוסס GPT-4 Turbo, אם כי חלק מזה נובע מנטייה מובהקת לתשובות ארוכות ומפורטות יותר שנוצרה במהלך הסבבים.

מתאים ל

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

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

  • בדיקת מתודולוגיית יישור

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

  • יצירת דאטה־סטים מדורגים

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

איפה זה נופל

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

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

שאלות
נפוצות

האם הוא מבין ועונה בעברית בצורה אמינה?

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

מה עדיף להרצה, הגרסה המקורית או ה־GGUF?

לשרתי ענן עם כרטיסי אנבידיה חזקים עדיף להישאר עם הגרסה המקורית ב־transformers או vLLM. למחשב פיתוח אישי או שרת ללא GPU חזק, גרסאות ה־GGUF של brittlewis12 או andrew-cartwheel יחסכו זיכרון משמעותי בלי פגיעה מורגשת באיכות השיחה.

איך מריצים

כדי להריץ את קובצי ה־bfloat16 המקוריים ששוקלים 13.5 גיגה בייט, תצטרכו כרטיס מסך יחיד עם לפחות 16 עד 24 גיגה בייט זיכרון גרפי, כמו RTX 3090 או A10G. קיימות גם גרסאות מכווצות בפורמט GGUF ו־ExLlamaV2 שהכינה הקהילה, ואיתן אפשר לרדת בקלות לכרטיסים ביתיים חלשים יותר או זיכרון מעבד סטנדרטי דרך llama.cpp. פורמט השיחה מחייב את התחביר הרגיל של מיסטרל עם תגיות INST.

אם אתם לא רוצים להחזיק שרת דלוק, המודל זמין ב־API של Together AI וקיים גם בנקודת קצה לניסיון ב־Hugging Face. להרצה מקומית במוצר יש הצדקה רק אם אתם חייבים פרטיות מלאה, או אם אתם מתכוונים ליישם את שכבת הבחירה מתוך 16 תשובות שהצוות הציג, תהליך ששואב משאבים רבים ב־API חיצוני.

from transformers import pipeline

pipe = pipeline("text-generation", model="snorkelai/Snorkel-Mistral-PairRM-DPO")
print(pipe("שלום"))

הרישיון

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

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

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