Перейти к содержимому
ПереводыAnthropic

Transformer Circuits: «In-context Learning and Induction Heads» — конспект

Пересказ статьи Anthropic 2022 года: шесть линий доказательств того, что индукционные головы — главный механизм обучения в контексте у трансформеров. Фазовый переход в начале обучения, архитектура со «смазанными» ключами, абляции, головы-переводчики и что из этого следует для безопасности.

Вторая статья серии Transformer Circuits. В первой индукционные головы нашли в крошечных двухслойных моделях. Здесь авторы ставят куда более смелую гипотезу: индукционные головы — механизм большей части обучения в контексте (in-context learning) во всех трансформерах, включая большие. Доказать это напрямую для больших моделей нельзя, поэтому статья собирает «косвенное дело» из шести линий доказательств — как нейробиолог, который изучает часть мозга по её развитию, травмам и вмешательствам.

  • Индукционная голова — голова внимания, которая на повторённой случайной последовательности делает две вещи: сопоставляет префикс (смотрит на токен, который в прошлый раз шёл после текущего) и копирует его (повышает его логит). Правило: [A][B] … [A] → [B].
  • Фазовый переход. На раннем этапе обучения (примерно от 2,5 до 5 млрд токенов) одновременно и резко: появляются индукционные головы, растёт обучение в контексте, на кривой потерь возникает «горб». Так происходит у моделей любого размера — кроме однослойных.
  • Шесть аргументов: совпадение по времени, сдвиг при изменении архитектуры, абляции, абстрактные «индукционные» головы-переводчики, механистическое объяснение и непрерывность от малых моделей к большим.
  • Сила доказательств разная: для маленьких моделей только с вниманием — сильная, причинная; для больших моделей с MLP — в основном корреляционная. Авторы подчёркивают, что это «начало доказательств», а не доказательство.
  • До статьи — конспект «A Mathematical Framework» (разделы про QK/OV и индукционные головы) и урок 9.3.1, где индукционные головы ищутся руками.
  • Обучение в контексте как явление — в уроках ступени 6 и в туториале Anthropic по промптам (примеры в промпте); здесь — его механизм.
  • Кривые обучения — урок 4.6.3: «горб» на кривой потерь, о котором говорит статья, вы можете увидеть в своём претрейне.
  • Что пропустить. Таблицу анализа моделей (Model Analysis Table), «необъяснённые странности» и методические приложения.

Есть два взгляда на обучение в контексте. «Микро» — способность решать задачу по нескольким примерам в промпте (few-shot, как у GPT-3). «Макро» (по Kaplan и соавт.) — то, что поздние токены текста предсказываются лучше ранних: чем длиннее контекст, тем ниже потери. Авторы берут второй взгляд — он общее и не зависит от выбора задач — и вводят простую меру:

ICL score=L500‾−L50‾,\text{ICL score} = \overline{L_{500}} - \overline{L_{50}},

где L500L_{500} и L50L_{50} — потери на 500-м и 50-м токене контекста, усреднённые по примерам. Словами: насколько 500-й токен предсказывается лучше 50-го (значение отрицательное; чем больше по модулю, тем сильнее обучение в контексте; в тексте авторы говорят о величине разницы). Номера выбраны почти произвольно: 500 — почти конец контекста длиной 512, 50 — уже понятны язык и тип документа. Другие номера, как проверили авторы, выводов не меняют.

Пример (наш). Если потеря на 50-м токене 4,0 нат, а на 500-м — 3,6 нат, то модель «выучила из контекста» 0,4 нат на токен. Именно такую величину — около 0,4 нат — авторы видят у моделей после фазового перехода.

Индукционные головы: строгое определение

Заголовок раздела «Индукционные головы: строгое определение»

В первой статье «индукционной» называли группу голов с похожим поведением и механизмом. Здесь определение строгое и поведенческое — на повторённой случайной последовательности токенов голова должна:

  1. сопоставлять префикс (prefix matching) — смотреть на прошлые токены, после которых шёл текущий;
  2. копировать (copying) — повышать логит токена, на который смотрит.

Случайные токены нужны, чтобы исключить «обычную» статистику: только индукция может предсказать продолжение бессмысленной, но повторённой цепочки. Как следствие, индукционные головы склонны повторять целые фрагменты: на «The cat sat on the mat. The cat …» они продвигают «sat on the mat».

Авторы надеются показать больше: в больших моделях те же головы работают на абстрактных представлениях и делают «нечёткое» копирование [A*][B*] … [A] → [B], где A* похож на A, а B* на B (например, то же слово на другом языке) — своего рода «поиск ближайшего соседа в контексте».

Чтобы сравнивать, как меняются модели в ходе обучения, авторы берут 10 000 случайных токенов из разных текстов, записывают лог-вероятности, которые им даёт каждый снимок (checkpoint) модели, и получают для снимка вектор из 10 000 чисел. Метод главных компонент (PCA) по таким векторам показывает траекторию обучения в «пространстве функций» — независимо от того, что одинаково работающие модели могут иметь совсем разные веса.

