Новый «Детектор поглотителей внимания» (Attention Sink Detector) выявляет токены, которые аккумулируют большую часть массы внимания на этапе префилла (prefill) при инференсе больших языковых моделей (LLM). Инструмент показывает, что удаление этих токенов-поглотителей из KV-кеша (key-value cache) критически снижает производительность модели, делая их необходимыми якорями для стабильной генерации.

Почему этап префилла имеет значение

Большинство исследований LLM сосредоточены на цикле генерации токена за токеном, но работа, происходящая до появления первого токена — префилл — задает тон всему последующему процессу. Во время префилла модель обрабатывает весь промпт, формирует KV-кеш и распределяет внимание по всем позициям. Поскольку сумма весов внимания, вычисляемых через softmax, должна быть равна 1, модель не может «решить», что ничего не является релевантным. Она сбрасывает оставшуюся массу вероятности на токен, к которому легко обратиться, — обычно это первый токен в последовательности. Этот токен становится поглотителем внимания (attention sink).

Что такое поглотитель внимания простыми словами

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

Риски при управлении KV-кешем

KV-кеши хранят векторы ключей (key) и значений (value) для каждого обработанного токена, что обеспечивает быстрый поиск во время генерации. В сценариях с длинным контекстом специалисты проводят прунинг (обрезку) кеша, чтобы уложиться в лимиты памяти GPU. Новый детектор показывает, что бездумное удаление токенов, кажущихся «неважными», приводит к удалению тех самых поглотителей, на которые полагается модель, что вызывает резкое падение производительности. Фиксация (pinning) токенов-поглотителей в кеше сохраняет внутреннее равновесие модели и обеспечивает стабильность генерации.

Как работает детектор

  • Eager attention: Реализация обходит быстрые ядра, такие как FlashAttention, которые схлопывают полную матрицу внимания, и вместо этого записывает необработанные (raw) оценки внимания для каждой головы.
  • Layer-wide aggregation: Оценки усредняются по всем слоям и головам для создания единого профиля массы внимания на каждый токен.
  • Log-median absolute deviation (MAD): Поскольку веса внимания имеют сильное правостороннее смещение, простая проверка через среднее значение и стандартное отклонение ошибочно классифицирует нормальную вариативность как выбросы. Логарифмическое преобразование весов нормализует распределение; применение MAD позволяет выявить токены, чья масса внимания превышает типичный разброс.

Два обнаруженных класса поглотителей

  1. Истинные поглотители (True sinks) — BOS-токен (начало предложения) последовательно поглощает огромную часть внимания, независимо от содержания промпта.
  2. Структурные поглотители (Structural sinks) — токены, принадлежащие системным промптам, такие как маркеры, используемые в ChatML (<im_start>, <im_end>), образуют небольшие кластеры, которые также привлекают внимание. Они действуют как логические границы, помогая модели отделять сообщения пользователя от системных инструкций.

Контраргумент: действительно ли нам нужна необработанная матрица?

Автор отмечает, что без необработанных данных явление поглотителей остается скрытым, и любая политика прунинга кеша, основанная на неполных данных, рискует дестабилизировать модель.

За чем следить дальше

Детектор является второй частью серии из четырех работ, которая началась с трекера энтропии для оценки качества генерации. Следующая часть объединит обнаружение поглотителей со спекулятивным декодированием под управлением энтропии (entropy-guided speculative decoding). Заключительным этапом станет эмпирическое исследование.

Вывод: Поглотители внимания — это не малоизвестная причуда, а структурные столпы, которые поддерживают упорядоченное распределение внимания трансформера во время префилла. Любая стратегия прунинга KV-кеша, игнорирующая их, поставит под угрозу стабильность модели. Обнаружение и сохранение этих токенов — это малозатратный способ защиты, который может сделать инференс с длинным контекстом одновременно надежным и эффективным.