Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Sparse Attention

Разреженное внимание позволяет каждому токену учитывать только выбранное подмножество других токенов, например локальное окно, глобальные токены или токены из top-k, снижая затраты при обработке длинных последовательностей.

Разреженное внимание — это семейство механизмов внимания, в которых каждый запрос оценивает только выбранное подмножество ключей, а не все ключи последовательности. Полное самовнимание для N токенов вычисляет N² оценок на одну голову, поэтому удвоение длины документа вчетверо увеличивает стоимость внимания, тогда как схема, в которой каждый токен обращается к k другим, требует N·k операций. Схему можно задать заранее, например окном фиксированного размера, или выбирать по содержимому, например брать ключи с наивысшими оценками для каждого запроса. В Sparse Transformer OpenAI 2019 года использовались шаблоны с шагом, требовавшие O(N√N) операций для моделирования последовательностей длиной в десятки тысяч шагов, а современные большие языковые модели (LLMs) используют разреженные слои, чтобы обрабатывать контекстные окна длиной более 100 000 токенов.

Распространённые шаблоны разреженности#

Фиксированные шаблоны заранее определяют, какие пары нужно оценивать. При внимании со скользящим окном каждому токену доступны только предыдущие w токенов: Mistral 7B использует окно размером 4096 токенов, а модели с открытыми весами gpt-oss от OpenAI чередуют плотные слои со слоями, использующими окна из 128 токенов. Такое же чередование плотных слоёв и слоёв с локальной полосой применялось в GPT-3. Каждый слой с окном передаёт информацию ещё на w токенов вперёд, поэтому глубокая сеть всё равно связывает удалённые токены. Шаблоны с шагом добавляют каждый s-й предыдущий токен, чтобы информация могла за один слой передаваться на большие расстояния. Глобальные токены обращаются ко всем позициям, и все позиции могут обращаться к ним: Longformer назначает их токенам задачи, например токену классификации, BigBird также добавляет случайные связи, а токены-поглотители внимания оставляют первые несколько токенов видимыми каждому запросу, чтобы генерация в потоковом режиме оставалась стабильной.

Шаблоны, зависящие от содержимого, выбирают пары на основе данных. Native Sparse Attention от DeepSeek (NSA, 2025) объединяет сжатые сводки блоков ключей, выбор наиболее релевантных блоков и скользящее окно; всё это обучается end-to-end. DeepSeek Sparse Attention в DeepSeek-V3.2 запускает небольшой «молниеносный индексатор», который оценивает каждый предыдущий токен для каждого запроса, а затем вычисляет полное внимание только для 2048 токенов с наивысшими оценками. Поэтому основная стоимость внимания для каждого запроса остаётся постоянной, как бы ни увеличивался контекст. В производственных моделях часто сочетают эти правила:

Как шаблон обеспечивает экономию#

Маска, применённая к плотной матрице оценок, всё равно вычисляет каждую оценку, поэтому ускорение обеспечивают ядра, пропускающие пустые блоки матрицы. Ядра Flash Attention напрямую поддерживают скользящие окна, а FlexAttention в PyTorch компилирует любую функцию маски в блочно-разреженное ядро GPU. create_block_mask показывает, какие блоки такое ядро пропускает для окна размером 1024 токена и четырёх токенов-поглотителей:

from torch.nn.attention.flex_attention import create_block_mask

seq_len, window, sinks = 8192, 1024, 4


def local_plus_sinks(b, h, q_idx, kv_idx):
    """Causal attention to the previous 1,024 tokens plus the first 4 tokens."""
    causal = q_idx >= kv_idx
    return causal & ((q_idx - kv_idx <= window) | (kv_idx < sinks))


# FlexAttention разбивает маску на блоки 128 x 128, чтобы ядра могли пропускать пустые блоки
block_mask = create_block_mask(local_plus_sinks, B=None, H=None, Q_LEN=seq_len, KV_LEN=seq_len, device="cpu")
print(block_mask)

Вывод показывает sparsity=85.47% — долю блоков размером 128 × 128 в матрице оценок 8,192 × 8,192, в которых нет ни одной допустимой пары, — и изображает шаблон в виде диагональной полосы для окна и столбца слева для токенов-поглотителей. Когда flex_attention запускается под управлением torch.compile, его ядро полностью пропускает эти блоки.

  • Flash Attention: ядро с учётом ввода-вывода вычисляет точное внимание для каждой пары, разбивая работу на блоки в быстрой внутрикристальной памяти. Эти блоки также служат единицами, которые пропускают блочно-разреженные ядра.
  • Линейное внимание: сохраняет все пары, но заменяет softmax отображением признаков, благодаря чему все предыдущие ключи и значения сжимаются в состояние фиксированного размера.
  • Деформируемое внимание: механизм компьютерного зрения, в котором каждый запрос обращается к нескольким точкам выборки со смещениями, обучаемыми на карте признаков, а не к фиксированному шаблону.
  • Смесь экспертов (MoE): разреженность параметров, при которой каждый токен активирует лишь несколько экспертных сетей, а шаблон внимания остаётся плотным.

Применение#

Основное применение — языковые модели с длинным контекстом: разреженные слои ограничивают вычислительные затраты, а слои с окнами также ограничивают размер KV-кэша. Благодаря этому модели могут за один запрос обобщать длинные отчёты или искать информацию в крупных кодовых базах. BigBird применил свой разреженный шаблон к последовательностям ДНК, где вход из тысяч пар оснований намного длиннее обычного предложения, чтобы предсказывать промоторные области. В компьютерном зрении количество токенов растёт вместе с разрешением изображения, поэтому модели ограничивают внимание локальными областями: Swin Transformer обращается к токенам внутри смещённых окон. YOLO12 — детектор, ориентированный на внимание, созданный исследователями Университета Буффало и Университета Китайской академии наук и доступный в пакете Ultralytics, — использует внимание по областям: этап backbone с шагом 16 разбивает карту признаков изображения размером 640 пикселей на четыре горизонтальные полосы по 400 токенов и вычисляет внимание внутри каждой полосы. Таким образом, оценивается четверть из 2,56 миллиона пар, необходимых для полного внимания ко всем 1600 токенам.

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

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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