Механизм внимания
Механизм внимания — вычислительный метод в нейросетях, позволяющий модели взвешенно учитывать различные части входных данных при генерации каждого элемента вывода, независимо от их позиционного расстояния в последовательности.
Механизм внимания (attention mechanism) — ключевой компонент современных нейронных сетей для обработки последовательностей, в котором каждый выходной элемент вычисляется как взвешенная сумма всех входных представлений. Веса — оценки внимания — определяются попарным соответствием между элементами: модель «решает», насколько каждый входной токен важен для вычисления текущего выходного токена, без ограничений по дистанции между ними.
Математически механизм реализуется через тройку матриц: Query (Q), Key (K) и Value (V). Для каждого токена вычисляется запрос Q, для всех токенов — ключи K; dot-product Q·Kᵀ, нормированный на √d_k и пропущенный через softmax, даёт распределение весов внимания. Итоговое представление — взвешенная сумма V с этими весами. Scaled dot-product attention, описанный в статье «Attention Is All You Need» (Vaswani et al., Google, 2017), лёг в основу архитектуры Transformer. Multi-head attention — параллельное применение нескольких независимых механизмов внимания, каждый из которых улавливает разные типы синтаксических и семантических зависимостей.
Принципиальное преимущество attention перед рекуррентными архитектурами (LSTM, GRU) — параллелизм вычислений и способность напрямую связывать любые два токена вне зависимости от дистанции в последовательности. Это устранило проблему «забывания» длинных зависимостей. Attention также частично интерпретируемо: визуализация матриц внимания показывает, на что «смотрит» модель при генерации каждого токена, помогая понять, как модели разрешают анафору, учитывают контекст и обрабатывают синтаксические структуры.
К 2026 году вариации attention лежат в основе всех frontier LLM. Квадратичная сложность O(n²) по длине контекста побудила к созданию эффективных аппроксимаций: Flash Attention (Dao et al., 2022) и Flash Attention 2 (2023) оптимизируют доступ к памяти GPU и ускоряют вычисления в 2–4×, став стандартом в большинстве фреймворков — PyTorch, JAX, vLLM. Линейные и sparse attention варианты (Mamba, RWKV) исследуются как альтернативы для контекстов свыше 1M токенов, хотя пока уступают стандартному attention по качеству на большинстве задач.