marginparsep был изменён. topmargin был изменён. marginparwidth был изменён. marginparpush был изменён. Разметка страницы нарушает стиль ICML. Пожалуйста, не изменяйте разметку страницы и не подключайте пакеты вроде geometry, savetrees или fullpage, которые меняют её за вас. Мы не можем надёжно отменить произвольные изменения стиля. Пожалуйста, удалите проблемный(е) пакет(ы) или команды, изменяющие разметку, и повторите попытку..

 

BLASST: динамическое блочное разрежение механизма внимания с использованием порогового отсечения Softmax

 

Авторы без указания1 

Аннотация

Растущий спрос на возможности долгосрочного контекстного вывода в больших языковых моделях (LLMs) усугубил проблемы с производительностью и памятью, присущие стандартному механизму внимания. Для решения этой задачи мы представляем BLASST — метод разреженного внимания по принципу «вставь и работай», который динамически обрезает матрицу внимания без каких-либо предварительных вычислений или оценок-прокси. Наша методика использует фиксированный порог и имеющуюся информацию из online softmax для выявления пренебрежимо малых оценок внимания, пропуская вычисление softmax, загрузку Value block и последующее матричное умножение. Это естественным образом встраивается в существующие конструкции ядер FlashAttention с пренебрежимо малым накладным временем. Подход применим как на стадиях prefill, так и decode для всех вариантов внимания (MHA, GQA, MQA и MLA), обеспечивая единое решение для ускорения вывода с длинным контекстом. Мы разрабатываем автоматизированную процедуру калибровки, которая выявляет простую обратную зависимость между оптимальным порогом и длиной контекста, позволяя надежно разворачивать метод в разнообразных сценариях. Сохраняя высокую точность, мы демонстрируем ускорение 1.62×\times для prefill при разреженности 74.7% и ускорение 1.48×\times для decode при разреженности 73.2% на современных GPU. Кроме того, мы изучаем обучение с учетом разреженности как естественное продолжение, показывая, что модели можно обучать так, чтобы они изначально были более устойчивыми к разреженным паттернам внимания, продвигая границу «точность—разреженность» еще дальше.

††сноска: 1Анонимное учреждение, Анонимный город, Анонимный регион, Анонимная страна. Сведения для переписки: Анонимный автор <anon.email@domain.com>>.
Предварительная работа. На рассмотрении в конференции Machine Learning and Systems (MLSys). Не распространять.

1 Введение

Большие языковые модели (LLMs) произвели революцию в обработке естественного языка, продемонстрировав выдающуюся производительность на разнообразных задачах. Однако при их практическом развертывании возникает критическое узкое место: квадратичная вычислительная сложность механизма внимания. По мере того как приложения все чаще требуют более длинных окон контекста — от обработки целых баз кода roziere2023code до анализа объемных документов zeng2025glm и поддержания продолжительных разговоров achiam2023gpt — это узкое место становится все более серьезным. Недавние модели, такие как Deepseek-R1 guo2025deepseek и Qwen3 yang2025qwen3, поддерживают длины контекста до 128K токенов, а некоторые модели продвигаются до 1M токенов comanici2025gemini. Тем не менее обработка таких длинных последовательностей по‑прежнему оказывается вычислительно неприемлемой, поскольку вычисления внимания доминируют как по задержке, так и по потреблению памяти. Для последовательности длины nn механизм внимания требует O​(n2)O(n^{2}) операций и обращений к памяти, что делает реальное развертывание длинноконтекстных

Refer to caption
⟦Figure 1: Обзор BLASST. Блоки вдоль строки матрицы внимания последовательно обрабатываются. Мы (1) обновляем текущий максимум строки (m(j)m^{(j)}) как в FlashAttention, (2) вычисляем максимальное значение блока (m~(j)\tilde{m}^{(j)}) для каждого блока SjS_{j} (Q​Kj⊤QK_{j}^{\top}) и (3) пропускаем последующую работу, если максимальное значение блока ниже текущего максимума более чем на входной порог, ln⁡(λ)\ln(\lambda). Полные подробности приведены в алгоритме 1.

моделей сложным даже при использовании современного оборудования. Хотя FlashAttention dao2022flashattention и его последователи оптимизировали использование пропускной способности памяти за счет разбиения на блоки и слияния ядер, они по-прежнему вычисляют полную матрицу внимания, оставляя фундаментальную квадратичную сложность без решения.

Методы разреженного внимания стали многообещающим решением благодаря тому, что вычисляют только подмножество полной матрицы внимания. Однако существующие подходы страдают от фундаментальных ограничений. Во‑первых, они требуют нетривиальных операций для определения шаблонов разреженности: методы вроде MInference jiang2024minference и XAttention xu2025xattention выполняют дорогие предварительные проходы для выявления важных блоков, что часто сводит теоретическое ускорение к минимуму; в то время как статические шаблоны разреженности xiao2023efficient позволяют избежать предварительных вычислений, но являются негибкими и часто неоптимальными для разнообразных распределений внимания в разных задачах и для разных длины контекста. Во‑вторых, эти методы опираются на косвенные оценки важности, такие как накопленные веса внимания или сходство запрос–ключ, которые могут быть неточными и упускать критические взаимодействия токенов. В‑третьих, большинство существующих методов разреженного внимания ориентированы исключительно либо на фазу prefill, либо на фазу decode, упуская возможности для сквозной оптимизации..

В данной статье мы представляем BLASST (BLocked Attention Sparsity via Softmax Thresholding), простoй, но при этом эффективный метод разреженного внимания, который динамически отсекает незначимые блоки внимания без какого-либо дополнительного накладного вычислительного расхода на предварительное вычисление. Наш ключевой вывод заключается в том, что в ходе блочной онлайн-реализации softmax в FlashAttention мы можем определять и пропускать блоки, вклад которых в итоговый выход будет пренебрежимо малым, опираясь только на уже вычисленную информацию. В частности, при последовательной обработке блоков мы поддерживаем текущее максимальное значение оценок внимания. Как показано на Рисунке 1, если локальная максимальная оценка блока существенно меньше текущего максимума (на величину порога λ\lambda), то его значения после softmax будут близки к нулю после нормализации. Поэтому для таких блоков мы можем пропустить три дорогостоящие операции: (1) вычисление экспоненты для softmax, (2) загрузку соответствующего блока значений из HBM и (3) выполнение матричного умножения с этими значениями. Это простое правило отсечения требует лишь одного сравнения на блок и без труда встраивается в существующие реализации FlashAttention.

