
מודלים abliterated מאבדים ציות לפני שהם מאבדים ידע
כותב טכני ב-dev.to טוען שבמודלים abliterated מילוי ההוראות וההקפדה על פורמט הפלט נשחקים הרבה לפני אובדן ידע, ולכן יש למדוד עמידה בפורמט בנפרד מהנכונות של התשובה ולא להסתפק בשיחה קצרה עם המודל.
פוסט טכני ב-dev.to מאת המפתח שמאחורי Grunz, שירות שמריץ מודלים פתוחים מסוג abliterated, טוען שמי שמעריך checkpoints כאלה מודד בדרך כלל את הדבר הלא נכון. ב-Hugging Face זמינים אלפי מודלים כאלה, והתכונה הראשונה שנשחקת היא לא הידע אלא הציות: מילוי הוראות והקפדה על פורמט הפלט.
מה עושה abliteration
abliteration מזהה כיוון סירוב במרחב האקטיבציות של המודל ומקרין אותו החוצה מהמשקלים. אין כאן צעדי גרדיאנט ואין נתוני אימון: זוהי עריכת משקלים, לא finetune. ההנחה המקובלת היא סחר־חליפין ביכולות: מרוויחים ציות, מאבדים חלק מהאינטליגנציה הכללית, ובודקים זאת בכך שבוחנים אם המודל עוד יודע עובדות וכותב היטב. לדברי המחבר, הנזק לא מופיע שם.
הציות נשחק ראשון
בקרב וריאנטים ומשפחות מודלים, הדבר הראשון שנשחק הוא מילוי הוראות והקפדה על פורמט הפלט. המודל עוד יודע את החומר, אבל הוא נעשה גרוע יותר באופן מדיד בשמירה על תבנית ה-instruct וה-prefill, בכיבוד stop sequences, בעמידה בחוזה פלט מובנה כמו סכימת JSON או תחביר tool-call, ובשמירה על אילוץ system prompt לאורך הקשר ארוך. checkpoint שמקבל ציון בטווח הרעש של המודל הבסיסי ב-MMLU ייכשל בפלט מובנה בשיעור גבוה בהרבה.
למה בדיקת צ'אט מפספסת את זה
הבדיקה המקובלת היא שיחה: לוודא שהמודל כבר לא מסרב ושהפרוזה נקראת היטב. בדיקה כזו לא מזהה את הכשל, כי המודל נראה בסדר, ולעיתים טוב מבסדר, מאחר שהתנהגות הסירוב שהפריעה בעבר נעלמה. הבעיה מופיעה כשמחברים את המודל למערכת שמפרסרת את הפלט שלו ואחוז הכשלים עולה. גם perplexity לא עוזר: על קורפוס כללי הוא בקושי זז בעוד שהקפדה על הפורמט צונחת.
ההמלצה היא למדוד הקפדה על הפורמט בנפרד מהאיכות ובאופן בלתי תלוי בנכונות התשובה: שולחים סט בקשות שמגדירות חוזה פלט מדויק, נותנים ציון בינארי לעמידה בחוזה ולא לתוכן, ומדווחים שיעור עמידה שניתן להשוות. תשובה שגויה אך תקינה בצורתה מקבלת 1.0; תשובה נכונה עטופה בפרוזה ששוברת את הסכימה מקבלת 0.
השערת הקוונטיזציה
את האינטראקציה עם קוונטיזציה המחבר מסמן במפורש כהשערה שלא נמדדה כראוי: הנזק נראה כמצטבר עם נזק הקוונטיזציה, כך שמודל abliterated נשחק בהקפדה על הפורמט מהר יותר במורד סולם הקוונטיזציה מאשר הבסיס שלו. אם זה נכון, abliteration כבר שיטחה מבנה משקלים שהקוונטיזציה אחר כך מעגלת. המחבר מדווח על תוצאות טובות יותר ב-q6_K ומעלה במודלים קטנים, ומציין ש-q8_0 למודל 4B תופס רק כ-4.3GB. המבחן הנכון הוא לכמת את המודל הבסיסי ואת התאום שלו לאותו bits per weight עם אותה ערכת כיול, ואז למדוד שיעור עמידה ולא perplexity. בפרודקשן, הוא מוסיף, פרסר tool-call צריך להיות סלחני יותר מאשר מול מודל frontier, ושיעור העמידה צריך להיות מדד מן המניין.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.