Авторы обучили 34 модели (разные размеры и архитектуры, сохраняя десятки снимков) и увидели, что в узком окне в начале обучения — примерно от 2,5 до 5 млрд токенов (у больших моделей это около 1–2 % обучения) — одновременно происходит четыре вещи:

flowchart TB
P["Окно ≈2,5–5 млрд токенов"] --> A["ICL score: от менее 0,15 до ≈0,4 нат"]
P --> B["Появляются индукционные головы"]
P --> C["Горб на кривой потерь"]
P --> D["Поворот траектории в PCA-пространстве"]
Что совпадает во время фазового перехода (по тексту статьи)
  1. Обучение в контексте резко растёт: до окна — меньше 0,15 нат, после — около 0,4 нат, и дальше эта величина почти не меняется до конца обучения и почти одинакова у моделей разного размера.
  2. Формируются индукционные головы (по оценке prefix matching).
  3. На кривой потерь появляется заметный «горб» — участок более крутого падения. Это единственное место, где кривая не выпукла. Учитывая, что кривая усредняет миллиарды токенов, видимое на ней изменение должно быть массовым.
  4. Траектория модели в PCA-пространстве резко поворачивает.

У однослойных моделей ничего этого нет: индукционные головы им недоступны (нужна композиция двух голов), и обучение в контексте почти не развивается.

Качественная иллюстрация на первом абзаце «Гарри Поттера»: после перехода модель лучше предсказывает повторяющиеся фрагменты («Дурсли» во второй и третий раз), а хуже — места, где повтор обманывает: первое «Mrs Potter» после того, как оба прошлых «Mrs» продолжались «Dursley».

Оценка доказательства. За: две резкие перемены вряд ли случайно совпали у десятков моделей; более 75 % итогового обучения в контексте формируется в этом окне. Против: у больших моделей мало снимков (около 15 точек), возможна общая скрытая причина (например, модель в этот момент вообще учится композиции слоёв, и появляются и другие механизмы), а неизменная мера ICL не значит, что механизмы после перехода не меняются.

Аргумент 2. Меняем архитектуру — переход сдвигается

Заголовок раздела «Аргумент 2. Меняем архитектуру — переход сдвигается»

Наблюдение слабее эксперимента. Индукционной голове нужно, чтобы ключ зависел и от токена, и от предыдущего токена — поэтому нужны два слоя. Авторы делают модификацию «смазанных ключей» (smeared keys): у каждой головы обучаемый параметр αh\alpha^h, и ключ — смесь ключа текущего и предыдущего токена:

kjh=σ(αh) kjh+(1−σ(αh)) kj−1h.k^h_j = \sigma(\alpha^h)\,k^h_j + \bigl(1 - \sigma(\alpha^h)\bigr)\,k^h_{j-1} .

Словами: сигмоида σ(αh)\sigma(\alpha^h) — число от 0 до 1, доля «своего» ключа; остальное берётся от соседа слева. Например, при σ=0,3\sigma = 0{,}3 ключ на 70 % состоит из ключа предыдущего токена. Так даже однослойная модель может построить индукционную голову.

Предсказание гипотезы подтвердилось: со смазанными ключами обучение в контексте появляется у однослойных моделей (раньше не появлялось) и раньше у многослойных. Авторы осторожны: это показывает, что индукционные головы — минимальный механизм резкого роста обучения в контексте, но не исключает других механизмов в больших моделях.

Аргумент 3. Абляции: выключаем индукционные головы

Заголовок раздела «Аргумент 3. Абляции: выключаем индукционные головы»

Самое сильное доказательство — там, где оно есть. Если на тесте убрать из модели индукционные головы, обучение в контексте резко падает. В маленьких моделях только с вниманием почти всё обучение в контексте идёт от индукционных голов — с начала перехода и до конца обучения. Любопытная деталь: абляция многих других голов обучение в контексте даже увеличивает — испорченная «обычная» предсказательная способность оставляет больше токенов, которые можно предсказать только из контекста.

Ограничения: для больших моделей абляций нет (их стоимость растёт быстрее размера модели — примерно как N1,33N^{1{,}33}: голов ∼N0,33\sim N^{0{,}33}, и каждая абляция стоит ∼N\sim N); в моделях с MLP вклад может идти через взаимодействие внимания и MLP; похожие головы могут маскировать друг друга. Итог авторов: для маленьких моделей только с вниманием вывод надёжен, для моделей с MLP — лишь наводящий.

Аргумент 4. Индукционные головы умеют абстрактное

Заголовок раздела «Аргумент 4. Индукционные головы умеют абстрактное»

В 40-слойной модели на 13 млрд параметров нашлись головы, которые одновременно удовлетворяют строгому определению (копируют случайные последовательности) и делают куда более сложные вещи:

ГоловаСлойКопированиеСопоставление префиксаЧто делает
Буквальное копирование21 из 400,890,75повторяет «Dursley», «Potters», «a small son» и целые предложения
Перевод7 из 400,200,85смотрит на соответствующее слово в предложении на другом языке (английский, французский, немецкий)
Сопоставление шаблонов8 из 400,690,94«выучивает функцию» в контексте