Чтобы максимизировать практическое влияние BLASST, мы разрабатываем высоко оптимизированные CUDA-ядра, реализующие наш алгоритм разреженного внимания. Наши ядра ориентированы на две ключевые цели: (1) обеспечить минимальные накладные расходы для логики принятия решения о пропуске блоков за счет повторного использования уже вычисленных статистик и (2) стратегически воздействовать на узкие места ресурсов на каждом этапе — снижать использование CUDA core и tensor core при вычислительно-насыщенном prefill и снижать потребление пропускной способности памяти при память-ограниченном decode. Мы реализуем специализированные ядра как для этапа prefill, так и для decode, с оптимизациями, соответствующими их различным вычислительным шаблонам. На современных GPU (H200, B200) наши ядра достигают до 1.62×\times ускорения для prefill при 74.7% разреженности и 1.48×\times ускорения для decode при 73.2% разреженности по сравнению с базовыми вариантами FlashAttention shah2024flashattention, при этом сохраняя численную устойчивость и поддерживая различные варианты внимания, включая grouped-query attention и sliding window attention.

Помимо базового алгоритма и реализации ядра, мы разрабатываем две ключевые техники для улучшения развертывания и производительности BLASST. Во-первых, мы предлагаем автоматизированную процедуру калибровки, которая определяет оптимальные пороги для любого целевого уровня разреженности. Наша калибровка выявляет устойчивую обратную зависимость λ=a/L\lambda=a/L между порогом и длиной контекста LL, обеспечивая надежное развертывание в различных сценариях без ручной настройки. Во-вторых, мы исследуем обучение с учетом разреженности как естественное продолжение, показывая, что модели можно обучать так, чтобы они были изначально более устойчивыми к разреженным шаблонам внимания. Такой подход к обучению дополнительно продвигает границу точность-разреженность, позволяя достигать еще более высоких уровней разреженности при минимальной потере точности.

Наши вклад(ы) включают:

  1. ⟦1. Метод «подставь и работай» без накладных расходов на предварительные вычисления и без прокси-оценок, обеспечивающий минимальную потерю точности.
  2. ⟦2. Автоматический подбор гиперпараметров и обучение с учетом разреженности для надежного, гибкого и расширяемого развертывания.
  3. 3. Оптимизированные CUDA-ядра на базе FlashAttention для как префилла, так и декодирования, с высокой производительностью.

2 Смежные работы

Эффективное использование свойства разреженного внимания требует либо уменьшения вычислений для неважных взаимодействий, либо уменьшения занимаемой памяти (например, KV cache - Key (К) и Value (V) для каждого уже обработанного токена) без дорогостоящих накладных расходов на выбор или переобучение. По сравнению со следующими связанными работами BLASST одновременно решает оба этих аспекта, в режиме без обучения.

2.1 Сжатие с разреженностью, оптимизированной для вычислений

Несколько подходов снижают вычисления внимания за счет выбора важных взаимодействий. Статические методы по шаблонам, такие как Sparse Transformer child2019generating, LongFormer beltagy2020longformer и BigBird zaheer2020big, уменьшают сложность за счет локального или блочного внимания. Методы на основе retrieval-головок wu2024retrieval; xiao2024duoattention ускоряют декодирование модели, сосредоточивая вычисления на ключевых retrieval-головках. Динамические методы разреженности, такие как MInference jiang2024minference, используют предварительно вычисленные оценки важности, XAttention xu2025xattention ранжирует антидиагональные блоки, а FlexPrefill lai2025flexprefill предлагает поддерживаемые компилятором гибкие блочные шаблоны; при этом эффективные для prefill, их предварительные вычисления и накладные расходы планирования могут ограничивать достигнутые ускорения. Разреженность, обусловленная обучением, такая как SeerAttention gao2025seerattention, индуцирует высокую разреженность через (пред)обучающие затворы, улучшая эффективность, но добавляя стоимость обучения и демонстрируя смешанную эффективность на последующих задачах.

SpargeAttention zhang2025spargeattn имеет самое близкое по замыслу к BLASST. Мы отличаемся в трех ключевых аспектах: (1) BLASST оптимизирует и prefill, и decode с помощью специализированных ядер, тогда как SpargeAttention нацелена только на prefill; (2) мы принимаем решения о пропуске напрямую, используя уже вычисленную статистику, без нулевых накладных расходов, в то время как SpargeAttention использует отдельный шаг предсказания; (3) наше decode-ядро пропускает загрузку Value из HBM, устраняя проблемные места, ограниченные памятью, поверх экономии на вычислениях. Кроме того, мы предоставляем автоматическую калибровку и обучение с учетом разреженности.

2.2 Память-оптимизированная разреженность

Сконцентрированность токенов/сведений KV на разрежении направлена на сокращение объёма памяти и издержек по времени декодирования. H2O zhang2023h2o, TOVA oren2024transformers и InfLLM xiao2024infllm отбрасывают токены на основе шаблонов запросов. StreamingLLM xiao2023efficient сохраняет исходные и последние токены для согласованной задержки и использования памяти. Quest tang2024quest производит отсечение токенов, обусловленное текущим запросом; Rectified Sparse Attention sun2025rectified адаптивно выбирает токены, чтобы поддерживать точность при высокой разреженности; RocketKV behnam2025rocketkv сжимает кэш KV с избирательным вытеснением, а недавнее сжатие KV для гипермасштабирования lancucki2025inference дополнительно расширяет эффективный контекст; TidalDecode yang2024tidaldecode стабилизирует эффективность декодирования с помощью устойчивых к позиции шаблонов. Эти подходы в первую очередь нацелены на память посредством отсечения/сжатия KV на фазе декодирования, тогда как BLASST напрямую снижает вычисления и на стадии prefill, и на стадии декодирования, оставаясь без обучения.

2.3 Новые варианты внимания

Помимо упомянутых методов, альтернативные механизмы включают Sliding Window Attention beltagy2020longformer, Linear or Gated Attention qiu2025gated и State-Space Models (SSM) gu2023mamba. Native Sparse Attention (NSA) yuan2025native и DeepSeek Sparse Attention (DSA) deepseekai2024deepseekv32, хотя и эффективны в некоторых режимах, часто требуют архитектурных изменений или переобучения. В отличие от этого, BLASST — это метод после обучения, который ускоряет как prefill, так и decode без прокси-оценок или сложных предварительных вычислений, при этом он бесшовно интегрируется с реализациями FlashAttention.

3 Методология

3.1 Сокращение внимания с помощью текущих максимумов

Ключевая идея BLASST заключается в том, что при вычислении оценок внимания в FlashAttention многие блоки вносят пренебрежимо малый вклад в итоговый результат после нормализации softmax. Наша методика динамически находит и пропускает эти блоки во время прямого прохода, не требуя предварительного вычисления или вычисления прокси-оценок.

3.1.1 Ключевая идея

В стандартном механизме внимания операция softmax вычисляет:

Attention​(Q,K,V)=softmax​(Q​K⊤dk)​V\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^{\top}}{\sqrt{d_{k}}}\right)V (1)

