Sliding-window attention — механизм внимания, который ограничивает модель фиксированным окном прошлых токенов вместо всей последовательности.
Определение
Sliding-window attention — это схема организации внимания, при которой модель анализирует не всю накопленную последовательность, а только подмножество токенов в пределах скользящего окна фиксированной длины. В отличие от полного self-attention, где каждая позиция может взаимодействовать с любой предыдущей, sliding-window ограничивает радиус видимости, уменьшая размер матриц внимания и снижая вычислительную сложность.
Механизм применяется в архитектурах, работающих с длинными или бесконечными потоками данных: модель получает доступ к последним N токенам, а остальная история упрощается или сворачивается другими методами.
Как работает
Идея sliding-window основана на том, что для большинства задач недавний контекст важнее дальнего. Механизм реализуется через маскирование матрицы внимания: каждая позиция может видеть только те элементы, которые попадают в диапазон [i − W, i], где W — ширина окна.
- фиксированное окно — модель использует только последние W токенов;
- маскирование внимания — элементы за пределами окна скрываются, их логиты задаются как минус-бесконечность;
- локальность — attention концентрируется на недавних зависимостях;
- линейное или субквадратичное время — объём вычислений уменьшается пропорционально длине окна;
- совместимость — окно может комбинироваться с другими механизмами расширения контекста.
При генерации токенов окно скользит: на каждом шаге внимание смещается вперёд на один токен, сохраняя фиксированную длину области видимости.
Где применяется
- Модели с большим контекстом, где полный self-attention слишком дорог.
- Архитектуры, работающие с длинными документами и непрерывными потоками.
- Видео- и аудио-модели, где важны локальные временные зависимости.
- Системы анализа логов и событий в потоковом режиме.
- Трансформеры на мобильных устройствах или ограниченных GPU.
- Чатовые модели с эффективным удержанием последнего фрагмента контекста.
Практические примеры использования
В моделях, анализирующих длительные документы, sliding-window attention позволяет удерживать локальный смысловой контекст без вычисления огромных матриц внимания. Старые части текста могут быть обработаны другими механизмами: суммаризация, буфер долгосрочной памяти, внешние хранилища или RAG-подходы.
В аудио-моделях окно позволяет эффективно работать с речевыми фрагментами: ближайшие временные участки определяют структуру речи, и внимание на большие расстояния часто не требуется.
В системах реального времени локальность снижает задержки: модель обрабатывает вход по мере поступления, не пересчитывая далёкие зависимости.
В трансформерах для мобильных устройств sliding-window attention обеспечивает стабильную работу при ограниченной памяти и уменьшает энергопотребление.
Комбинации и расширения
Sliding-window attention редко используется как единственный механизм в современных архитектурах. Наилучшие результаты достигаются при комбинации:
- global tokens — отдельные токены имеют доступ ко всей последовательности;
- dilated attention — окно расширяется через пропуски (i, i−2, i−4, …);
- memory tokens — модель сохраняет агрегированную информацию о старых фрагментах;
- long-context kernels — методы типа ALiBi, RoPE-rescaling для дальних зависимостей;
- KV-compression — агрегация или сжатие старых K/V токенов за пределами окна.
Эти механизмы позволяют объединить локальное внимание и глобальную структуру, обеспечивая баланс между качеством и вычислительной эффективностью.
Преимущества и ограничения
- Плюс: существенное снижение вычислительных и память-затрат.
- Плюс: предсказуемая сложность O(L × W) вместо O(L²).
- Плюс: высокая стабильность при длинных последовательностях.
- Плюс: хорошая совместимость с KV-cache и FlashAttention.
- Минус: модель теряет доступ к дальним зависимостям.
- Минус: требует сложных дополнений для полноценного long-context поведения.
- Минус: может ухудшать качество в задачах со структурой глобального документа.
- Минус: чувствительна к выбору ширины окна и характера данных.
Связанные термины
- Causal attention
- Self-attention
- Long-context architectures
- KV-cache
- KV-compression
- Global attention
- Memory tokens