# Как алгоритм ROME переписывает память нейросетей: локализация и редактирование фактов в GPT

Источник: https://www.youtube.com/watch?v=_NMQyOu2HTo
Канал: Yannic Kilcher
Опубликовано: 04.11.2022

---

В новом исследовании «Locating and Editing Factual Associations in GPT» группа ученых из MIT и других институтов представила метод ROME, позволяющий точечно редактировать знания внутри больших языковых моделей. Ведущий Янник Кильхер обсудил с авторами работы, Дэвидом Бау и Кевином Менгом, как им удалось локализовать конкретные факты в нейронных слоях и изменить «убеждения» модели — например, заставить её поверить, что Эйфелева башня находится в Риме, не нарушая при этом общую связность речи.

## 🧠 Механистическая интерпретируемость: где живут идеи?
[[JUMP:0:00]]

Исследование находится на стыке фундаментальной науки и практической инженерии [2:01]. С одной стороны, ученых интересует вопрос, как именно обучаемые вычисления внутри сети превращаются в смыслы. С другой — существует острая необходимость исправлять устаревшую или неверную информацию в огромных моделях, которые слишком дорого переобучать с нуля [2:14].

Дэвид Бау отмечает, что это возвращает нас к классическому вопросу нейронауки о «нейроне бабушки» — гипотезе, согласно которой за конкретное понятие может отвечать одна клетка мозга [2:53]. В контексте ИИ это направление называют «механистической интерпретируемостью» [3:43]. Ученые пытаются понять, распределены ли знания по всей сети или их можно локализовать в конкретных слоях или нейронах [3:19].

В отличие от многих предыдущих работ, группа ROME использовала «каузальное зондирование» (causal probing) [4:10]. По словам Дэвида Бау, это позволяет не просто наблюдать корреляции, а вносить изменения в работу сети и смотреть, как она реагирует, что дает гораздо более четкую картину механизмов её работы [13:34].

## 🔍 Каузальное трассирование: поиск «метки факта»
[[JUMP:6:52]]

Для локализации фактов авторы разработали метод каузального трассирования (causal tracing). Суть эксперимента заключается в следующем:

1.  **Чистый проход:** Модели подается корректная фраза (например, «Space Needle находится в центре...»), и записываются все активации [10:11].
2.  **Испорченный проход:** Входные данные (субъект «Space Needle») повреждаются шумом. Теперь модель выдает случайный ответ, так как не понимает, о чем идет речь [10:24].
3.  **Восстановление:** Исследователи поочередно копируют скрытые состояния из «чистого» прохода в «испорченный» для каждого слоя и каждого токена [11:16].

Результаты показали удивительную локализацию. Выяснилось, что существуют две критические точки:

*   **Ранний участок (Early site):** Находится на последнем токене субъекта («Needle») в средних слоях MLP (многослойных перцептронов) [12:33].
*   **Поздний участок (Late site):** Находится на последнем токене фразы непосредственно перед предсказанием следующего слова, в механизмах внимания [12:45].

Кевин Менг подчеркивает: удивительно, что модель «вспоминает» факт о местоположении объекта сразу после прочтения его названия, хотя она еще не знает, какой вопрос ей зададут в конце предложения [12:58].

## 🏗️ MLP как хранилище «ключ-значение»
[[JUMP:17:02]]

Основная гипотеза авторов заключается в том, что слои MLP в трансформерах работают как ассоциативная память [18:07]. Кевин Менг объясняет это через структуру матриц в MLP: первая матрица («fan-out») создает пространство ключей, а вторая («fan-in») проецирует их обратно в пространство значений [26:48].

По мнению исследователей:

*   **MLP-блоки** хранят фактические ассоциации (например, «Space Needle» связан с «Сиэтлом») [18:33].
*   **Механизмы внимания** выступают в роли «маршрутизаторов», которые извлекают нужную информацию из этого хранилища в нужный момент для формирования ответа [16:36].

Чтобы доказать это, ученые провели эксперимент с «разрезанием» связей. Если заблокировать передачу сигналов от MLP-блоков в средних слоях, каузальный эффект исчезает, тогда как блокировка внимания в тех же слоях влияет на результат значительно меньше [21:02].

## 🛠️ Метод ROME: редактирование весов за один шаг
[[JUMP:29:20]]

ROME (Rank-One Model Editing) — это алгоритм, который позволяет обновить одну конкретную ассоциацию в модели, используя формулу ранга 1 (rank-one update) [31:38].

Процесс редактирования состоит из двух этапов:

1.  **Поиск векторов:** Сначала определяется вектор-ключ ($k$), соответствующий субъекту, и вектор-значение ($v$), который заставит модель выдать новый ответ (например, «Париж»). Вектор $v$ подбирается путем оптимизации, аналогичной поиску состязательных примеров [32:17].
2.  **Обновление матрицы:** Веса MLP-слоя изменяются так, чтобы при получении ключа $k$ модель выдавала новое значение $v$, при этом минимально искажая другие знания, уже хранящиеся в этой матрице [33:33].

Дэвид Бау отмечает, что они использовали математический аппарат линейных ассоциативных памятей, известный еще с 1970-х годов [28:15]. Это позволило получить аналитическое решение для обновления весов, которое работает за секунды [50:06].

## 🧪 Оценка качества: Generalization и Specificity
[[JUMP:35:59]]

Авторы подчеркивают, что просто заставить модель говорить «Париж» — недостаточно. Качественное редактирование должно отвечать двум критериям:

*   **Обобщение (Generalization):** Если мы сказали модели, что «Space Needle» в Париже, она должна давать этот ответ даже при перефразировании вопроса [37:02].
*   **Специфичность (Specificity):** Изменение не должно затрагивать другие объекты. Перенос «Space Needle» в Париж не должен повлечь за собой перенос туда же Статуи Свободы или рынка Пайк-Плейс [38:07].

Для проверки этих свойств был создан новый датасет **Counterfact**, базирующийся на данных Wikidata [40:33]. В отличие от старых тестов (типа ZSRE), Counterfact фокусируется на «трудных» случаях — например, когда нужно изменить город на другой реально существующий город, что требует от модели четкого разделения понятий [41:52].

## ⚠️ Проблема «дрейфа сущности» и симметрии
[[JUMP:48:48]]

В процессе исследований обнаружились интересные побочные эффекты. Один из них — **«дрейф сущности» (essence drift)** [49:01]. По словам Кевина Менга, если обновление весов слишком агрессивное, модель может потерять понимание того, чем является объект. Например, при попытке сделать игру *Mario Kart* продуктом Microsoft, модель может начать считать, что это не гоночная игра, а офисное приложение [49:13].

Другой важный вывод касается асимметрии знаний в трансформерах. Дэвид Бау указывает на «отрицательный сюрприз»: если научить модель тому, что «Билл Гейтс основал Microsoft», она не обязательно поймет, что «Основателем Microsoft был Билл Гейтс» [1:00:28]. С точки зрения модели это две разные ассоциации, хранящиеся в разных местах, так как они имеют разных субъектов в начале предложения [1:00:53].

## 🚀 Будущее и призыв к сообществу
[[JUMP:1:02:49]]

Несмотря на успех с GPT-2 XL, авторы признают, что вставка тысяч фактов в одну и ту же матрицу может не масштабироваться. В будущих работах они планируют изучить распределение знаний по множеству слоев [53:37].

В финале беседы Дэвид Бау выразил недоумение по поводу того, почему всё ИИ-сообщество еще не занимается «вскрытием» моделей [1:03:02]. По его мнению, нейросети содержат в себе сложнейшие структуры, сравнимые по объему с кодовой базой гигантских корпораций, и их изучение — одна из самых захватывающих задач современности [1:03:15].