Янник Килчер разобрал метод ALiBi для экстраполяции контекста трансформеров

Yannic Kilcher 22,3 тыс. 31 мин 5 мин 02.09.2021
Главное

В современном машинном обучении языковые модели сталкиваются с серьезным технологическим ограничением: они катастрофически теряют качество, если длина обрабатываемого текста превышает размер обучающей выборки. Популярный ИТ-исследователь и блогер Янник Килчер (Yannic Kilcher) представил подробный разбор революционной научной работы «Train Short, Test Long: Attention with linear biases enables input length extrapolation», за авторством Офира Пресса (Ophir Press), Ноа А. Смита (Noah A. Smith) и Майка Льюиса (Mike Lewis). В видеоролике детально описывается метод ALiBi — изящная и простая модификация механизма внимания, которая позволяет трансформерам успешно экстраполировать контекст на последовательности, превосходящие обучающие в 2–10 раз и более.

🧩 Проблема позиционного кодирования в трансформерах 0:00

Архитектура трансформеров, представленная в культовой статье 2017 года «Attention Is All You Need», фундаментально ориентирована на работу с множествами (set models), а не с упорядоченными последовательностями. Сама по себе нейросеть не обладает встроенным пониманием того, в каком порядке идут слова. Если поменять токены местами, математический результат вычисления скалярного произведения векторов Query (запрос) и Key (ключ) в механизме внимания останется прежним.

Чтобы превратить модель множества в модель последовательности, базовые токеновые эмбеддинги (аналогичные классическим Word2Vec или GloVe) необходимо дополнять информацией о позиции слова в тексте. Исторически для этого применялись различные подходы:

Однако синусоидальный метод полностью провалился на задаче экстраполяции длины контекста. Как утверждает Янник Килчер, для этого есть две ключевые причины: функции, выученные на таких эмбеддингах, плохо переносятся на более длинные последовательности, а добавление позиционной информации на самом нижнем уровне заставляет модель тратить ресурсы на её «протаскивание» через все вышележащие слои нейросети.

🛠 Эволюция подходов и архитектурные улучшения 9:30

За последние годы исследователи нащупали несколько важных улучшений в архитектуре позиционного кодирования:

  1. Послойная инъекция: передача позиционной информации на каждый слой трансформера отдельно, чтобы избавить сеть от необходимости хранить её в промежуточных вычислениях.
  2. Изоляция векторов Value (значение): позиционные данные внедряются строго в векторы Query и Key. Векторы Value остаются «чистыми» от пространственных координат, благодаря чему информационный поток между слоями не зашумляется.

При сравнении современных подходов на тесте с базовым распределением в 1012 токенов выявляются критические недостатки существующих решений:

На этом фоне метод ALiBi выделяется тем, что его эмбеддинги являются фиксированными (необучаемыми), не занимают оперативную память, не замедляют процесс обучения, но при этом обеспечивают стабильную экстраполяцию на экстремально длинные последовательности.

📉 Как устроен алгоритм ALiBi: линейное смещение внимания 13:40

В контексте авторегрессионного языкового моделирования (где применяется причинно-следственное, или казуальное внимание, кодируемое треугольной матрицей) механизм ALiBi предлагает радикально простое математическое решение. Вместо модификации самих входных векторов метод вводит штраф за расстояние непосредственно в процессе расчета матрицы внимания.

Пошаговая структура вычисления ALiBi

Математически это выглядит как вычитание значения $m \cdot \text{distance}$. Поскольку операция происходит до Softmax (который возводит значения в экспоненту), вычитание в логарифмическом пространстве эквивалентно делению в линейном пространстве вероятностей. Таким образом, чем дальше токен находится в прошлом, тем сильнее искусственно занижается его весовое значение в механизме внимания.

Метод распределения параметров наклона ($m$) по головам внимания 20:05

Коэффициент наклона $m$ является уникальной константой для каждой отдельной головы внимания (Attention Head) в слое. Авторы работы предложили фиксированную схему назначения этих коэффициентов. Для модели с 8 головами внимания коэффициенты $m$ представляют собой геометрическую прогрессию, которая начинается с $1/2$ и уменьшается вдвое с каждым шагом:

