← Назад к списку
ТехническаяData Science и MLMiddle

Как устроен механизм внимания (attention) и почему трансформеры вытеснили рекуррентные сети?

Короткий ответ

  • Attention взвешивает все токены по релевантности друг другу
  • Query, Key, Value — три проекции входных эмбеддингов
  • Веса — softmax от скалярных произведений Q и K
  • Multi-head: несколько параллельных «взглядов» на связи
  • Позиционные эмбеддинги вместо порядка рекуррентности
  • Параллелится по всей последовательности, в отличие от RNN
  • Прямой доступ к дальнему контексту без затухания

Self-attention позволяет каждому токену напрямую взвешенно смотреть на все остальные, что дало трансформерам параллельное обучение и работу с длинным контекстом.

Как сказать вслух

пример ответа

Внимание — это способ для каждого слова посмотреть на все остальные слова последовательности и взять из них информацию пропорционально релевантности. Технически каждый токен получает три представления — запрос, ключ и значение, и веса считаются по совпадению запросов с ключами. Главное преимущество перед рекуррентными сетями — всё считается параллельно и любые два токена связаны напрямую, а не через длинную цепочку шагов.

Подробный ответ

Основной ответ

В self-attention каждый токен проецируется в три вектора: query, key и value. Релевантность пары токенов — скалярное произведение query одного на key другого; произведения масштабируются на корень из размерности, проходят softmax и становятся весами, с которыми суммируются values. Multi-head attention повторяет это в нескольких подпространствах параллельно, позволяя одновременно ловить разные типы связей — синтаксис, кореференцию, позиции. Поскольку сам механизм не знает порядка, добавляются позиционные кодировки (сейчас чаще RoPE). Блок трансформера — attention плюс полносвязная сеть с residual-связями и нормализацией. Преимущества над RNN: полная параллелизация обучения по последовательности, путь длины один между любыми токенами (нет затухания градиентов на длинных зависимостях) и отличная масштабируемость, что и сделало возможными современные LLM. Цена — квадратичная сложность по длине последовательности.

Ключевые моменты

  • QKV-механика. softmax(QK^T / sqrt(d)) V: веса внимания — нормированные сходства запросов и ключей.
  • Multi-head. Несколько голов в разных подпространствах ловят разные типы отношений между токенами.
  • Почему не RNN. RNN обрабатывает токены последовательно и теряет дальний контекст; attention параллелен и связывает токены напрямую.
  • Ограничение. Квадратичная стоимость по длине контекста; отсюда KV-кэш, flash attention и спарс-варианты.

Практический контекст

С распространением LLM вопрос стал обязательным даже вне NLP-команд. Глубину проверяют уточнениями: зачем делить на корень из размерности, зачем маска в декодере, что такое KV-кэш при генерации. Достаточно уверенно объяснить QKV на пальцах и назвать причины победы над RNN; формулу писать обычно не требуют, но её знание — плюс.

Частые ошибки

  • Рассказывают про «важность слов» без механики query/key/value
  • Не могут объяснить, почему трансформеры обучаются быстрее RNN
  • Забывают про позиционные кодировки — без них модель не видит порядок токенов

ИП Кочкин Алексей Сергеевич · ИНН 390509026279 · ОГРНИП 325390000030973 · jiniys2005@yandex.ru