Пример с шаблонами. Синтетический текст: строки вида «(месяц) (животное): 0», «(месяц) (фрукт): 1», «(цвет) (животное): 2», «(цвет) (фрукт): 3» со случайными словами. Голова после двоеточия смотрит на прошлую строку той же категории — например, для «January bird» на «April fish», а не на «grey bird», хотя там совпадает слово. Около 65 % внимания с двоеточий уходит на правильные позиции.

Это не метафора: те же самые головы в тех же слоях проходят формальный тест. Объяснение авторов: абстрактные поведения «по духу» — то же копирование, но [A*][B*] … [A] → [B] на уровне смыслов, а не токенов.

Аргумент 5. Механизм объясняет и предсказывает

Заголовок раздела «Аргумент 5. Механизм объясняет и предсказывает»

Если индукционные головы делают то, что мы видим (ищут прошлые примеры и копируют продолжение), они обязаны улучшать предсказание поздних токенов: контекст служит данными для алгоритма «ближайшего соседа», а ближайший сосед работает тем лучше, чем больше данных. В двухслойной модели из первой статьи, кроме того, механизм восстановлен на уровне весов, а альтернативы ему нет (простые копирующие головы есть и в однослойных моделях, где обучения в контексте нет). Кратко механизм:

  • копирование делает OV-схема с положительными собственными значениями;
  • сопоставление префикса делает QK-схема через K-композицию (и отчасти Q-композицию) с головой «предыдущего токена»: в ключе важен не сам токен, а то, что было перед ним.

В GPT-2 авторы видели и второй механизм — «арифметику указателей» через позиционные эмбеддинги и Q-композицию (в моделях статьи он невозможен). Абстрактные головы из аргумента 4 до конца разобрать не удалось (мешают MLP), но гипотеза естественна: более сложные QK-слагаемые и копирование абстрактных признаков вместо точных токенов.

Аргумент 6. Непрерывность от малых моделей к большим

Заголовок раздела «Аргумент 6. Непрерывность от малых моделей к большим»

Все измерения выглядят одинаково у маленьких моделей только с вниманием, маленьких моделей с MLP и полноразмерных моделей: фазовый переход, одинаковый скачок обучения в контексте, похожие пути в PCA, индукционные головы. Если в больших моделях механизм другой — где именно меняется картина и почему этого не видно ни в одном измерении? Главная альтернатива, которую признают авторы: во время перехода могут формироваться и другие «композиционные» головы, и в очень больших моделях их суммарный вклад может превысить вклад индукционных.

Сводная оценка доказательств из статьи:

УтверждениеМаленькие, только вниманиеМаленькие с MLPБольшие модели
Индукционные головы дают часть обучения в контекстесильное, причинноесильное, причинноесреднее, корреляционное и механистическое
Индукционные головы дают большую частьсильное, причинноесреднее, причинноесреднее, корреляционное
  • Фазовые переходы. Если поведение модели меняется скачком (по ходу обучения или с ростом масштаба), к проблемам труднее подготовиться. Скачкообразно могут появляться и опасные свойства — авторы упоминают «взлом награды» (reward hacking). Здесь фазовый переход удалось рассмотреть «вблизи».
  • Обучение в контексте означает, что поведение модели может «меняться» во время работы без дообучения — даже если считать это поиском уже выученного поведения, обобщение может оказаться неожиданным.
  • Меза-оптимизация. Опасались, что за обучением в контексте стоит внутренний оптимизатор. По крайней мере в малых моделях главный механизм — индукционные головы; признаков меза-оптимизаторов авторы не нашли.
  • «Розеттский камень». Фазовый переход связывает три уровня анализа: механистическую интерпретируемость, динамику обучения и «статистическую физику» нейросетей (законы масштабирования, фазовые переходы).
  1. Увидеть горб. Обучите маленький GPT из урока 4.6.2 в двух вариантах — 1 и 2 слоя — и сохраняйте снимки. Постройте кривую потерь и ICL score (потеря на 50-м и на последнем токене контекста). Появляется ли горб только у двухслойной модели?
  2. Найти индукционные головы в своих снимках: подайте повторённую случайную последовательность и посчитайте долю внимания на «токен после прошлого появления текущего». Совпадает ли момент появления голов с горбом?
  3. Смазанные ключи. Добавьте в однослойную модель параметр αh\alpha^h по формуле выше. Появляется ли у неё обучение в контексте?
ENRU
in-context learning (ICL)обучение в контексте
in-context learning scoreмера обучения в контексте
induction headиндукционная голова
prefix matchingсопоставление префикса
copyingкопирование
phase changeфазовый переход
loss bump«горб» на кривой потерь
per-token loss analysisанализ потерь по токенам
smeared key«смазанный» ключ
ablation, knock outабляция, выключение
nearest neighborближайший сосед
mesa-optimizationмеза-оптимизация
natнат (единица информации по натуральному логарифму)