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 и соавт.) — то, что поздние токены текста предсказываются лучше ранних: чем длиннее контекст, тем ниже потери. Авторы берут второй взгляд — он общее и не зависит от выбора задач — и вводят простую меру:
где и — потери на 500-м и 50-м токене контекста, усреднённые по примерам. Словами: насколько 500-й токен предсказывается лучше 50-го (значение отрицательное; чем больше по модулю, тем сильнее обучение в контексте; в тексте авторы говорят о величине разницы). Номера выбраны почти произвольно: 500 — почти конец контекста длиной 512, 50 — уже понятны язык и тип документа. Другие номера, как проверили авторы, выводов не меняют.
Пример (наш). Если потеря на 50-м токене 4,0 нат, а на 500-м — 3,6 нат, то модель «выучила из контекста» 0,4 нат на токен. Именно такую величину — около 0,4 нат — авторы видят у моделей после фазового перехода.
Индукционные головы: строгое определение
Заголовок раздела «Индукционные головы: строгое определение»В первой статье «индукционной» называли группу голов с похожим поведением и механизмом. Здесь определение строгое и поведенческое — на повторённой случайной последовательности токенов голова должна:
- сопоставлять префикс (prefix matching) — смотреть на прошлые токены, после которых шёл текущий;
- копировать (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) по таким векторам показывает траекторию обучения в «пространстве функций» — независимо от того, что одинаково работающие модели могут иметь совсем разные веса.
Аргумент 1. Фазовый переход
Заголовок раздела «Аргумент 1. Фазовый переход»Авторы обучили 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-пространстве"]
- Обучение в контексте резко растёт: до окна — меньше 0,15 нат, после — около 0,4 нат, и дальше эта величина почти не меняется до конца обучения и почти одинакова у моделей разного размера.
- Формируются индукционные головы (по оценке prefix matching).
- На кривой потерь появляется заметный «горб» — участок более крутого падения. Это единственное место, где кривая не выпукла. Учитывая, что кривая усредняет миллиарды токенов, видимое на ней изменение должно быть массовым.
- Траектория модели в PCA-пространстве резко поворачивает.
У однослойных моделей ничего этого нет: индукционные головы им недоступны (нужна композиция двух голов), и обучение в контексте почти не развивается.
Качественная иллюстрация на первом абзаце «Гарри Поттера»: после перехода модель лучше предсказывает повторяющиеся фрагменты («Дурсли» во второй и третий раз), а хуже — места, где повтор обманывает: первое «Mrs Potter» после того, как оба прошлых «Mrs» продолжались «Dursley».
Оценка доказательства. За: две резкие перемены вряд ли случайно совпали у десятков моделей; более 75 % итогового обучения в контексте формируется в этом окне. Против: у больших моделей мало снимков (около 15 точек), возможна общая скрытая причина (например, модель в этот момент вообще учится композиции слоёв, и появляются и другие механизмы), а неизменная мера ICL не значит, что механизмы после перехода не меняются.
Аргумент 2. Меняем архитектуру — переход сдвигается
Заголовок раздела «Аргумент 2. Меняем архитектуру — переход сдвигается»Наблюдение слабее эксперимента. Индукционной голове нужно, чтобы ключ зависел и от токена, и от предыдущего токена — поэтому нужны два слоя. Авторы делают модификацию «смазанных ключей» (smeared keys): у каждой головы обучаемый параметр , и ключ — смесь ключа текущего и предыдущего токена:
Словами: сигмоида — число от 0 до 1, доля «своего» ключа; остальное берётся от соседа слева. Например, при ключ на 70 % состоит из ключа предыдущего токена. Так даже однослойная модель может построить индукционную голову.
Предсказание гипотезы подтвердилось: со смазанными ключами обучение в контексте появляется у однослойных моделей (раньше не появлялось) и раньше у многослойных. Авторы осторожны: это показывает, что индукционные головы — минимальный механизм резкого роста обучения в контексте, но не исключает других механизмов в больших моделях.
Аргумент 3. Абляции: выключаем индукционные головы
Заголовок раздела «Аргумент 3. Абляции: выключаем индукционные головы»Самое сильное доказательство — там, где оно есть. Если на тесте убрать из модели индукционные головы, обучение в контексте резко падает. В маленьких моделях только с вниманием почти всё обучение в контексте идёт от индукционных голов — с начала перехода и до конца обучения. Любопытная деталь: абляция многих других голов обучение в контексте даже увеличивает — испорченная «обычная» предсказательная способность оставляет больше токенов, которые можно предсказать только из контекста.
Ограничения: для больших моделей абляций нет (их стоимость растёт быстрее размера модели — примерно как : голов , и каждая абляция стоит ); в моделях с MLP вклад может идти через взаимодействие внимания и MLP; похожие головы могут маскировать друг друга. Итог авторов: для маленьких моделей только с вниманием вывод надёжен, для моделей с MLP — лишь наводящий.
Аргумент 4. Индукционные головы умеют абстрактное
Заголовок раздела «Аргумент 4. Индукционные головы умеют абстрактное»В 40-слойной модели на 13 млрд параметров нашлись головы, которые одновременно удовлетворяют строгому определению (копируют случайные последовательности) и делают куда более сложные вещи:
| Голова | Слой | Копирование | Сопоставление префикса | Что делает |
|---|---|---|---|---|
| Буквальное копирование | 21 из 40 | 0,89 | 0,75 | повторяет «Dursley», «Potters», «a small son» и целые предложения |
| Перевод | 7 из 40 | 0,20 | 0,85 | смотрит на соответствующее слово в предложении на другом языке (английский, французский, немецкий) |
| Сопоставление шаблонов | 8 из 40 | 0,69 | 0,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). Здесь фазовый переход удалось рассмотреть «вблизи».
- Обучение в контексте означает, что поведение модели может «меняться» во время работы без дообучения — даже если считать это поиском уже выученного поведения, обобщение может оказаться неожиданным.
- Меза-оптимизация. Опасались, что за обучением в контексте стоит внутренний оптимизатор. По крайней мере в малых моделях главный механизм — индукционные головы; признаков меза-оптимизаторов авторы не нашли.
- «Розеттский камень». Фазовый переход связывает три уровня анализа: механистическую интерпретируемость, динамику обучения и «статистическую физику» нейросетей (законы масштабирования, фазовые переходы).
Что сделать руками
Заголовок раздела «Что сделать руками»- Увидеть горб. Обучите маленький GPT из урока 4.6.2 в двух вариантах — 1 и 2 слоя — и сохраняйте снимки. Постройте кривую потерь и ICL score (потеря на 50-м и на последнем токене контекста). Появляется ли горб только у двухслойной модели?
- Найти индукционные головы в своих снимках: подайте повторённую случайную последовательность и посчитайте долю внимания на «токен после прошлого появления текущего». Совпадает ли момент появления голов с горбом?
- Смазанные ключи. Добавьте в однослойную модель параметр по формуле выше. Появляется ли у неё обучение в контексте?
Словарик
Заголовок раздела «Словарик»| EN | RU |
|---|---|
| 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 | нат (единица информации по натуральному логарифму) |