LLMCREW / АРХИТЕКТУРА LLM

От Multi Head Attention до MLA, разреженного и линейного внимания

Материал для сообщества LLMCrew.org • сентябрь 2026


Прежде чем разбирать оптимизации, зафиксируем базовые понятия. Токен - минимальный фрагмент последовательности, с которым работает модель. Из hidden state каждого токена attention строит query, key и value. Query отвечает на вопрос «что я ищу», Key - «что я содержу», Value - «что я передам дальше». Сходство между query одного токена и key другого вычисляется через скалярное произведение; после масштабирования, маски и softmax (преобразование вектора из произвольных вещественных чисел) эти оценки превращаются в веса, которыми смешиваются value. В multi-head attention таких проекций несколько: разные головы могут специализироваться на локальном синтаксисе, копировании сущностей, дальних ссылках и других типах зависимостей. Чтобы было более понятно - смотрите на изображение:

Как работает attention: слова, Key, Value, softmax и смешивание
Источник ↗

Для численных примеров ниже будем использовать BF16 = 2 байта на элемент. Это удобная базовая оценка, но не универсальное описание современного инференса: weights, activations, KV cache и сами attention kernels могут использовать FP8, FP4, INT8INT4 и смешанные форматы. Поэтому расчеты в статье нужно читать как способ оценить порядок величины, а не как фиксированную конфигурацию любой LLM.

У современных LLM есть три основных узких места, связанных с attention:

  1. KV cache и скорость декода. Чем длиннее контекст, тем больше ключей и значений приходится хранить для последующего декода. MQA, GQA, MLA и другие схемы сжатия уменьшают объём этого кэша и снижают нагрузку на память.

  2. Стоимость длинного контекста. В полном attention каждый новый запрос сравнивается со всеми доступными токенами. Local, block-sparse и learned sparse attention сокращают число таких сравнений, оставляя только наиболее нужные связи.

  3. Движение данных и эффективность GPU kernel. Даже одна и та же формула attention может выполняться с совершенно разной эффективностью. FlashAttention, cuDNN SDPA, FlashInfer и специализированные kernels уменьшают лишнее движение данных между HBM (High Bandwidth Memory) и вычислительными блоками и за счёт этого ускоряют выполнение.

Три основные проблемы длинного контекста
Источник ↗

Главная мысль статьи проста: современная LLM почти никогда не выигрывает одной «новой формулой attention». Она собирает комбинацию из представления KV, паттерна доступа к истории в контексте и реализации на уровне железа и low-level софта.

Сначала разделим четыре разных понятия

В разговорах об attention часто смешивают архитектуру, паттерн связей, позиционное кодирование и GPU kernel. Из-за этого FlashAttention называют новым видом внимания, RoPE - способом сократить сложность, а PagedAttention - заменой Transformer. Это разные уровни системы.

Уровень

Что он решает

Примеры

На что влияет

Архитектура голов

Как формируются и хранятся Q, K и V

MHA, MQA, GQA, MLA

Качество, размер KV cache, bandwidth декода

Паттерн внимания

Какие прошлые токены доступны текущему токену

Full, sliding window, block sparse, learned top k

Стоимость префилла и длинного декода

Kernel

Как одна и та же математика выполняется на GPU

FlashAttention, cuDNN SDPA, SageAttention

Фактическая скорость, HBM traffic, точность формата

Позиции

Как в Q и K попадает порядок токенов

RoPE, ALiBi, NoPE, iRoPE

Экстраполяция и поведение на длинном контексте

PagedAttention тоже находится рядом, но отвечает за другое: это менеджмент страниц KV cache в serving engine. Он уменьшает фрагментацию и позволяет эффективно делить блоки кэша между запросами, не меняя формулу attention самой модели.

Attention как стек решений: четыре уровня
Источник ↗

Базовая математика и реальная цена

В causal self attention каждый токен строит query и сравнивает его с keys всех доступных предыдущих токенов. После softmax полученные веса смешивают values. Маска запрещает смотреть в будущее.

Attention(Q,K,V)=softmax ⁣(QKTdhead+causal_mask)V\text{Attention}(Q, K, V) = \text{softmax}\!\left(\frac{QK^T}{\sqrt{d_{head}}} + \text{causal\_mask}\right)V

Для последовательности длины n полное внимание создает n на n попарных взаимодействий. Объем вычислений префилла растет как O(n²). Во время авторегрессионного декода новый токен сравнивается со всем уже накопленным контекстом, поэтому работа на один шаг растет примерно линейно с длиной истории. Сам attention на декоде часто упирается не в FLOPS, а в чтение KV cache из памяти.

Удобная оценка размера кэша для одного запроса:

KV bytes2×layers×tokens×kv_heads×head_dim×bytes_per_element\text{KV bytes} \approx 2 \times \text{layers} \times \text{tokens} \times \text{kv\_heads} \times \text{head\_dim} \times \text{bytes\_per\_element}

Первый множитель 2 - отдельные K и V. Например, при 32 слоях, 128K токенов, 8 KV головах, head dimension 128 и BF16 кэш занимает около 16 GiB. Если заменить 8 KV голов на 32 при прочих равных, получится около 64 GiB. Именно поэтому число query heads само по себе почти ничего не говорит о стоимости serving: важен параметр num_key_value_heads.

Цена KV cache: MHA, GQA-8 и MQA при контексте 128K
Источник ↗

Self attention, causal attention и cross attention

Self attention означает, что Q, K и V построены из одной последовательности. Он бывает двунаправленным, когда токен видит позиции слева и справа, и causal, когда маска оставляет только прошлое и текущую позицию. Декодерные текстовые LLM почти всегда используют causal self attention: иначе обучение подсматривало бы будущие токены.

Cross attention берет queries из одной последовательности, а keys и values - из другой. Классический пример - декодер машинного перевода, который обращается к выходам энкодера. В мультимодальных моделях cross attention может связывать текстовые токены с визуальными или аудиопризнаками. Это не конкурент MHA, GQA или MLA: cross attention описывает источник Q, K и V, а MHA, GQA и MLA - внутреннюю организацию голов и кэша.

Self attention и cross attention: откуда берутся Q, K и V
Источник ↗

Multi Head Attention

Классический Multi Head Attention, или MHA, дает каждой голове собственные Q, K и V проекции. Несколько голов могут одновременно искать разные связи: синтаксис, дальние зависимости, копирование имен, структуру кода. Это выразительная и простая базовая схема, но каждая KV голова добавляет данные в кэш.

Сильная сторона MHA - максимум свободы между головами. Слабая - дорогой KV cache и высокий memory bandwidth при декоде. В небольших моделях или коротком контексте это может быть приемлемо, правда промышленном инференсе большая часть этой свободы оказывается слишком дорогой.

Multi Query и Grouped Query Attention

MQA

Multi Query Attention оставляет много query heads, но заставляет их разделять одну пару K и V. Кэш сокращается примерно во столько раз, во сколько число query heads больше числа KV heads. Декод становится заметно дешевле по bandwidth, однако одна общая KV проекция может ухудшать качество и ограничивать специализацию голов.

GQA

Grouped Query Attention - компромисс между MHA и MQA. Query heads делятся на группы, и каждая группа использует свою KV голову. Например, 32 query heads и 8 KV heads означают четыре query heads на одну пару K и V. GQA обычно дает качество близкое к MHA, но сохраняет большую часть выигрыша MQA по кэшу. Поэтому GQA стал распространённым компромиссом для современных LLM, где важны и качество, и стоимость инференса.

Важно: MQA и GQA уменьшают число KV-голов, но не число query-голов. Поэтому на prefill каждая query-head всё ещё должна вычислить attention scores для доступных позиций, и квадратичная зависимость full attention от длины последовательности сохраняется. Главный выигрыш MQA и GQA - меньший KV cache и меньший объём данных, который приходится читать из памяти GPU во время авторегрессионного decode.

Что на самом деле экономит GQA: KV cache в 4 раза, но не вычисления
Источник ↗

Multi Head Latent Attention

Multi Head Latent Attention, или MLA, (предложено в DeepSeek V2) . Вместо хранения полных K и V для каждой позиции модель сохраняет компактное латентное представление. Нужные проекции восстанавливаются или алгебраически поглощаются матрицами query и output на этапе выполнения. Позиционная часть отделяется от сжатой content части, чтобы RoPE (Rotary Positional Embedding, способ сообщить attention, в каком порядке стоят токены и насколько далеко они друг от друга.) не разрушил возможность низкорангового сжатия.

Идея глубже, чем просто уменьшить число KV heads. GQA делит готовые K и V между группами query. MLA учит общий низкоразмерный код, из которого внимание получает нужную информацию. В отчете DeepSeek V2 заявлено сокращение KV cache на 93,3% относительно их предыдущей архитектуры и рост максимального generation throughput до 5,76 раза. Эти цифры относятся к конкретной системе и не являются универсальным коэффициентом для любой модели.

Цена MLA - более сложные проекции, особые kernel paths и чувствительность к hardware balance. Сэкономленные байты могут превратиться в дополнительные матричные операции. На bandwidth limited декоде это отличный обмен; на другом GPU или при слабой реализации выигрыш будет ниже. Архитектуру следует оценивать вместе с inference engine, tensor parallelism и конкретным железом.

Полное, локальное и разреженное внимание

Галерея паттернов внимания: full, sliding window, block sparse, learned top-k, linear
Источник ↗

Full attention

Полное causal attention разрешает каждому токену напрямую обратиться ко всей предшествующей истории. Это самый понятный и надежный паттерн для retrieval и сложной композиции контекста, но его стоимость растет квадратично на префилле. FlashAttention делает его намного быстрее и экономнее по временной памяти, однако не отменяет O(n²) числа сравнений.

Sliding window и local attention

Локальное внимание ограничивает каждый токен последними w позициями. Сложность становится O(nw), а активный кэш можно ограничить окном. Через несколько слоев информация распространяется дальше окна, но прямой доступ к далекому фрагменту теряется. Mistral 7B сочетал GQA и sliding window attention: одна техника уменьшала KV cost, вторая ограничивала attention span.

Современный практический вариант - чередовать локальные и глобальные слои. Большая часть слоев дешево обрабатывает соседний контекст, а редкие full attention слои восстанавливают глобальную связь. Это особенно естественно для кода, документов и мультимодальных последовательностей, где много локальной структуры, но иногда нужен дальний переход.

Фиксированное sparse attention

Block sparse attention заранее задаёт, на какие области контекста может смотреть каждый query. Например, модель может всегда видеть ближайшее локальное окно, несколько глобальных блоков и периодические дальние позиции. Это уменьшает число вычисляемых связей, но такой фиксированный шаблон не умеет находить произвольный важный фрагмент по смыслу. Реальный выигрыш появляется только тогда, когда GPU-kernel действительно пропускает запрещённые блоки и читает разрешённые данные крупными последовательными участками памяти, а не выполняет множество разрозненных чтений.

Обучаемое top k sparse attention

DeepSeek Sparse Attention добавляет легкий indexer, который оценивает прошлые позиции и выбирает top k кандидатов для основного attention. В отличие от sliding window, модель может выбрать далекий токен по содержанию. При фиксированном k стоимость Main Branch становится почти независимой от полной длины истории, однако это не означает бесплатное O(nk) для всего слоя: indexer сначала должен найти кандидатов, а top-k selection и нерегулярные чтения KV могут сами стать bottleneck.

Архитектура MSA: ветка индексатора и main branch
Источник ↗

MiniMax Sparse Attention (MSA) развивает learned sparse attention поверх GQA. Вместо того чтобы каждому query просматривать весь контекст, отдельный indexer сначала выбирает наиболее полезные части истории.

Контекст разбивается на блоки по 128 токенов. Для каждой GQA-группы indexer независимо выбирает top-16 блоков, поэтому основная ветка attention работает только с 2048 KV-токенами независимо от общей длины контекста. Локальный блок с текущим query всегда включается принудительно, а дальние связи выбираются по содержанию.

Indexer обучается приближать распределение обычного full attention, после чего Main Branch считает стандартный softmax attention только по выбранным блокам.

