Как работает механизм внимания (self-attention) и архитектура трансформера?
- Что такое 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 минут бесплатно.