Во время блочно-ориентированных вычислений FlashAttention мы поддерживаем текущий максимум mi(j)m_{i}^{(j)} по блокам. Если локальный максимум блока m~i(j)\tilde{m}_{i}^{(j)} существенно меньше текущего текущего максимума, то есть m~i(j)−mi(j)<ln⁡(λ)\tilde{m}_{i}^{(j)}-m_{i}^{(j)}<\ln(\lambda) для некоторого порога λ\lambda, тогда после возведения в степень:

exp⁡(m~i(j)−mi(j))<λ≈0\exp(\tilde{m}_{i}^{(j)}-m_{i}^{(j)})<\lambda\approx 0 (2)

Поскольку максимальное значение ограничено λ\lambda, вклад блока в итоговый выход внимания будет пренебрежимо малым, что позволяет нам полностью пропустить его вычисление.

Интуитивно, это критерий следует трехшаговому приближению. Во-первых, идеальная значимость каждого балла Si​jS_{ij} — это его значение относительно (неизвестного) глобального максимума. Во-вторых, вычисление истинного максимума на лету слишком дорого, поэтому мы используем текущий максимум как удобный заменитель и сравниваем Si​jS_{ij} с ним. В-третьих, чтобы обеспечить эффективное блочно-уровневое принятие решения внутри ядра, мы заменяем токен-уровневое Si​jS_{ij} на блочно-локальный максимум, получая недорогое условие (block_max−running_max)<ln⁡(λ)(\text{block\_max}-\text{running\_max})<\ln(\lambda).

3.1.2 Дизайн алгоритмов

Алгоритм 1 представляет наш модифицированный прямой проход FlashAttention. Ключевое изменение заключается во введении динамического условия отсечения, которое экономит как вычисления, так и полосу пропускания памяти. Где мы экономим: Когда m~i(j)−mi(j)<ln⁡(λ)\tilde{m}_{i}^{(j)}-m_{i}^{(j)}<\ln(\lambda) (строка 7), мы пропускаем:

  1. 1. Вычислительные сбережения (CUDA cores): Дорогие exp⁡(⋅)\exp(\cdot) операции для вычисления P~i​j\tilde{P}_{ij} требуют нескольких инструкций на элемент: MUFU.EX2 (экспоненциальная), FMUL (умножение) и FADD (сложение). Мы также пропускаем операции редукции rowsum (инструкции FADD) для нормализации весов внимания. Для типичного блока это экономит тысячи инструкций CUDA core.
  2. ⟦2. Вычислительная экономия (Tensor cores) при умножении матриц P~i​j​Vj\tilde{P}_{ij}V_{j}. На фазе prefill, когда вычисления ограничены производительностью, обход этих операций MMA обеспечивает существенное ускорение.
  3. ⟦Экономия пропускной способности памяти: загрузка блока Value VjV_{j} из HBM в SRAM. Это особенно критично на фазе декодирования, где внимание ограничено памятью.
Algorithm 1 FlashAttention с BLASST
1:Блоки запросов {Qi}i=1Tr\{Q_{i}\}_{i=1}^{T_{r}}, Ключевые блоки {Kj}j=1Tc\{K_{j}\}_{j=1}^{T_{c}}, Блоки значений {Vj}j=1Tc\{V_{j}\}_{j=1}^{T_{c}}, порог λ\lambda
2:Блоки вывода {Oi}i=1Tr\{O_{i}\}_{i=1}^{T_{r}}
3:для i=1i=1 кроме TrT_{r} дело
4:  Инициализация mi(0)=−∞m_{i}^{(0)}=-\infty, Oi(0)=0O_{i}^{(0)}=0, li(0)=0l_{i}^{(0)}=0
5:  для j=1j=1 кто TcT_{c} do
6:   Вычислить Si​j=Qi​Kj⊤S_{ij}=Q_{i}K_{j}^{\top} ⊳\triangleright Оценки внимания
7:   m~i(j)=rowmax⁡(Si​j)\tilde{m}_{i}^{(j)}=\operatorname{rowmax}(S_{ij}) ⊳\triangleright Локальный максимум
8:   mi(j)=max⁡(mi(j−1),m~i(j))m_{i}^{(j)}=\max(m_{i}^{(j-1)},\tilde{m}_{i}^{(j)}) ⊳\triangleright Максимум нарастающим итогом
9:   если m~i(j)−mi(j)<ln⁡(𝝀)\tilde{m}_{i}^{(j)}-m_{i}^{(j)}<\ln(\boldsymbol{\lambda}) тогда
10:     continue ⊳\triangleright Skip this block
11:   конец если
12:   P~i​j=exp⁡(Si​j−mi(j))\tilde{P}_{ij}=\exp(S_{ij}-m_{i}^{(j)}) ⊳\triangleright Вычислите весовые коэффициенты внимания
13:   li(j)=emi(j−1)−mi(j)​li(j−1)+rowsum⁡(P~i​j)l_{i}^{(j)}=e^{m_{i}^{(j-1)}-m_{i}^{(j)}}l_{i}^{(j-1)}+\operatorname{rowsum}(\tilde{P}_{ij})
14:   Oi(j)=emi(j−1)−mi(j)​Oi(j−1)+P~i​j​VjO_{i}^{(j)}=e^{m_{i}^{(j-1)}-m_{i}^{(j)}}O_{i}^{(j-1)}+\tilde{P}_{ij}V_{j}
15:  end для
16:  Oi=Oi(Tc)/li(Tc)O_{i}=O_{i}^{(T_{c})}/l_{i}^{(T_{c})} ⊳\triangleright Окончательная нормализация
17:end для
18:return {Oi}i=1Tr\{O_{i}\}_{i=1}^{T_{r}}

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

3.2 Калибровка для оптимальной разреженности

Критической задачей при развертывании BLASST является выбор подходящего порога λ\lambda, который обеспечивает баланс между разреженностью и точностью. Чтобы понять эту взаимосвязь, мы провели эксперименты на Llama-3.1-8B на сложных подмножествах бенчмарка RULER (NIAH_MULTI, VT, FWE) с длинами контекста от 8K до 64K токенов.

Сходимость разреженности определяет точность. Рисунок 2 (слева) показывает относительное ухудшение точности в зависимости от коэффициента разреженности. Мы нормализуем каждую кривую по результату полного внимания для корректного сравнения. Примечательно, что все кривые демонстрируют согласованные закономерности ухудшения: производительность остается стабильной вплоть до разреженности 60-70%, после чего точность резко падает. Эта согласованность для различных задач и длин последовательностей показывает, что ухудшение точности в первую очередь определяется самим коэффициентом разреженности, а не типом набора данных или длиной последовательности.