В контролируемом эксперименте на 109B MoE-модели с контекстом 1M авторы получили 28,4× меньше вычислений attention, 14,2× ускорение prefill и 7,6× ускорение decode на H800. Важно, что эти результаты получены именно на исследовательской конфигурации из работы о MSA и не должны напрямую переноситься на публичный MiniMax M3.

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

Грубо говоря: GQA уменьшает, сколько K/V нужно хранить на каждую позицию. MSA уменьшает, сколько сохранённых позиций нужно реально обработать для конкретного query.

И конечно же визуализации для понимания:

MSA: теория по FLOPs против измеренного wall-clock
Источник ↗
Качество: full attention, MSA-PT и MSA-CPT на бенчмарках
Источник ↗
Что выучивает индексатор: паттерны по GQA-группам и слоям
Источник ↗

Поэтому learned sparse attention - это не «бесплатное» O(nk). Помимо самого attention приходится учитывать работу indexer, выбор top-k блоков, хранение служебных данных и чтение разрозненных участков KV cache.

Показательно, что в работах 2026 года, включая MISA, значительная часть оптимизаций уже направлена не на softmax attention, а на ускорение самого indexer и выбор нужных блоков. Это хорошо показывает, что узким местом становится не только вычисление attention, но и поиск тех частей контекста, по которым его нужно считать.

MSA - хороший пример разницы между теорией и реальной производительностью: 28,4× сокращение вычислений по FLOPs на практике превращается примерно в 14,2× ускорение prefill и 7,6× ускорение decode. Часть выигрыша теряется на работе indexer, выборе top-k, чтении разрозненных KV-блоков и объединении частичных результатов.

DeepSeek-V4: compression + sparsity в одном attention stack

DeepSeek-V4 делает следующий шаг после MLA и DSA: сначала сжимает историю по токенам, а затем для каждого query выбирает только наиболее релевантные части этой сжатой истории. Полное attention считается уже не по всему контексту, а только по выбранным участкам. (Вспоминаем механизм sparse selection)

В CSA несколько соседних токенов сначала объединяются в одно компактное представление. В DeepSeek-V4 это позволяет уменьшить длину истории ещё до запуска sparse attention. Затем indexer оценивает уже эту сокращённую историю и для каждого query выбирает только наиболее подходящие участки. Основной attention считается только по ним.

Получается двухступенчатая экономия:

сначала уменьшается сама история → затем из неё выбирается только небольшая часть.

Например, если условно каждые 4 токена объединяются в один элемент, миллион токенов превращается примерно в 250 тысяч элементов. А уже среди них индексатор выбирает небольшой top-k для конкретного query. В DeepSeek-V4 CSA действительно использует сравнительно мягкое сжатие и затем DSA для выбора нужных элементов.

HCA работает иначе. Здесь история сжимается намного сильнее - в конфигурациях V4 примерно по 128 исходных токенов в одно представление. После такого сжатия элементов остаётся настолько мало, что индексатор уже не нужен: каждый query может посмотреть сразу на всю сжатую историю через обычный dense attention.

При этом рядом остаётся небольшое sliding window по исходным токенам. Оно сохраняет точную информацию о недавнем контексте, которую сильное сжатие могло бы потерять. Поэтому у модели фактически есть два уровня памяти:

  • точный недавний контекст;

  • сжатая полная история (Full attention).

А в CSA к этому добавляется ещё и выбор только наиболее релевантных частей дальней истории.

По данным DeepSeek, при контексте 1M DeepSeek-V4-Pro требует около 27% single-token inference FLOPs и 10% KV cache относительно DeepSeek-V3.2. Эти коэффициенты относятся к конкретным архитектурам и реализации DeepSeek, но важен сам дизайн-принцип: compression и sparsity перестают быть альтернативами и начинают работать вместе.

DeepSeek-V4: три масштаба памяти - SWA, CSA и HCA
Источник ↗

Линейное внимание и recurrent память

У softmax attention память о прошлом растет вместе с контекстом: для точного доступа хранятся K и V каждого токена. Linear attention меняет порядок вычислений или использует recurrent state фиксированного размера. История сжимается в матрицу состояния, которую можно обновлять на каждом токене. В результате обработка последовательности линейна по длине, а состояние на декоде не обязано может расти с увеличением контекста.

