Вопрос с собеседования · AI и LLM

Как работает механизм внимания (self-attention) и архитектура трансформера?

MiddleНейросети и трансформеры
Ещё спрашивают так:
  • Что такое Query, Key и Value?
  • Почему трансформеры вытеснили RNN?
  • Что такое multi-head attention?
Коротко

Self-attention: для каждого токена считаются три вектора — Query (что ищу), Key (что содержу), Value (что передам). Вес внимания токена i к токену j — softmax от скалярного произведения Query_i и Key_j; выход — взвешенная сумма Value. Так каждый токен «смотрит» на все остальные и собирает нужный контекст.

  • Multi-head — несколько голов внимания параллельно, каждая ловит свои связи
  • Блок трансформера: внимание + полносвязный слой, с остаточными связями и нормализацией
  • В декодерах (GPT) маска запрещает смотреть на будущие токены

А ещё Внимание квадратично по длине контекста — отсюда цена длинных окон

Подробно

Формула: Attention(Q, K, V) = softmax(Q·Kᵀ / √d) · V. Деление на √d не даёт произведениям расти с размерностью и «насыщать» softmax.

Почему вытеснили RNN. Рекуррентные сети обрабатывали последовательность шаг за шагом: обучение не параллелится, а связь между далёкими словами проходит через десятки шагов и затухает. Внимание связывает любые две позиции напрямую, и все позиции считаются параллельно на GPU — это позволило обучать модели на триллионах токенов.

Позиции. Внимание само по себе не знает порядка, поэтому добавляют позиционную информацию; в современных LLM — RoPE (вращение векторов Q и K в зависимости от позиции).

Три семейства:

  • энкодер (BERT) — видит весь текст, хорош для классификации и эмбеддингов;
  • декодер (GPT, Llama, Claude) — с причинной маской, генерирует текст;
  • энкодер-декодер (T5) — перевод, суммаризация.

Цена. Вычисления и память внимания растут квадратично от длины контекста. Оптимизации: FlashAttention (без материализации матрицы внимания), grouped-query attention (меньше голов для K и V), KV-кэш при генерации.

Что хотят услышать

  • Q, K, V и формула внимания.
  • Почему трансформеры лучше RNN.
  • Энкодер, декодер, причинная маска.
  • Квадратичная сложность.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Каждый токен обрабатывается независимо, контекст учитывается только через позиционные векторы
  • ✓Softmax от Query·Key задаёт веса, выход — взвешенная сумма Value
  • ✗Внимание — рекуррентный проход по токенам слева направо, как в LSTM
  • ✗Каждый токен обрабатывается независимо, а связь с другими словами модель получает только через позиционные векторы, добавленные ко входу

Что спросят дальше

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования