Механизм внимания и способ его вычисления — разные уровни описания.
FlashAttention
Определение
FlashAttention — алгоритм точного вычисления внимания блоками, сокращающий обмен данными между основной памятью GPU и быстрой памятью на кристалле.
Также ищут: Flash Attention · FlashAttention 2022
Зачем это знать
При длинном контексте важно различать обмен с памятью, объём вычислений и хранение KV-кэша. FlashAttention сокращает обмен и позволяет не сохранять полную матрицу внимания, но не устраняет вычисления полного внимания и не сжимает KV-кэш.
Карта понятия
Что подтверждено
FlashAttention вычисляет полное внимание блоками, не сохраняя целиком матрицу N×N в основной памяти GPU (HBM). Точность означает сохранение математического результата, не обещание побитового совпадения.
Граница применимости: FlashAttention, arXiv:2205.14135v2, §3.1, Algorithm 1, Theorem 1; без разреженного расширения. Численная оговорка — по PyTorch 2.9 Numerical accuracy; конкретная реализация не проверялась.
Объём вычислений остаётся O(N²d): при фиксированном размере головы d зависимость от длины N квадратичная. Экономия обращений к памяти не равна устранению этих вычислений.
Граница применимости: arXiv:2205.14135v2, Theorem 1; полное внимание, не время конкретного запуска.
При обратном проходе промежуточное внимание пересчитывается по блокам вместо чтения сохранённой полной матрицы. Число арифметических операций может увеличиться.
Граница применимости: arXiv:2205.14135v2, §§3.1–3.2; обучение, не каждый шаг генерации.
FlashAttention меняет вычисление по заданным Q/K/V, а не число голов K/V или формат их хранения. Поэтому сам алгоритм не заменяет GQA и не сжимает KV-кэш.
Граница применимости: Сопоставление Algorithm 1 FlashAttention, arXiv:2205.14135v2 и GQA §2.2; без утверждений о конкретном движке.
Блочно-разреженный вариант FlashAttention пропускает выбранные блоки и описан отдельно как приближение полного внимания.
Граница применимости: arXiv:2205.14135v2, §3.3; не путать с точным основным алгоритмом.
Не путать
Что проверить
- Зафиксируйте версию реализации, GPU, размеры входа, тип данных и маску.
- Сравните результат с эталоном при заранее заданной численной погрешности.
Первоисточники
- PyTorch 2.9: Numerical accuracy
Прочитаны вступление и Batched computations or slice computations. Общая граница численной воспроизводимости, а не проверка конкретной реализации FlashAttention или требование использовать PyTorch 2.9.
Утверждения: 01
- GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
Прочитаны §§2.1–2.2, 3.1, таблица 1 и Limitations; схема голов — рисунок 2. Использована версия публикации ACL.
Утверждения: 04
- Attention Is All You Need
Прочитаны §§2, 3.1–3.2.3 и 4 (15.10.2026); 26.10.2026 дополнительно сверены §§3.3 и 3.5 для position-wise FFN и позиционного кодирования. Формулы и маска сверены с публикационным PDF NeurIPS 2017, с. 3–5.