Главный недостаток такого подхода - потеря точного доступа к прошлому. В обычном attention модель хранит K и V каждого токена отдельно, поэтому может напрямую обратиться к конкретной позиции даже далеко в контексте.

В recurrent и linear attention вся предыдущая история постепенно сжимается в состояние фиксированного размера. Чем больше информации приходится в него упаковать, тем сложнее сохранить отдельные факты без потерь и затем точно извлечь нужный.

Чтобы уменьшить эту проблему, используются gating, delta rule и selective updates. Они позволяют модели не просто добавлять новую информацию в состояние, но и решать, что сохранить, что обновить, а что удалить.

Kimi Linear строится вокруг Kimi Delta Attention и использует гибрид слоёв KDA и MLA. Авторы сообщают, что модель с 48 млрд параметров, из которых при работе активируются около 3 млрд, превосходит вариант с full MLA при одинаковых условиях обучения. При этом объём KV cache сокращается до 75%, а скорость генерации на контексте 1M увеличивается до шести раз.

Kimi Delta Attention: редактируемая память фиксированного размера
Источник ↗

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

Mamba и Mamba 2 часто обсуждаются рядом с линейным и recurrent attention, хотя формально они относятся к другому классу архитектур - selective state space models. Вместо прямого сравнения каждого токена со всей историей они постепенно обновляют внутреннее состояние, через которое и передаётся информация о предыдущем контексте.

На практике наиболее перспективным выглядит не полный отказ от Transformer, а гибридный подход. Часть слоёв дешёво переносит информацию через компактное состояние, а отдельные слои с обычным или latent attention сохраняют возможность точно обратиться к конкретным фрагментам прошлого.

Full attention против recurrent памяти
Источник ↗

FlashAttention не меняет того, на что смотрит модель

Обычная реализация attention может создавать большую промежуточную матрицу весов и многократно записывать её в видеопамять HBM, а затем снова читать оттуда. На длинном контексте значительная часть времени уходит уже не на сами вычисления, а на перемещение данных между памятью и вычислительными блоками GPU.

FlashAttention решает именно эту проблему. Q, K и V обрабатываются небольшими блоками, которые по очереди загружаются в быструю память непосредственно на GPU. Softmax при этом вычисляется постепенно, поэтому целиком хранить огромную матрицу attention scores в HBM не требуется.

Само dense attention от этого не меняется: модель по-прежнему учитывает те же связи между токенами. Меняется только способ выполнения вычислений. За счёт меньшего количества чтений и записей в HBM GPU тратит меньше времени на ожидание данных и больше - непосредственно на расчёты.

Последующие версии FlashAttention в основном адаптировали эту идею под новые поколения GPU. FlashAttention 2 улучшил распределение работы между потоками GPU и общий параллелизм вычислений. FlashAttention 3 был оптимизирован прежде всего под архитектуру NVIDIA Hopper. Он сильнее использует асинхронное выполнение: пока одна часть GPU считает матричное умножение, другая может подготавливать следующие данные. Также были добавлены оптимизации для квантований типа FP8. FlashAttention 4 развивает тот же подход уже для Blackwell, включая B200 и GB200. Blackwell значительно увеличил производительность матричных вычислений, поэтому узкими местами стали другие операции - работа с памятью и вычисление softmax. FA4 использует более крупные блоки вычислений, Tensor Memory и переработанный конвейер выполнения, чтобы лучше загрузить новое железо. В тестах авторов на B200 версия для BF16 достигала до 1613 TFLOPS, около 71% теоретического пика, и показывала ускорение до 1,3× относительно cuDNN 9.13 и до 2,7× относительно Triton.

При этом нельзя просто выбирать FlashAttention по принципу «чем новее версия, тем быстрее». FA3 проектировался под Hopper, FA4 - под Blackwell, а конкретный inference engine может использовать собственные оптимизированные реализации attention.

Поэтому в vLLM или SGLang быстрее в конкретной конфигурации может оказаться не FlashAttention, а cuDNN SDPA, FlashInfer или специализированное ядро для MLA или sparse attention.