$$\frac{1}{2}, \frac{1}{4}, \frac{1}{8}, \frac{1}{16}, \frac{1}{32}, \frac{1}{64}, \frac{1}{128}, \frac{1}{256}$$

Для моделей с 16 головами применяется аналогичный, слегка скорректированный паттерн. Янник Килчер выразил личную симпатию к такому подходу, отметив, что параллельные архитектурные элементы (такие как головы внимания) обязательно должны содержать внутренние функциональные различия. В противном случае они начинают опираться исключительно на случайный шум инициализации весов, превращаясь в банальный ансамбль одинаковых моделей. Различные наклоны $m$ заставляют одни головы фокусироваться только на локальном контексте (крутой наклон штрафа), а другие — удерживать в фокусе далекую историю (пологий наклон).

🧪 Экспериментальные результаты и «проклятие ранних токенов» 23:40

Тестирование на датасете WikiText показало убедительное превосходство ALiBi над классической синусоидальной моделью. Нейросеть с ALiBi, обученная на контексте скромной длины в 512 токенов, при тестировании на длинных текстах продемонстрировала перплексию даже более низкую, чем базовая синусоидальная модель, изначально обученная на этих длинных текстах. По мере увеличения длины входной последовательности перплексия ALiBi плавно снижается или остается стабильной.

Янник Килчер призывает воспринимать академические графики с определенной долей скепсиса, напоминая о склонности авторов статей делать условия для базовых моделей чуть хуже ради выигрышного контраста. Тем не менее, экономический эффект очевиден: обучение на коротких последовательностях происходит значительно быстрее, а на инференсе модель безболезненно масштабируется.

В экспериментах обнаружился парадоксальный феномен — качество предсказания текста (перплексия) улучшалось по мере продвижения вглубь сверхдлинного контекста, выходящего за рамки обучения. Авторы исследования объясняют это так называемым «проклятием ранних токенов» (early token curse), связанным со спецификой разбиения валидационных данных.

Из «будущего» в видео монтируется специальное аудиодополнение от Янника Килчера. Он поясняет:

«Что здесь происходит на самом деле? Трансформер вовсе не обретает способность внезапно рассуждать и связывать глубокие логические смыслы на огромном расстоянии. Далекое прошлое затухает из-за штрафов настолько сильно, что модель его просто игнорирует, концентрируясь на свежем контексте. Но это технически спасает её от аппаратного сбоя и поломки генерации, позволяя при этом выуживать критически важные триггеры из глубин истории, если они имеют аномально высокий изначальный вес внимания».

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

💬 Цитаты

«Что здесь происходит на самом деле? Трансформер вовсе не обретает способность внезапно рассуждать и связывать глубокие логические смыслы на огромном расстоянии. Далекое прошлое затухает из-за штрафов настолько сильно, что модель его просто игнорирует, концентрируясь на свежем контексте.»

Янник Килчер 29:25
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Перплексия (Perplexity)
Метрика оценки языковой модели, измеряющая степень неопределенности при предсказании следующего токена; чем она ниже, тем качественнее модель.
Экстраполяция длины контекста
Способность нейросети адекватно обрабатывать последовательности данных, длина которых существенно превышает размер примеров из обучающей выборки.
Авторегрессионная генерация
Пошаговый процесс создания текста, при котором каждый новый сгенерированный токен добавляется в конец входной последовательности для предсказания последующего.
Causal Attention (Причинно-следственное внимание)
Модификация механизма внимания, запрещающая токенам смотреть в «будущее» и ограничивающая их контекст только уже написанными словами.
📊 Цифры
🗓 Хронология
  1. 2017 год Выход статьи 'Attention Is All You Need' и появление архитектуры трансформеров с синусоидальным кодированием.
  2. 2021-2022 гг. Создание и публикация архитектурного решения ALiBi командой исследователей (Офир Пресс, Ноа А. Смит, Майк Льюис).
⚖️ Другая сторона
Искусственный интеллект ALiBi Transformers Механизм внимания Янник Кильхер