חזרה
Dynamic Abliteration: דיכוי סירובים במודל שפה בלי לגעת במשקולות
SiTech AI Team2 წთ. საკითხავი

Dynamic Abliteration: דיכוי סירובים במודל שפה בלי לגעת במשקולות

פוסט טכני בבלוג madhukaraphatak.in מתאר כיצד לכבות סירובים במודל Open-Weight בשם Qwen3-4B בזמן ריצה, בלי לערוך את המשקולות: די בהתערבות בכמה שכבות אמצעיות דרך hooks של PyTorch.

אבליטרציה בלי לערוך משקולות

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

פוסט טכני שפורסם ב-24 בספטמבר 2026 בבלוג madhukaraphatak.in מתאר חלופה. במקום לערוך פרמטרים, הפתרון מתערב בזמן ריצה בזרמי השארית (residual streams) של המודל — באמצעות forward hooks של PyTorch — ומוסיף אותות ניהול בכמה שכבות אמצעיות. המשקולות הבסיסיות נשארות קפואות לחלוטין; המחבר מדווח שהן ללא שינוי.

מודל ההוכחה הוא Qwen3-4B — מודל פתוח עם 4 מיליארד פרמטרים — שנטען בפורמט bfloat16 על GPU מדגם A100 בסביבת Google Colab.

שכבה אחת לא מספיקה

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

הגרסה הבאה חישבה וקטורי הפרש קונטרסטיביים בחמש שכבות (12, 14, 16, 18 ו-20) והזריקה את כולם בו-זמנית. הסירובים נעלמו, אבל לוקטורים סטטיים יש חסרונות: הם מזיזים כל טוקן; מקדם הסקאלה צריך כיול ידני; והזרקה בלתי-מותנית פוגעת בביצועים במשימות רגילות.

ניהול מותנה עם מודול Engram

כדי שההתערבות תהיה מותנית, הפוסט מאמץ את ארכיטקטורת הזיכרון המותנה ממודל Engram של DeepSeek. חלונות טוקנים נעים עוברים hashing לארבע טבלאות לצורך איתור n-grams בזמן קבוע, ושער סיגמואידי מחליט אם להזריק משהו בכל שכבה. עבור טוקנים רגילים השער קרוב לאפס; כשמופיע טריגר של סירוב, הוא נפתח.

מודול הניהול אומן על 2,000 דוגמאות ממאגר PKU-SafeRLHF של PKU-Alignment, כשהמודל הבסיסי קפוא — רק פרמטרי Engram עברו אופטימיזציה, במשך שתי תקופות אימון. האימון ארך כתשע דקות על A100, וההפסד ירד מכ-3.9 ל-1.77. בהשוואה שהפוסט מציג, המודל המנוהל השיב לבקשות שהמודל המקורי סירב להן או הסתייג מהן.

משמעות הדבר

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

הגמישות הזו היא גם שאלת הבטיחות: אם אפשר לכבות התנהגות סירוב בזמן ריצה על GPU בודד, ההגנות שנשענות רק על המשקולות של מודל פתוח נחלשות. המחברת המלאה (notebook) פורסמה ב-GitHub; בפוסט נכתב שדוגמאות הקוד נכתבו בעזרת Google Gemini.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.