Лицензия YOLO
Назад к глоссарию Ultralytics

Linear Attention

Линейное внимание заменяет softmax отображением признаков, благодаря чему вычислительные затраты растут линейно с длиной последовательности, а при декодировании достаточно состояния фиксированного размера. Рассматриваются DeltaNet и гибридные модели.

Линейное внимание — это семейство механизмов внимания, вычислительная стоимость которых растёт линейно с длиной последовательности, а не квадратично, как у стандартного самовнимания с softmax. Внимание с softmax оценивает каждый запрос относительно каждого ключа, поэтому N токенов дают матрицу оценок N × N для каждой головы, а трансформер, генерирующий текст, хранит KV-кэш, который растёт с каждым токеном. Линейное внимание заменяет сходство с softmax скалярным произведением карт признаков, φ(q)·φ(k), что позволяет модели перегруппировать матричные произведения и суммировать все предыдущие ключи и значения в состоянии фиксированного размера. В статье Katharopoulos и соавторов «Трансформеры — это RNN» 2020 года был описан распространённый вариант метода, а его версии с гейтами теперь работают в промышленных больших языковых моделях (LLM) наряду со стандартными слоями внимания.

Как работает линейное внимание#

Внимание с softmax вычисляет softmax(QKᵀ)V, и, поскольку exp(q·k) нельзя разложить на множитель для запроса и множитель для ключа, нужно оценивать каждую пару «запрос — ключ». С картой признаков φ, например elu(x) + 1, результат принимает вид φ(Q)(φ(K)ᵀV) и нормализуется на φ(Q), умноженную на сумму строк φ(K). Матричное умножение ассоциативно, поэтому φ(K)ᵀV можно вычислить первым, получив матрицу d × d, где d — размерность головы, независимо от числа токенов. Вычислительная сложность снижается с O(N²d) до O(Nd²), что выгодно, когда последовательности намного длиннее размерности головы.

Для причинно-следственных моделей та же алгебра превращает внимание в рекуррентную нейронную сеть (RNN) с матричным состоянием. Каждый новый токен добавляет к состоянию внешнее произведение φ(k)vᵀ, а его запрос считывает данные из этого состояния, поэтому для генерации текста требуются постоянный объём памяти и постоянное время на токен. При обучении используется параллельная форма или блочные ядра, например из библиотеки flash-linear-attention, поэтому GPU по-прежнему обрабатывает целые последовательности за один раз. В PyTorch обе формы дают одинаковые результаты:

import torch
import torch.nn.functional as F

torch.manual_seed(0)
n, d = 2048, 64
q, k, v = torch.randn(3, n, d).unbind(0)
phi_q, phi_k = F.elu(q) + 1, F.elu(k) + 1  # positive feature map in place of softmax

# Parallel form: an n x n causal score matrix, as in softmax attention
scores = torch.tril(phi_q @ phi_k.T)
parallel = (scores @ v) / scores.sum(dim=-1, keepdim=True)

# Recurrent form: a fixed d x d state that each new token updates
state, norm, outputs = torch.zeros(d, d), torch.zeros(d), []
for t in range(n):
    state += torch.outer(phi_k[t], v[t])
    norm += phi_k[t]
    outputs.append(phi_q[t] @ state / (phi_q[t] @ norm))
recurrent = torch.stack(outputs)

print("Same outputs:", torch.allclose(parallel, recurrent, atol=1e-4))
print(f"Recurrent state: {state.numel():,} numbers; KV cache after {n:,} tokens: {2 * n * d:,} numbers")

Выводится Same outputs: True. Состояние размером 64 × 64 содержит 4 096 чисел независимо от длины последовательности, тогда как KV-кэш одной головы после 2 048 токенов содержит 262 144 числа и увеличивается на 128 с каждым новым токеном.

DeltaNet, гейтинг и гибридные модели#

Состояние фиксированного размера — это память с потерями. Обычное линейное внимание только дополняет его, поэтому старые ассоциации накапливаются и мешают друг другу, а извлечение конкретных фактов из длинного контекстного окна уступает вниманию с softmax. Сейчас широко используются два решения. Гейтинг умножает состояние на обучаемый коэффициент затухания перед каждым обновлением, позволяя модели забывать; этот механизм также используется в моделях пространства состояний (SSM), таких как Mamba-2. Их авторы показали, что эти два семейства — двойственные формы друг друга. Правило дельты, разработанное в рамках исследований связи линейных трансформеров с программистами быстрых весов, считывает текущее значение, сохранённое для ключа, и записывает лишь разницу между новым значением и сохранённым прогнозом. В 2024 году DeltaNet позволила параллельно обучать правило дельты на всей последовательности, Gated DeltaNet (ICLR 2025) добавила гейт затухания, а Kimi Linear от Moonshot AI усовершенствовала этот гейт, чтобы он отдельно воздействовал на каждый канал.

В промышленных моделях эти слои чередуются с полноценным вниманием, чтобы несколько слоёв с softmax обеспечивали точное извлечение данных. Qwen3-Next и семейство Qwen3.5 повторяют блок из трёх слоёв Gated DeltaNet, за которыми следует один слой внимания с гейтами и softmax; в Kimi Linear используется похожее соотношение 3:1 между Kimi Delta Attention и многоголовым латентным вниманием:

  • Самовнимание: Точная форма с softmax, которая оценивает все пары токенов, имеет квадратичную временную сложность и KV-кэш, растущий вместе с последовательностью.
  • Flash attention: Ядро GPU, вычисляющее точное внимание с softmax по блокам, хранящимся во встроенной памяти чипа. Оно сокращает объём передаваемых данных, но число операций остаётся квадратичным.
  • Разреженное внимание: Сохраняет softmax, но оценивает только выбранные пары, например локальную область недавних токенов.
  • Внимание с группированными запросами (GQA): Распределяет ключи и значения между головами запросов, сокращая KV-кэш в фиксированное число раз и сохраняя полноценное внимание с softmax.

Где применяется линейное внимание#

Самая крупная область применения — языковые модели с длинным контекстом: при декодировании линейные слои гибридной модели сохраняют состояние фиксированного размера, а растущий KV-кэш есть только у нескольких слоёв с softmax. Второе направление — компьютерное зрение, поскольку число токенов растёт вместе с разрешением изображения. EfficientViT использует линейное внимание на основе ReLU для высокоразрешённой семантической сегментации, а SANA от NVIDIA реализует линейный диффузионный трансформер, который генерирует изображения размером до 4096 × 4096 пикселей. В детекции объектов внимание обычно применяется только там, где карты признаков самые маленькие. YOLO26 сохраняет стандартное внимание с softmax и применяет его только в блоке C2PSA и одном блоке C3k2 с поддержкой внимания. Оба блока работают с картой признаков 20 × 20 с шагом 32 для изображения размером 640 пикселей, поэтому каждый слой внимания обрабатывает 400 токенов и полную матрицу оценок из 160 000 значений на голову.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения