Attention sparsity — подход, при котором матрица внимания вычисляется не полностью, а только по выбранным позициям, чтобы снизить вычислительные затраты.
Определение
Attention sparsity — это набор техник, которые уменьшают плотность вычислений в механизме self-attention за счёт сокращения количества пар токенов, участвующих в вычислении. Вместо квадратичной матрицы внимания L × L модель анализирует лишь подмножества элементов, что снижает вычислительную сложность и объём памяти.
Разрежённые схемы внимания применяются в трансформерах для длинных последовательностей, экономичных LLM, мультимодальных моделей и систем с ограниченными ресурсами.
Как работает
Принцип attention sparsity заключается в том, что не все токены одинаково важны при вычислении внимания. Модель может анализировать лишь небольшие фрагменты, определённые шаблоном, структурой данных или содержательными критериями.
- фиксированные маски — заранее заданные шаблоны разрежённости, где каждый токен видит только определённые позиции;
- локальность — внимание ограничено соседними токенами или локальными блоками;
- дилатация — выбор позиций с шагом, чтобы охватить дальние зависимости экономично;
- блочная структура — последовательность разбивается на блоки, и внимание работает внутри них и по нескольким глобальным токенам;
- контент-ориентированная селекция — внимание вычисляется только над токенами, которые модель считает значимыми;
- смешанные схемы — комбинации локального и глобального внимания.
Разрежение может быть статическим (заранее определённым) или динамическим (определяемым моделью на лету).
Основные схемы разрежения
При разработке long-context архитектур используется несколько ключевых схем:
- Sliding-window — локальное окно фиксированной длины.
- Dilated attention — токены видят элементы через интервалы.
- Block-sparse attention — внимание внутри блока + ограниченные межблочные связи.
- Global tokens — часть токенов имеет полный доступ ко всей последовательности.
- BigBird-подход — комбинация локального, случайного и глобального внимания.
- Longformer-подход — sliding-window + глобальные позиции.
- Reformer locality-sensitive hashing — группировка токенов по хэш-кластерам.
- Routing attention — динамическое распределение токенов по экспертам внимания.
Каждая схема создаёт собственный баланс между качеством и вычислительной эффективностью.
Где применяется
- Трансформеры с контекстами 16k–1M токенов.
- Видео- и аудио-модели с длительными временными зависимостями.
- Мультимодальные архитектуры с большими последовательностями признаков.
- LLM, оптимизированные под инференс на потребительском GPU.
- Потоковые системы, обрабатывающие лог-файлы и длинные текстовые документы.
- Архитектуры edge-инференса.
Практические примеры использования
В больших языковых моделях attention sparsity позволяет обрабатывать длинные документы без квадратичного роста памяти. Например, модели могут хранить локальные блоки внимания, используя global tokens для удержания общей структуры текста.
В видео-трансформерах разрежённость снижает вычисления в десятки раз: модель анализирует ближайшие кадры полностью и лишь некоторые ключевые кадры на больших расстояниях.
В анализе логов блоковая разрежённость делает возможной обработку миллионов событий, когда полное внимание слишком затратно.
В оптимизированных LLM attention sparsity сочетается с KV-compression и FlashAttention, формируя компактный и быстрый inference-пайплайн.
Расширенные механизмы и гибридные схемы
В современных архитектурах attention sparsity редко используется в чистом виде — обычно применяется комбинация нескольких подходов:
- локальное внимание + глобальные токены — удержание структуры при минимальных вычислениях;
- блочная разрежённость + RoPE-масштабирование — улучшение зависимости на больших расстояниях;
- динамическая разрежённость — модель сама решает, какие токены важнее;
- разрежённость + внешняя память — старые фрагменты сжимаются или агрегируются.
Это позволяет строить эшелонированные модели, которые эффективно работают даже с контекстами в сотни тысяч токенов.
Преимущества и ограничения
- Плюс: снижение вычислительной сложности по сравнению с полным self-attention.
- Плюс: уменьшение потребления памяти.
- Плюс: возможность масштабировать контекст до экстремальных длин.
- Плюс: гибкость выбора схемы разрежения под задачу.
- Минус: потеря качества при чрезмерной разрежённости.
- Минус: необходимость сложной настройки под тип данных.
- Минус: не всегда подходит для задач с плотными глобальными зависимостями.
- Минус: некоторые схемы плохо сочетаются с классическими оптимизациями внимания.
Связанные термины
- Sliding-window attention
- Block-sparse attention
- Long-context architectures
- Self-attention
- KV-compression
- FlashAttention
- Routing attention