На практике сравнивать нужно не название бекенда, а итоговую производительность системы: TTFT, TPOT, throughput и потребление памяти на нужной длине контекста и при реальном числе одновременных запросов.

Почему FlashAttention быстрее обычной реализации
Источник ↗

Сравнение основных подходов

Механизм

Главная идея

KV cache

Длинный префилл

Зрелость

MHA

Отдельные Q, K, V для каждой головы

Большой

O(n²)

Классическая база

MQA

Одна KV голова на все query heads

Минимальный среди softmax вариантов

O(n²)

Зрелый, возможна потеря качества

GQA

Несколько групп с общими KV

Низкий

O(n²)

Зрелый практический default

MLA

Низкоранговый latent cache

Очень низкий

O(n²) при full pattern

Production proven, сложнее kernels

Sliding window

Доступ только к последним w токенам

Окно или полный кэш по реализации

O(nw)

Зрелый для локальной структуры

Learned sparse

Indexer выбирает top k прошлых токенов

Обычно растет с n

Главная часть около O(nk), плюс indexer

Frontier, быстро развивается

MSA / MiniMax

Block-sparse поверх GQA: indexer выбирает top-16 блоков по 128 токенов отдельно для каждой GQA-группы

Как у GQA, не сокращает саму историю

Main Branch ограничен sparse-бюджетом; плюс стоимость indexer

Production-grade модель выпущена как MiniMax M3, kernel open source

DeepSeek-V4 CSA + HCA

Token compression по временной оси + sparse retrieval в CSA; более сильная compression + dense summary attention в HCA; локальный SWA

Сильно сокращен относительно V3.2

Гибрид: sparse по compressed history + dense по редким summaries

Productionopen weights, 1M context

Linear recurrent

Фиксированное состояние вместо списка KV

O(1) по длине

Линейный по n

Перспективный, чаще гибрид

FlashAttention

IO aware точный GPU kernel

Не меняет архитектурный объем

Все еще O(n²)

Стандарт реализации full attention

Какие решения считать топовыми в 2026 году

  1. 1. GQA + оптимизированный exact-attention kernel - зрелая и консервативная база. Это хорошо понятная архитектура с широкой поддержкой в inference-движках и удачным балансом между качеством, размером KV cache и скоростью работы.

  2. MLA - проверенный способ агрессивно уменьшить объём KV-состояния на одну позицию. Особенно полезен при высокой параллельности запросов и длинной генерации, но требует хорошей поддержки со стороны kernels и продуманного распределения вычислений между GPU.

  3. Гибрид local + global attention - относительно простой способ снизить стоимость длинного контекста без отдельного обучаемого механизма поиска на каждом слое. Такой подход хорошо подходит для кода, документов и мультимодальных последовательностей, где большая часть зависимостей локальна, но периодически нужен доступ к далёкому контексту.

  4. Learned sparse attention - одно из главных направлений для задач, где важен точный доступ к далёким фрагментам контекста. DSA использует выбор отдельных токенов поверх MLA, а MSA - выбор целых блоков отдельно для каждой GQA-группы с реализацией, рассчитанной на эффективную работу на GPU.

  5. Compression + sparsity - важный новый класс подходов 2026 года. DeepSeek-V4 показывает, что историю можно сначала сжать по временной оси, затем выбирать только нужные сжатые представления, а часть слоёв использовать как сильно сжатую глобальную память. Такой подход одновременно уменьшает объём KV cache и количество данных, которые приходится читать при работе с длинным контекстом.

  6. Hybrid linear / recurrent attention - наиболее радикальная альтернатива постоянно растущему KV cache. Kimi Linear показывает, что гибрид KDA + MLA уже может конкурировать с традиционным softmax attention, но независимых крупномасштабных подтверждений у этого направления пока меньше, чем у GQA, MLA и sparse-подходов.

Главный тренд 2026 года - не поиск одного «лучшего» механизма внимания, а комбинация нескольких уровней оптимизации: уменьшить объём состояния на токен, сократить число хранимых позиций, уменьшить число реально читаемых токенов и только потом выжимать максимум из kernel под конкретное железо.

