Sparse attention (разрежённое внимание) — механизм, при котором модель обрабатывает только часть пар токенов вместо полного внимания, уменьшая вычислительную стоимость без существенной потери качества.
Определение
Sparse attention — это архитектурный метод, в котором механизм внимания анализирует не все токены относительно всех остальных, а лишь ограниченный набор связей, определённых заранее или динамически. В классическом внимании каждая позиция сравнивается со всеми позициями последовательности, что приводит к квадратичной сложности по длине контекста. Разрежённые схемы уменьшают количество вычислений, сохраняя ключевые зависимости и структуру входа.
Такой подход позволяет моделям работать с более длинными последовательностями и экономить ресурсы, особенно при обработке больших текстов, документов и структурированных данных.
Как работает
Sparse attention использует ограниченные паттерны связей между токенами. Основные варианты:
- fixed sparse pattern — заранее заданные маски, например блоки или диагонали;
- local attention — внимание только к соседним токенам в окне;
- strided attention — выбор токенов через равные интервалы;
- global tokens — специальные позиции, доступные всем остальным токенам;
- combination patterns — гибрид локальных и глобальных связей.
В отличие от полного внимания, где каждая позиция имеет полную матрицу весов, sparse attention работает с масками, определяющими допустимые связи. Алгоритм уменьшает число операций, не ухудшая доступ к важным зависимостям.
Типичная схема работы:
- вход разбивается на блоки или сегменты;
- для каждого сегмента заранее известен набор разрешённых связей;
- внимание вычисляется только для разрешённых позиций;
- результат комбинируется в единое представление;
- при необходимости подключаются глобальные токены для дальних зависимостей.
Где применяется
- Модели с большим контекстом: обработка длинных текстов и последовательностей.
- Работа с документами: анализ структурированных блоков, таблиц и длинных инструкций.
- Модели со сниженной нагрузкой: экономия ресурсов при больших масштабах.
- Оптимизированные архитектуры для устройств с ограниченной памятью.
- Системы, где длина входа важнее точности полного внимания.
- Комбинированные схемы для сложных задач: гибрид локальных и глобальных паттернов.
Практические примеры использования
В длинных текстовых задачах sparse attention позволяет работать со статьями, отчётами и документами, которые превышают стандартное окно контекста. Модель анализирует локальные связи между близкими токенами и глобальные связи через специальные ключевые позиции.
В системах анализа данных разрежённые схемы помогают обрабатывать последовательности событий, где важны только локальные зависимости, а глобальные связи встречаются редко. Использование фиксированного паттерна позволяет уменьшить задержки и ускорить вычисления.
В моделях, оптимизированных для работы на устройствах с ограниченными ресурсами, sparse attention снижает требования к памяти, поскольку вычисления распределяются по меньшему числу операций. Это делает возможной работу с текстами, которые в противном случае не помещались бы в стандартное окно.
В гибридных архитектурах разрежённое внимание используется для балансировки качества и скорости: модель получает доступ к близким и ключевым дальним зависимостям, но избегает дорогостоящего полного внимания.
Преимущества и ограничения
- Плюс: существенное снижение вычислительной сложности.
- Плюс: возможность увеличивать длину последовательностей.
- Плюс: гибкость — можно комбинировать разные паттерны внимания.
- Плюс: экономия памяти и ускорение обработки.
- Минус: риск потерять важные дальние зависимости при неправильно выбранной маске.
- Минус: сложность настройки и выбора структуры разрежённости.
- Минус: не все задачи подходят под фиксированные шаблоны внимания.
- Минус: необходимость поддерживать баланс между скоростью и качеством.
Связанные термины
- Full attention
- Local attention
- Long context architectures
- Memory tokens
- Routing layers
- Sparse models
- Mixture-of-Experts
- Scaling laws