Калибровка порога необходима. Для достижения согласованной производительности следует поддерживать фиксированное соотношение разреженности, а не фиксированный порог. Однако рисунок 2 (справа) показывает, что для достижения 75% разреженности требуется λ≈1​e−4\lambda\approx 1e-4 для контекстов 8K, но только 1​e−51e-5 для контекстов 64K. Это требует адаптивной калибровки. Важно, что при нацеливании на фиксированную разреженность посредством калибровки пользователи могут управлять и предвидеть ускорение вычислений, поскольку выигрыш в производительности масштабируется предсказуемо в зависимости от достигнутого уровня разреженности.

Refer to caption
Refer to caption
⟦Figure 2: (Слева) Относительное снижение точности на разных наборах данных и длинах контекста демонстрирует согласованные закономерности ухудшения. Все кривые нормированы к своей исходной точности. (Справа) Связь между порогом и достигнутыми уровнями разреженности на разных длинах последовательностей, показывающая необходимость калибровки порога для поддержания фиксированной разреженности в различных контекстах.

Путем эмпирического анализа мы обнаруживаем, что оптимальный порог следует обратно пропорциональной зависимости от длины контекста LL⟧:

λ=aL\lambda=\frac{a}{L} (3)

где aa — это константа, зависящая от модели. Эта обратная зависимость имеет теоретическое обоснование: поскольку оценки внимания нормируются по строкам так, что их сумма равна 1, для более длинных последовательностей характерны более низкие средние оценки на токен, что требует пропорционально меньших порогов. Без калибровки фиксированные пороги приводили бы к существенно различающимся уровням разреженности между последовательностями разной длины.

Algorithm 2 Калибровка BLASST
1:Целевая разреженность SS, калибровочный набор данных 𝒟\mathcal{D}, длины контекста {Lk}k=1K\{L_{k}\}_{k=1}^{K}, lambda set Λ\Lambda, допуск δ\delta
2:Параметр калибровки aa
3:Инициализировать точки данных 𝒫=∅\mathcal{P}=\emptyset
4:для каждая длина контекста LkL_{k} делай
5:  Примеры последовательностей длины LkL_{k} from 𝒟\mathcal{D}
6:  Инициализировать λbest=None\lambda_{\text{best}}=\text{None}, min_gap=∞\text{min\_gap}=\infty
7:  для каждое λ∈Λ\lambda\in\Lambda do
8:   s=MeasureSparsity​(λ,Lk)s=\text{MeasureSparsity}(\lambda,L_{k})
9:   gap=|s−S|\text{gap}=|s-S|
10:   если gap<min_gap\text{gap}<\text{min\_gap} затем
11:     λbest=λ\lambda_{\text{best}}=\lambda
12:     min_gap=gap\text{min\_gap}=\text{gap}
13:   end если
14:  end для
15:  если min_gap<δ\text{min\_gap}<\delta тогда ⊳\triangleright Сохраняйте только если разреженность достаточно близка
16:   Добавить (1/Lk,λbest)(1/L_{k},\lambda_{\text{best}}) к 𝒫\mathcal{P}
17:  end если
18:конец для
19:Подбор линейной регрессии: λ=a⋅(1/L)\lambda=a\cdot(1/L) используя 𝒫\mathcal{P}
20:return Коэффициент регрессии aa
(a) Нормальный график предзаполнения канала prefill для FlashAttention.
Refer to caption
⟦(b) Планирование конвейера предварительного заполнения BLASST с T0 и T1, оба пропускают циклы 1 и 3.
Refer to caption
⟦Figure 3: Планирование этапа предварительного заполнения (prefill) для FlashAttention и BLASST при разреженности 50% на протяжении 4 итераций цикла (L0-L3). Строки разделены в зависимости от специализаций warp/warpgroup. Более тёмные и более светлые оттенки соответствуют операциям для различных рядов тайлов (T0/T1). Операции BMM1 и BMM2 для warp уровня MMA обозначены как B1 и B2. Группы softmax в первую очередь ограничены возведением в степень (EX2), но также выполняют проверку пропуска, вычисление суммы по строкам и масштабирование softmax (не показано). Основные итерации цикла заключены сплошными линиями.

Чтобы найти оптимальное значение aa для заданной целевой разреженности SS, мы предлагаем процедуру калибровки, подробно описанную в алгоритме 2. Процесс включает эмпирический поиск наилучшего порога λbest\lambda_{\text{best}} для нескольких длин контекста {Lk}\{L_{k}\}, который обеспечивает заданную целевую разреженность SS (в пределах допуска δ\delta). Затем мы выполняем линейную регрессию по преобразованным точкам данных (1/Lk,λbest)(1/L_{k},\lambda_{\text{best}}), чтобы найти наклон aa, который задает нашу функцию калибровки λ​(L)=a/L\lambda(L)=a/L.

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

3.3 Обучение с учетом разреженности

Хотя BLASST в первую очередь предназначен для оптимизации инференса после обучения, мы рассматриваем обучение с учетом разреженности как простое расширение, позволяющее далее улучшить компромисс между точностью и разреженностью. Мотивация понятна: если модели в процессе обучения учатся концентрировать важную информацию в блоках внимания с высокими оценками, то они должны сохранять более высокую точность, когда эти блоки будут обрезаны во время инференса.

Наш метод прост: при дообучении мы применяем BLASST в прямом проходе, чтобы пропускать незначимые блоки внимания на основе порогового критерия. В обратном проходе пропущенные блоки естественным образом не получают градиентов, поскольку они не вычислялись в прямом проходе. Это побуждает модель адаптировать свои шаблоны внимания к большей совместимости с разреженностью, концентрируя важную информацию в блоках, которые проходят пороговый тест. Этот подход не требует изменений архитектуры или дополнительных потерь — это просто обучение с той же разреженной схемой внимания, которая будет использоваться во время вывода.

4 Дизайн ядра

Ядра BLASST были разработаны с двумя основными целями: (1) минимальные изменения существующих интерфейсов ядра FlashAttention и структуры реализации и (2) минимальные накладные расходы для логики принятия решений о пропуске блоков. Наш ключевой вывод заключается в повторном использовании статистик, уже вычисляемых в стандартном алгоритме FlashAttention — в частности, локального максимума и текущих значений максимума, которые существуют в каждом потоке при выполнении онлайн softmax.

Пропуск реализации решения. Процесс принятия решения (строка 7 в алгоритме 1) требует лишь нескольких дополнительных инструкций на блок: (1) установка предиката для каждого потока на основе сравнения с порогом, (2) выдача инструкции VOTE для определения, согласны ли все потоки внутри warp на пропуск, и (3) одна инструкция ATOMIC в общую память, выдаваемая одним потоком на warp, чтобы координировать решение уровня блока между softmax warpgroup. Мы тщательно проектируем ядро так, чтобы инструкции принятия решений были скрыты за существующими операциями, добавляя пренебрежимо малое увеличение задержки.

Поскольку фаза предзаполнения и фаза декодирования имеют принципиально разные характеристики производительности, мы реализуем специализированные оптимизации для каждой.

(a) Нормальный планировщик декодирования для FlashAttention.
Refer to caption
⟦(b) BLASST decode pipeline schedule при пропуске циклов 1, 2 и 4.
Refer to caption
⟦Figure 4: Декодирование конвейерных расписаний для FlashAttention и BLASST с пропуском циклов 1, 2 и 4. Пролог не показан, и мы сосредоточены на установившемся режиме первых 6 итераций цикла (L0-L5). Мы выделяем стадии конвейера TMA warps, чтобы показать, как одновременно выдаются несколько загрузок TMA. Загрузки на рисунке 4(b) завершаются быстрее, потому что имеется меньше одновременных загрузок. Стрелки указывают зависимости по scoreboard от проверки пропуска после BMM1. Обратите внимание, что операции MMA warp BMM1 и BMM2 обозначены как B1 и B2.

4.1 Префилл ядро: оптимизация, ограниченная вычислениями

Предзаполнение ядер обычно является вычислительно ограниченным, упирающимся в пропускную способность вычислительных блоков CUDA core (softmax) и tensor core (умножение матриц), а не в пропускную способность памяти. Поэтому наше предзаполнение ядра предназначено для пропуска как вычисления softmax, так и операций MMA (умножение внимание-значение) для обрезанных блоков.

Рисунок 3 иллюстрирует наши изменения в расписании конвейера для префилл-ядра BLASST, оптимизированного для сценариев с вычислительной насыщенностью за счет перекрытия различных вычислительных задач. Конвейерные расписания распределяют операции между Tensor Cores (математический warp/умножение матриц) и CUDA cores (логика softmax и коррекции). Рисунок 3(b) показывает, что даже когда выполняются все Q​K⊤QK^{\top} (BMM1) операции, ядро динамически пропускает вычислительно затратные операции softmax и умножение attention-value (BMM2) для блоков, определенных как незначимые (например, loop 1 и loop 3 на рисунке 3(b)). Пропуская эти вычислительные операции, ядро освобождает вычислительные модули, что позволяет последующим операциям планироваться раньше. Это сжимает общее расписание, уменьшая общее время выполнения с 18 временных единиц на рисунке 3(a) до 14 единиц на рисунке 3(b).

Блоки Value остаются загруженными из HBM в ядре prefill потому что: (1) пропускная способность памяти не является узким местом, (2) конвейер предварительной выборки выигрывает от предсказуемых шаблонов доступа к памяти, и (3) задержка условной загрузки Value превысит получаемую экономию. Сосредоточившись на устранении вычислительных операций, мы добиваемся ускорений, которые масштабируются почти линейно с разреженностью в вычислительно-ограниченном режиме. Наша текущая конструкция отдает приоритет типичному случаю, когда prefill на современных GPU является вычислительно-ограниченным; однако загрузку Value можно пропустить в prefill, если будущие рабочие нагрузки или архитектуры оборудования сместят узкое место в область ограничений пропускной способности памяти.

⟦Table 1: Производительность BLASST на разных уровнях разреженности во всех моделях и тестовых наборах. Мы оцениваем на Llama-3.1-8B и Qwen3-8B в трех сценариях развертывания: оптимизация только prefill (задачи с длинным контекстом: RULER, LongBench), оптимизация только decode (задачи на рассуждение: MATH500, AIME 2024, GPQA) и комбинированная оптимизация prefill+decode. Результаты показывают минимальную деградацию точности даже при ∼\sim75% разреженности, с периодическими улучшениями по сравнению с плотным базовым уровнем.
Model Sparsity Prefill Phase Decode Phase Prefill + Decode Phase
RULER-32K LongBench MATH500 AIME2024 GPQA RULER-32K LongBench
Llama-3.1-8B Dense 92.33 31.40 73.40 46.66 46.71 92.33 31.40
∼\sim50% 91.81 31.80 73.71 46.15 46.31 91.79 32.40
∼\sim75% 91.67 31.80 73.89 46.01 45.95 91.67 31.80
Qwen3-8B Dense 91.90 33.60 95.87 75.00 61.21 91.90 33.60
∼\sim50% 92.08 35.10 96.23 76.50 61.56 92.07 33.30
∼\sim75% 92.11 34.40 96.07 75.33 61.51 91.74 33.10

4.2 Декодирование ядра: оптимизация, ограниченная памятью

Декодирующие ядра обычно являются ограниченными по памяти, упираясь в узкое место пропускной способности HBM, необходимой для выборки KV-кэша, а не в вычисления, поскольку внимание предполагает только один запрос Query ко всем ключам Keys. Поэтому наше ядро сосредоточено на пропуске ресурсоемкой загрузки матрицы значений Value VjV_{j} для обрезанных блоков, напрямую устраняя это узкое место по HBM. Эта оптимизация уменьшает объем трафика памяти пропорционально уровню разреженности, при этом накладывая пороговые и операции с Key на оставшиеся загрузки Value, чтобы обеспечить существенное ускорение, отражающее различающиеся характеристики производительности при декодировании по сравнению с prefill.

Рисунок 4 иллюстрирует наши изменения в расписании конвейера для декодирующего ядра BLASST. Длительные времена загрузки плиток KK и VV показывают, как ведет себя ядро в этой памяти-ограниченной ситуации. Пропуская загрузку плитки VV и BMM2 для циклов 1, 2 и 4, графический процессор может завершить ожидающие загрузки из других стадий конвейера TMA быстрее. В результате Рисунок 4(a) занимает 30 единиц времени, чтобы завершить все V-загрузки, тогда как Рисунок 4(b) занимает 23 единицы.

Для механизмов внимания вроде Multi-head Latent Attention (MLA) liu2024deepseek, которые даже при декодировании являются более вычислительно ограниченными, мы дополнительно пропускаем операции softmax для вырезанных блоков, обеспечивая дополнительное ускорение помимо одних только сбережений памяти.

5 Эксперименты

5.1 Экспериментальная установка

Модели. Мы оцениваем BLASST на современнейших языковых моделях, чтобы продемонстрировать его эффективность на различных архитектурах. Наша оценка сосредоточена на двух моделях с 8B параметров: Llama-3.1-8B-Instruct и Qwen3-8B-Instruct, обе поддерживают контекстные длины до 128K токенов. Для задач длительного генеративного рассуждения мы используем Llama-3.1-8B-Instruct, дистиллированную из DeepSeek-R1 guo2025deepseek, которая обеспечивает улучшенные способности к рассуждению при сохранении совместимости с нашим подходом к разреженному вниманию.

Базовые методы. Мы сравниваем BLASST с плотным вниманием и современными методами разреженного внимания. Для оптимизации префилла мы сравниваем с MInference jiang2024minference, FlexPrefill lai2025flexprefill и XAttention xu2025xattention. Для оптимизации декодирования мы оцениваем в сравнении с Quest tang2024quest и RocketKV behnam2025rocketkv. Для каждого базового метода мы используем его наилучшую по результатам конфигурацию, указанную в соответствующей статье, чтобы обеспечить справедливое сравнение.

Наборы данных. Мы оцениваем на двух категориях наборов тестов: (1) Задачи с длинным контекстом: RULER hsieh2024ruler (синтетическое извлечение и рассуждение по 4K-128K токенам) и LongBench v2 bai2024longbench (прикладные задачи QA, суммаризация и дополнение кода). (2) Задачи на рассуждение: MATH500 (решение математических задач), AIME 2024 (продвинутая математика), GPQA (научные дисциплины на уровне аспирантуры) и LiveCodeBench (генерация кода). Эти проверочные наборы на рассуждение тестируют, сохраняет ли разреженное внимание сложные многошаговые рассуждательные способности. Мы используем фреймворк NVIDIA NeMo-Skills framework111https://github.com/NVIDIA-NeMo/Skills для стандартизированной оценки задач на рассуждение.

Сведения по реализации. Мы реализуем BLASST как оптимизированные CUDA-ядра, интегрированные с фреймворком flashinfer ye2025flashinfer. Для калибровки (Алгоритм 2) мы отбираем приблизительно 1000 последовательностей из набора данных RULER для разных длин контекста (4K, 8K, 16K, 32K, 64K), чтобы определить оптимальную зависимость порога λ=a/L\lambda=a/L для заданных уровней разреженности. Для обучения с учетом разреженности мы используем подход к обучению по учебному плану из ProLong gao2024train, применяя BLASST на этапе дообучения с фиксированным порогом разреженности.

Для оценки мы используем различные стратегии выборки в зависимости от типа задачи. Для тестов с длинным контекстом (RULER и LongBench) мы используем жадекодирование с температурой =0=0 и выполняем один запуск на каждый пример, чтобы обеспечить детерминированные и воспроизводимые результаты. Для задач рассуждения, которым полезно разнообразие выборок, мы используем температуру =0.6=0.6 и top-p =0.95=0.95. А именно, мы генерируем 10 образцов на задачу для MATH500, GPQA и LiveCodeBench, и 20 образцов на задачу для AIME 2024 из-за его большей сложности. Для этих задач рассуждения мы сообщаем наилучшее из N (best-of-N) по тому, как окончательный ответ выбирается с помощью мажоритарного голосования или самосогласованности.

⟦Table 2: Сравнение фазы prefill на Llama-3.1-8B-Instruct между RULER и LongBench. BLASST достигает наилучшей производительности среди всех методов разреженного внимания, вплотную приближаясь к плотному вниманию при этом не требуя предварительных вычислений или оценок-прокси.
Method RULER LongBench
4K 8K 16K 32K 64K Average Easy Hard Short Medium Long Overall
Dense Attention 96.16 95.07 94.80 92.33 87.69 93.21 29.7 32.5 38.3 28.8 25.0 31.4
FlexPrefill 95.99 93.67 92.73 88.14 81.14 87.72 28.8 23.8 24.4 26.5 26.2 25.7
MInference 96.54 94.06 91.37 85.79 83.03 84.15 28.6 32.8 36.7 30.2 24.1 31.2
XAttention 96.37 94.47 94.48 91.91 85.01 92.44 29.2 31.5 38.3 26.0 26.9 30.6
BLASST (∼\sim50%) 96.17 94.70 94.61 91.81 87.06 92.87 30.7 32.5 38.3 29.8 25.0 31.8
⟦Table 3: Сравнение фаз декодирования на Qwen3-8B в различных задачах рассуждения и генерации. BLASST соответствует или превосходит плотную базовую линию на всех наборах тестов, включая математическое рассуждение (MATH500, AIME 2024), науку уровня аспирантуры (GPQA) и генерацию кода (LiveCodeBench), при этом сохраняя производительность для длинного контекста (RULER, LongBench).
Method RULER-32K LongBench MATH500 AIME 2024 LiveCodeBench GPQA Average
Dense Attention 91.90 33.60 95.87 75.00 53.83 61.21 68.57
Quest 56.23 30.30 94.18 71.50 52.17 60.12 60.75
RocketKV 87.89 30.60 95.88 73.54 53.10 60.50 66.91
BLASST ∼\sim50% 91.55 33.90 96.23 76.50 54.15 61.51 68.97

5.2 Основные результаты

Итоговая производительность. Таблица 1 демонстрирует производительность BLASST при уровнях разреженности ∼\sim50% и ∼\sim75% для Llama-3.1-8B и Qwen3-8B на различных наборах тестов. Примечательно, что BLASST не только сохраняет точность с минимальным ухудшением, но иногда превосходит плотную базовую модель. Например, для Qwen3-8B наблюдаются улучшения на MATH500 (96.23 против 95.87) и AIME 2024 (76.50 против 75.00) при разреженности 50%. Этот контринтуитивный результат можно объяснить двумя факторами. Во-первых, в задачах с длинным контекстом, где информация по своей природе разреженная, отсечение блоков с низкой значимостью внимания заставляет модель концентрировать плотность вероятности на наиболее релевантных токенах, фактически выступая как неявное подавление шума. Во-вторых, для задач рассуждений с длинной генерацией некоторые промежуточные шаги рассуждений или токены могут быть избыточными или даже вредными sui2025stop; пропуская блоки с пренебрежимо малыми значениями внимания, мы отсеиваем такие отвлекающие факторы, позволяя модели сосредоточиться на ключевых цепочках рассуждений. Эти результаты показывают, что BLASST обеспечивает не только вычислительную эффективность, но и улучшает качество вывода в некоторых сценариях.

Сравнение фазы предварительного заполнения. Таблица 2 сравнивает BLASST с современными методами разреженного внимания, оптимизированными для предварительного заполнения, на Llama-3.1-8B. На протяжении RULER (длины контекста 4K-64K) и LongBench BLASST обеспечивает наилучшую общую производительность (92.87 RULER в среднем, 31.8 LongBench) среди всех разреженных методов, почти совпадая с плотным вниманием (93.21, 31.4), при этом не требуя предварительных вычислений. Примечательно, что BLASST существенно превосходит MInference (84.15 RULER) и FlexPrefill (87.72 RULER), демонстрируя эффективность нашего порогового отсечения по сравнению с оцениванием важности на основе прокси.

Сравнение фаз декодирования. Таблица 3 оценивает BLASST на Qwen3-8B на задачах, требующих интенсивного рассуждения. При ∼\sim и 50% разреженности BLASST соответствует или превосходит по показателям производительности плотную базовую модель на всех наборах данных, при этом сохраняя возможности работы с длинным контекстом. Мы отмечаем, что все существующие методы используют разные стратегии оптимизации и ориентируются на разные сценарии развертывания, что делает прямое сравнение затруднительным. Мы включаем Quest и RocketKV в качестве точек отсчета, чтобы контекстуализировать производительность BLASST. Например, RocketKV демонстрирует 87.89 RULER и 30.60 точность LongBench, что иллюстрирует компромиссы, связанные с агрессивным сжатием кэша KV, по сравнению с подходом BLASST, сохраняющим критические паттерны внимания.

Table 4: Ускорения BLASST для предварительной обработки и декодирования при увеличении уровней разреженности на GPU B200 (Blackwell). Мы варьируем порог (λ\lambda), чтобы продемонстрировать производительность на диапазоне разреженностей. Конфигурация предварительной обработки: размер пакета 148, 1 Q head, 1 KV head, длина последовательности 32K, dim головки 128. Конфигурация декодирования: размер пакета 148, 32 Q heads, 4 KV heads, длина последовательности 32K, dim головки 128.
Blackwell Prefill Blackwell Decode
Sparsity Speedup Sparsity Speedup
0.00% 0.99×\times 0.00% 0.98×\times
23.24% 1.07×\times 36.91% 1.18×\times
32.78% 1.13×\times 46.68% 1.25×\times
42.26% 1.18×\times 61.23% 1.34×\times
50.67% 1.24×\times 73.15% 1.48×\times
63.96% 1.34×\times 82.62% 1.64×\times
73.47% 1.41×\times 87.01% 1.71×\times
80.35% 1.49×\times 91.99% 1.79×\times
Refer to caption
⟦Figure 5: Ускорение предзаполнения BLASST на графическом процессоре Hopper GPU (H200)

5.3 Производительность GPU-ядра

Мы реализуем и проводим бенчмаркинг высоко оптимизированных ядер для архитектур GPU Blackwell (B200) и Hopper (H200), демонстрируя, что BLASST обеспечивает существенные ускорения в реальных условиях. Таблица 4 и рисунок 5 показывают масштабирование производительности при росте уровней разреженности для обеих фаз: prefill и decode. Все ускорения измеряются по сравнению с базовыми вариантами FlashAttention-3 BF16.

Ключевые результаты. При близкой к безошибочной точности (∼\sim50% разреженности) мы достигаем приблизительно 1.24×\times ускорения для prefill и 1.23×\times ускорения для decode на Blackwell. При более высокой разреженности (∼\sim70%) ускорение prefill и decode увеличивается до 1.40×\times. На Hopper prefill обеспечивает до 1.62×\times ускорения при 74.7% разреженности. Эти ускорения предсказуемо масштабируются с разреженностью: более высокая разреженность дает большие приросты производительности, позволяя пользователям выбирать предпочитаемый компромисс точность—эффективность.

Важно, что мы не наблюдаем значимого ухудшения производительности при 0% разреженности (0.99-1.03×\times базовый уровень), что гарантирует, что BLASST добавляет минимальные накладные расходы при низкой разреженности.

5.4 Результаты калибровки

Ключевая мотивация нашего подхода к калибровке заключается в том, что фиксированные пороги дают несогласованную разреженность при разных длинах контекста, что делает развертывание ненадежным. Таблица 5 демонстрирует эффективность нашего метода калибровки при изменяющихся длинах последовательностей. Для целевой разреженности 50% подход с фиксированным порогом приводит к крайне нестабильной разреженности от 23% при 4K до 75% при 64K, что делает его непригодным для производственного развертывания. В отличие от этого наш откалиброванный подход λ=a/L\lambda=a/L поддерживает разреженность в узком диапазоне со средним отклонением всего 1,2% от целевого значения. Аналогичные улучшения наблюдаются при целевой разреженности 70%. Эти результаты подтверждают, что наша калибровка обеспечивает надежное, предсказуемое управление разреженностью при различных длинах последовательностей без ручной настройки.

⟦Sparsity стабильность across context lengths: calibrated vs. fixed threshold on Llama-3.1-8B. Наш метод калибровки поддерживает согласованный уровень sparsity при разных длинах контекста, тогда как фиксированные пороги приводят к высокой дисперсии. Значения в скобках указывают отклонение достигнутого sparsity от целевого значения.
Method 4K 8K 16K 32K 64K
Target Sparsity: 50%
Fixed λ=1​e−3\lambda=1e-3 23.09 37.92 52.38 65.72 74.63
(-26.91) (-12.08) (+2.38) (+15.72) (+24.63)
Calibrated λ=a/L\lambda=a/L 54.20 49.70 52.20 46.96 48.75
(+4.20) (-0.30) (+2.20) (-3.04) (-1.25)
Target Sparsity: 70%
Fixed λ=3​e−3\lambda=3e-3 42.35 57.54 69.83 79.36 84.63
(-27.65) (-12.46) (-0.17) (+9.36) (+14.63)
Calibrated λ=a/L\lambda=a/L 67.99 74.65 73.64 72.54 74.63
(-2.01) (+4.65) (+3.64) (+2.54) (+4.63)
Refer to caption
⟦Sparsity-aware training pushes the accuracy-sparsity frontier. Модели, дообученные с помощью BLASST, активного во время обучения, сохраняют более высокую точность на агрессивных уровнях разреженности по сравнению с применением разреженности после обучения. Обучаясь с разреженным вниманием, модели учатся концентрировать информацию в блоках с высокими оценками, делая их более устойчивыми к обрезанию.

5.5 Результаты обучения с учетом разреженности

Рисунок 6 демонстрирует, что обучение с учетом разреженности улучшает компромисс «точность—разреженность» на бенчмарках RULER. На низких уровнях разреженности модели, обученные с разреженностью, даже немного превосходят базовую плотную модель, что указывает на то, что модель усваивает более устойчивые паттерны внимания. В целевом диапазоне разреженности 50%-75% модели, обученные с разреженностью, достигают существенно более высокой точности по сравнению с применением разреженности после обучения, снижая деградацию точности на величину до 1.7×\times. Эти результаты подтверждают, что модели можно обучать так, чтобы концентрировать информацию в блоках внимания с высокими оценками, делая их по своей сути более совместимыми с разреженными паттернами внимания и продвигая границу Парето эффективного внимания.

5.6 Абляционные исследования

Анализ распределения разреженности. Рисунок 7 иллюстрирует, как разреженность меняется между слоями и внимательными головками, раскрывая естественное распределение важности внимания и закономерности в модели. Мы наблюдаем существенную неоднородность: разные слои демонстрируют различные уровни разреженности, а отдельные головки внутри каждого слоя также показывают заметную вариативность. Ключевым образом BLASST естественным образом включает эту неоднородность без необходимости явных механизмов вроде выбора top-k или отсечения головок — применяя один и тот же порог ко всем слоям и головкам, наш метод автоматически адаптируется к естественному распределению внимания для каждого слоя и каждой головки, удаляя более агрессивно там, где внимание естественным образом более сосредоточено, и сохраняя больше блоков там, где внимание более рассеяно.

Refer to caption
⟦Figure 7: Распределение разреженности по слоям и головам для Llama-8B в контексте 8K. Взято из выборки бенчмарка NIAH с порогом λ=0.03\lambda=0.03. Существенная вариативность на уровне голов и на уровне слоёв мотивирует стратегии адаптивного порогового значения.

Комбинация с другими методами разреженности. В таблице 6 рассматривается сочетание BLASST с другими методами разрежения внимания. Мы обнаружили, что BLASST может быть эффективно объединена как с методами, оптимизированными для prefill (XAttention), так и с методами сжатия KV cache (RocketKV). При объединении XAttention (prefill) с BLASST (decode) ухудшение точности остается минимальным, что демонстрирует, что методы в значительной степени ортогональны. Аналогично, при объединении BLASST (prefill) с RocketKV сохраняется высокая производительность. Эти результаты показывают, что BLASST является гибким строительным блоком для сквозной оптимизации в существующих конвейерах разреженного внимания.

⟦Table 6: Производительность объединения BLASST с другими методами разреженности на Qwen 8b. BLASST может быть эффективно объединена как с методами, оптимизированными для prefill (XAttention), так и с методами сжатия KV cache (RocketKV), обеспечивая гибкие варианты развертывания. Числа в скобках показывают изменение по сравнению с плотной базовой моделью.
Prefill Method Decode Method RULER-16K LongBench-16K
Dense Attention Dense Attention 93.22 29.4
XAttention Dense Attention 92.99 (-0.23) 29.1 (-0.3)
XAttention BLASST 92.89 (-0.33) 28.8 (-0.6)
Dense Attention RocketKV 92.72 (-0.50) 30.0 (+0.6)
BLASST RocketKV 92.60 (-0.62) 29.4 (-0.0)
⟦Table 7: Производительность на очень длинных последовательностях с набором RepoQA для оценивания. Мы оцениваем BLASST на задачах понимания исходных репозиториев на длинах контекста 16K и 200K, демонстрируя разреженность на фазах предварительной обработки (P) и декодирования (D)..
Context Attention Mode Sparsity (P) Sparsity (D) Accuracy
Qwen3-Coder-30B-A3B-Instruct, 16K Context
16K Full (Dense) 0% 0% 0.897
16K BLASST Prefill 64.1% 0% 0.904
16K BLASST Prefill+Decode 64.1% 48.4% 0.882
Qwen3-Coder-30B-A3B-Instruct, 200K Context
200K Full (Dense) 0% 0% 0.850
200K BLASST Prefill 57.5% 0% 0.841
200K BLASST Prefill+Decode 57.5% 40.8% 0.838

Очень длинные длины последовательностей. Мы оцениваем BLASST на чрезвычайно длинных последовательностях с использованием бенчмарка RepoQA liu2024repoqa. Таблица 7 представляет результаты для Qwen3-Coder-30B при длинах контекста 16K и 200K. При 200K токенах BLASST достигает высокой разреженности префила (∼\sim58%) при минимальном снижении точности, а применение разреженности как к фазе префила, так и к фазе декодирования обеспечивает дополнительные вычислительные сбережения при пренебрежимо малых дополнительных затратах. Примечательно, что для более длинных контекстов характерна более высокая естественная разреженность, что делает наш метод все более эффективным для сценариев с экстремальной длиной, где плотное внимание становится непрактичным.

Перестановка порядка строк плитки. Мы исследовали, может ли перестановка порядка обработки строк плитки повысить точность отсечения. Мотивация исходит из локального феномена окна, наблюдаемого в StreamingLLM xiao2023efficient, где последние токены (локальное окно) часто получают высокие оценки внимания наряду с токенами sink внимания в начале. Обрабатывая плитки, содержащие локальное окно, в первую очередь, текущий максимум mim_{i} можно быстро заполнить этими токенами с высокими оценками, тем самым раньше в вычислении сформировав более удачную аппроксимацию глобального максимума. Это позволило бы принимать более точные решения об пропуске для последующих блоков. Важно, что BLASST поддерживает такую гибкость перестановок на уровне планирования ядер с пренебрежимо малым накладным расходом.

Рисунок 8 сравнивает стандартную последовательную обработку с переставленной обработкой в задачах VT и FWE. Результаты показывают поведение, зависящее от набора данных: перестановка обеспечивает сопоставительную производительность на VT, но дает заметные улучшения на FWE. Это указывает на то, что эффективность перестановки в значительной степени зависит от конкретных шаблонов внимания в каждом наборе данных. Тем не менее, это демонстрирует ценное свойство BLASST: алгоритм устойчив к различным порядкам обработки и может адаптироваться к различным стратегиям оптимизации. Гибкость для поддержки перестановки плит (tile reordering) показывает потенциал оптимизаций, специфичных для набора данных, без необходимости в фундаментальных изменениях алгоритма.

Refer to caption
⟦Figure 8: Влияние перестановки строк плиток на компромисс точность- разреженность для Llama 3.1 8B (ctx=8192). Мы сравниваем Standard Cummax (обработка плиток последовательно) с Reordered Cummax (обработка плиток в обратном порядке). Графики для обоих тестов VT и FWE показывают, что перестановка оказывает пренебрежимо малое влияние на точность модели при заданном уровне разреженности.
Refer to caption
⟦Figure 9: Точность-скупость trade-off на высоких уровнях скудости на RULER-16K для Qwen3-8B. BLASST демонстрирует более стабильное ухудшение по сравнению с XAttention, сохраняя лучшую точность при агрессивных настройках скудости. Это показывает эффективность использования фактической статистики softmax вместо показателей важности, основанных на прокси.

Анализ экстремальной разреженности. Рисунок 9 показывает поведение BLASST на RULER-бенчмарках при более высоких уровнях разреженности (70–90%). По сравнению с XAttention, BLASST демонстрирует более стабильное снижение точности при увеличении уровней разреженности. Хотя XAttention показывает более резкие падения точности при высокой разреженности, пороговое отсечение в BLASST с использованием фактической статистики softmax (а не оценок-заменителей) обеспечивает более плавную деградацию. Эта устойчивость делает BLASST более подходящим для агрессивных режимов разреженности, где критически важна вычислительная эффективность.

6 Заключение

Мы представили BLASST — простую, но эффективную методику разреженного внимания, которая динамически исключает вычисления внимания, повторно используя онлайн-статистики softmax, и не требует предварительных вычислений или прокси-оценок. Достигая более 50% разреженности при минимальном снижении точности и обеспечивая до 1.6×\times ускорения на современных GPU, BLASST делает вывод для длинного контекста заметно более практичным. Автоматическая калибровка и обучение с учетом разреженности дополнительно повышают ее надежность и гибкость, закладывая практическую основу для эффективных transformers с длинным контекстом.

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