И в этом особенно хорошо видно силу open source. Идеи не развиваются изолированно. Одни команды публикуют архитектурные находки, другие улучшают kernels, третьи переносят их в inference engine, а четвёртые проверяют всё это на другом железе и в других сценариях. В результате удачные решения быстро переиспользуются, комбинируются и становятся основой для следующего поколения моделей.

Ну и если вдруг вы или ваша команда, 中国兄弟, решите собрать свою новую LLM - последний блок статьи посвящается именно вам.

Как выбирать механизм для собственной модели

Дерево выбора механизма внимания по сценарию
Источник ↗

Сценарий

Что выбрать сначала

Почему

Что измерить

Обычная чат или кодинг до 128K

GQA + FlashAttention или SDPA

Минимальный архитектурный риск и широкая поддержка

TTFT, TPOT, tokens per second, качество retrieval

Высокая concurrency и длинные ответы

MLA или агрессивный GQA

Decode упирается в KV bandwidth и емкость памяти

KV bytes per token, batch size, inter GPU traffic

Документы и код на 256K plus

Local + global hybrid или learned sparse (MSA, DSA)

Нужно сократить число дальних сравнений

LongBench, RULER, реальные repo QA задачи

Миллион токенов, точный retrieval

Compression + sparse hybrid (например, CSAHCA-класс)

Одновременно сокращает сохраненную историю и число читаемых позиций

KV bytestoken, multi-key retrieval, TTFTTPOT на 1M

Миллион токенов и streaming state

Hybrid linear + периодический full или MLA

Фиксированное state ограничивает рост памяти

Забывание, multi-key retrieval, throughput при росте context

Исследовательская архитектура

KDA, Gated DeltaNet 2, DSA variants

Наибольший потенциальный выигрыш при большем риске

Scaling law, стабильность обучения, kernel availability

Итог

Attention больше не является одной монолитной операцией. Современная LLM собирает его как стек решений: способ представить K и V, правило выбора прошлых токенов, позиционную схему, формат кэша и kernel под конкретное железо.

Если нужен один безопасный вывод, он такой: GQA + хороший exact attention kernel остается зрелой отправной точкой; MLA уменьшает состояние на позицию. local и learned sparse attention сокращают число дорогих связей, а DeepSeek-V4 показывает следующий шаг - совместить compression по временной оси со sparse retrieval и локальным окном; linearrecurrent механизмы становятся конкурентоспособными прежде всего в гибридных архитектурах.

Эволюция attention идёт не от MHA к какому-то одному «новому attention». Она движется к сочетанию нескольких уровней оптимизации: compression + selection + hardware-aware kernels. На практике выигрывает не решение с самой красивой асимптотикой, а тот стек, который сохраняет качество retrieval и reasoning и при этом действительно даёт ускорение на конкретном железе и в вашем serving-сценарии.

Источники

  1. Vaswani et al. Attention Is All You Need, 2017

  2. Shazeer. Fast Transformer Decoding One Write Head Is All You Need, 2019

  3. Ainslie et al. GQA Training Generalized Multi Query Transformer Models, 2023

  4. Jiang et al. Mistral 7B, 2023

  5. DeepSeek AI. DeepSeek V2, 2024

  6. Dao et al. FlashAttention, 2022

  7. Shah et al. FlashAttention 3, 2024

  8. Zadouri et al. FlashAttention 4, 2026

  9. Dao and Gu. Transformers are SSMs and Mamba 2, 2024

  10. Yang et al. Gated Delta Networks, 2024

  11. Kimi Team. Kimi Linear, 2025

  12. Hatamizadeh et al. Gated DeltaNet 2, 2026

  13. Zhou et al. MISA Mixture of Indexer Sparse Attention, 2026

  14. DeepSeek AI. Introducing DeepSeek V3.2 Exp, 2025

  15. Dao. FlashAttention 2 Faster Attention with Better Parallelism, 2023

  16. MiniMax. MiniMax Sparse Attention, 2026

  17. MiniMax-AI. MSA inference kernel, GitHub, 2026

  18. DeepSeek-AI. DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence, 2026

  19. DeepSeek-AI. DeepSeek-V4-Pro model card, 2026

  20. vLLM Team. DeepSeek V4 in vLLM: Efficient Long-context Attention, 2026

Спасибо.