GPU, ускорители и инфраструктура LLM

FlashAttention

Определение

FlashAttention — алгоритм точного вычисления внимания блоками, сокращающий обмен данными между основной памятью GPU и быстрой памятью на кристалле.

Также ищут: Flash Attention · FlashAttention 2022

Зачем это знать

При длинном контексте важно различать обмен с памятью, объём вычислений и хранение KV-кэша. FlashAttention сокращает обмен и позволяет не сохранять полную матрицу внимания, но не устраняет вычисления полного внимания и не сжимает KV-кэш.

Доказательная часть

Что подтверждено

  1. FlashAttention вычисляет полное внимание блоками, не сохраняя целиком матрицу N×N в основной памяти GPU (HBM). Точность означает сохранение математического результата, не обещание побитового совпадения.

    Граница применимости: FlashAttention, arXiv:2205.14135v2, §3.1, Algorithm 1, Theorem 1; без разреженного расширения. Численная оговорка — по PyTorch 2.9 Numerical accuracy; конкретная реализация не проверялась.

  2. Объём вычислений остаётся O(N²d): при фиксированном размере головы d зависимость от длины N квадратичная. Экономия обращений к памяти не равна устранению этих вычислений.

    Граница применимости: arXiv:2205.14135v2, Theorem 1; полное внимание, не время конкретного запуска.

  3. При обратном проходе промежуточное внимание пересчитывается по блокам вместо чтения сохранённой полной матрицы. Число арифметических операций может увеличиться.

    Граница применимости: arXiv:2205.14135v2, §§3.1–3.2; обучение, не каждый шаг генерации.

  4. FlashAttention меняет вычисление по заданным Q/K/V, а не число голов K/V или формат их хранения. Поэтому сам алгоритм не заменяет GQA и не сжимает KV-кэш.

    Граница применимости: Сопоставление Algorithm 1 FlashAttention, arXiv:2205.14135v2 и GQA §2.2; без утверждений о конкретном движке.

  5. Блочно-разреженный вариант FlashAttention пропускает выбранные блоки и описан отдельно как приближение полного внимания.

    Граница применимости: arXiv:2205.14135v2, §3.3; не путать с точным основным алгоритмом.

Граница терминов

Не путать

FlashAttention Самовнимание

Механизм внимания и способ его вычисления — разные уровни описания.

Перед спецификацией

Что проверить

  1. Зафиксируйте версию реализации, GPU, размеры входа, тип данных и маску.
  2. Сравните результат с эталоном при заранее заданной численной погрешности.
Открытые основания

Первоисточники

  • Исследование3
  • Документация1
  • Первичная публикация
    FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness Tri Dao, Daniel Y. Fu, Stefano Ermon, Atri Rudra, Christopher Ré · arXiv:2205.14135v2, 23 июня 2022; §§2.2–3.3, 5 · проверено

    Прочитаны §§2–3.3 и 5; Algorithm 1 и Theorem 1 сверены с PDF v2, с. 5. На титуле PDF стоит 24 июня; дата версии arXiv — 23 июня. Более поздние FlashAttention не описываются.

    Утверждения: 01 · 02 · 03 · 04 · 05

  • Официальная документация
    PyTorch 2.9: Numerical accuracy PyTorch Contributors · PyTorch 2.9; Numerical accuracy; обновлено 16 июля 2025 · проверено

    Прочитаны вступление и Batched computations or slice computations. Общая граница численной воспроизводимости, а не проверка конкретной реализации FlashAttention или требование использовать PyTorch 2.9.

    Утверждения: 01

  • Первичная публикация
    GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints Joshua Ainslie и соавторы; Association for Computational Linguistics · EMNLP 2023, с. 4895–4901; §§2–3.1, Limitations · проверено

    Прочитаны §§2.1–2.2, 3.1, таблица 1 и Limitations; схема голов — рисунок 2. Использована версия публикации ACL.

    Утверждения: 04

  • Первичная публикация
    Attention Is All You Need Ashish Vaswani и соавторы · arXiv:1706.03762v5, 6 декабря 2017; §§3.1–3.5 · проверено

    Прочитаны §§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.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие