Квадратичная цена attention
Full attention (полное внимание) сравнивает каждый запрос с каждым ключом. Для
Каждая пара требует оценки
В матрице
Сначала сравните полный квадрат при длинах 4 и 8, затем включите причинную маску. Сосчитайте разрешённые пары в обоих случаях. Убирает ли треугольная форма квадратичный порядок роста?
Causal mask отсекает верхний треугольник, но меняет только постоянный множитель: вместо
Считать квадрат лучше — не значит убрать его
FlashAttention не хранит всю матрицу оценок в медленной памяти и обрабатывает её блоками. Это резко сокращает обмен данными, но каждая допустимая пара
- Обычная реализация
Матрица материализуется; дороги и вычисления, и промежуточная память. - FlashAttentionМатрица читается блоками; обмен с памятью меньше, но участвуют те же пары.
Полная и causal-матрица различаются площадью, но принадлежат одному классу сложности.
Как перестать перебирать все пары
Конкретных архитектур много, но за ними стоят три основных хода. Можно оставить лишь часть связей, сжать память до небольшого числа представителей или заменить правило сходства так, чтобы сначала собрать общий итог по ключам и значениям.
Начните с точного вычисления и по очереди сравните с ним остальные способы. Для каждого решите, меняются ли доступные связи, представление памяти или само правило вычисления весов. Какая экономия совместима с сохранением исходного результата?
- Разредить графSparse attention (разрежённое внимание) оставляет окно, выбранные блоки или глобальные токены.
- Сжать памятьМножество ключей и значений заменяется
представителями. - Факторизовать правилоСначала строится компактный итог по
, затем к нему обращаются запросы.
Сэкономленная работа имеет цену
Full attention позволяет любой позиции напрямую обратиться к любой другой. Именно эту свободу альтернативы ограничивают, сжимают или описывают иной математической формой.
- Sparse attentionПреимущество: сохраняет детали доступных токенов. Цена: дальняя связь может отсутствовать.
- Сжатая памятьПреимущество: сохраняет глобальный обзор. Цена: часть мелких различий теряется.
- Linear attentionПреимущество: масштабируется линейно по n. Цена: меняет ядро и характер выбора.