How attention sinks keep language models stable
Почему модели ломаются на длинных диалогах
При удалении старых токенов для экономии памяти модель начинает выдавать бессмыслицу. Причина — «attention sinks»: первые токены собирают избыточное внимание, потому что softmax требует, чтобы веса суммировались в 1.
StreamingLLM
Оставляем первые 4 токена навсегда, остальное сдвигаем окном. Работает до 4 млн токенов; уже в HuggingFace, TensorRT-LLM и новых OpenAI-моделях.
OpenAI и attention sinks
В GPT-OSS-20B/120B добавлен обучаемый скаляр в softmax каждой головы, позволяющий «не обращать внимания» — прямое наследие StreamingLLM.
История открытия
Летом 2023 в Meta я решал задачу: как продолжать диалог длиннее обучающего окна. Казалось, что достаточно скользящего окна, но при удалении первых токенов перплексия взлетала до небес.
Визуализация
Внимание Llama-2 постоянно «сливается» в начало. Эти токены-«стоки» не передают внимание дальше, а лишь поглощают его, поэтому их нельзя выбрасывать.
Математика
Softmax обязывает каждую голову распределить ровно 1.0 внимания. Если нет полезного контекста, весь «бюджет» уходит в первые позиции, где чуть выше базовые скоры.