Кажется, управление активациями наконец перестают делать методом «воткни вектор ×5 и посмотри, что отвалится».
В свежей работе авторы задают довольно очевидный вопрос: если мы хотим изменить поведение модели через её внутренние представления, почему силу вмешательства вообще принято оценивать просто по длине добавленного вектора?
Классическая схема примерно такая. Находим во внутренних активациях направление, связанное с нужным поведением — например, отказом, стилем ответа или предпочтением определённого решения. Затем на выбранном слое немного сдвигаем состояние модели в эту сторону.
Коэффициент подбирается экспериментально: маленький — ничего не происходит, большой — нужное поведение появляется, но заодно пациент начинает забывать, зачем вообще пришёл на операционный стол.
Проблема в том, что одинаковое изменение внутреннего состояния совсем не означает одинаковое изменение поведения модели. Можно сдвинуть активацию довольно далеко в одном направлении, и вероятности следующих слов почти не изменятся. А можно слегка толкнуть в другом месте — и распределение ответов перевернётся.
Поэтому авторы предлагают измерять не то, насколько далеко мы передвинули внутреннее состояние, а то, насколько сильно после этого изменилась сама модель.
Для этого используется расхождение Кульбака — Лейблера, или KL-расхождение. Несмотря на страшное название, смысл простой: это мера того, насколько одно распределение вероятностей отличается от другого.
Допустим, до вмешательства модель следующим токеном ожидала:
A — 70%
B — 20%
C — 10%
После вмешательства:
A — 68%
B — 21%
C — 11%
Модель почти не изменилась — KL будет маленьким.
А если стало:
A — 5%
B — 5%
C — 90%
то мы, возможно, всего чуть-чуть подвинули внутренний вектор, но фактически полностью перестроили решение модели. KL будет большим.
И вот здесь появляется информация Фишера. Формулы опустим, потому что идея намного красивее самой математики.
Представьте внутреннее пространство модели как тело пациента, а информацию Фишера — как карту чувствительности нервных окончаний.
В одном направлении можно провести скальпелем довольно далеко — рядом ничего важного, последствия минимальны. В другом месте достаточно движения на миллиметр — и внезапно дёрнулась половина организма.
То есть эта карта показывает не просто расстояние, а насколько болезненно для поведения модели движение в каждом конкретном направлении.
Отсюда и идея метода: если нам нужно изменить поведение, искать не просто самый короткий путь к нужному состоянию, а путь, проходящий через наименее чувствительные области внутреннего пространства.
Причём веса самой модели остаются замороженными. Никакого дообучения. И строить гигантскую полную карту чувствительности тоже не приходится — авторы получают необходимую информацию через выходную часть модели, которая преобразует внутреннее состояние в вероятности токенов.
Проверяли подход на LFM2.5-1.2B, Gemma-3-4B, Llama-3-8B и Phi-4 14B — на задачах изменения предпочтений и генерации кода. В 6 из 7 сочетаний модели и задачи новый метод дал лучшую итоговую оценку.
Но показательнее другое.
В одном из экспериментов с LFM2.5 (модель такая) новый метод получил качество 9.60 при изменении распределения 47.5 по KL.
Классический способ вмешательства дал качество 9.28, но изменение распределения уже 303.9.
Ещё один (классический с нормализацией) — качество 9.31 при KL 162.2.
То есть результат примерно тот же или даже лучше, но модель при этом приходится гораздо меньше выворачивать наизнанку.
И вот это уже начинает быть похоже не на «нашли направление и покрутили ручку», а на нормальную задачу управления системой.
Есть исходное состояние модели.
Есть желаемое изменение поведения.
Есть цена вмешательства.
И задача — получить нужный эффект с минимальным ущербом для всего остального.
Для механизмов отказа это особенно интересно.
Допустим, мы нашли направление, связанное с отказом модели. Обычный подход примерно такой:
добавим его с коэффициентом 4.
Почему 4?
Потому что 3 мало, 5 начинает ломать ответы, а 4 выглядит достаточно научно.
Здесь задачу можно поставить иначе: какое минимальное изменение внутренних активаций вернёт нужную вероятность отказа, при этом максимально сохранив исходное распределение остальных ответов?
Есть, конечно, ограничение. Такая карта чувствительности хорошо работает для небольших локальных вмешательств. Если начать таскать активации через половину внутреннего пространства, приближение перестаёт нормально описывать происходящее.
Но для управления активациями это как раз вполне естественное требование.
Раньше подход выглядел примерно так:
нашёл направление → прибавил число → посмотрел, что получилось.
Теперь постепенно появляется:
нашёл цель → оценил чувствительность модели → выбрал наименее разрушительное вмешательство → проверил побочные эффекты.
Похоже, лоботомию наконец начинают делать под анестезией.
https://arxiv.org/pdf/2609.30218
Post #75
62