Каждая позиция смотрит на все остальные и взвешивает их по релевантности — прямой доступ к контексту без рекуррентности.
- совместимость запросов и ключей: скалярное произведение показывает, насколько токены «резонируют»
- нормировка на размерность: без неё скоры растут, softmax насыщается и градиенты исчезают
- значения, которые собираются с весами внимания — то, что реально переносится между позициями
Ключевые тезисы
- Queries, keys и values задают, что ищем, где ищем и что забираем.
- Multi-head внимание позволяет одновременно отслеживать разные типы связей.
- Квадратичная сложность по длине последовательности — главное ограничение.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Query, Key, Value
Механизм поиска по содержимому, встроенный в сеть.
Каждый токен порождает три вектора: query («что я ищу»), key («чем я могу быть полезен») и value («что я отдам, если меня выберут»). Совместимость запроса и ключа задаётся скалярным произведением.
- номер или количество: индекс шага, число соседей, кластеров или позиций
- транспонирование: строка вместо столбца
Деление на не косметика: при большой размерности скалярные произведения растут, softmax насыщается и градиенты исчезают.
2Multi-head и маски
Зачем несколько голов и как запретить смотреть в будущее.
Одна голова усредняет все типы связей. Несколько голов работают в разных подпространствах: одна отслеживает синтаксис, другая — кореференцию, третья — позиционную близость. Результаты конкатенируются и проецируются обратно.
- Padding mask — не смотреть на технические токены-заполнители.
- Causal mask — в декодере запрещает видеть будущие позиции: без неё авторегрессионное обучение было бы жульничеством.
- Cross-attention — запросы из декодера, ключи и значения из энкодера: так работает перевод и мультимодальность.
Сложность внимания — по длине последовательности. Отсюда все усилия последних лет: FlashAttention (та же математика, но эффективная работа с памятью), разреженное и линейное внимание.
Связанные темы
Внимание и трансформеры
Transformers85%
Трансформеры · Глубокое обучениеАрхитектура целиком на внимании: параллельная обработка последовательности вместо пошаговой.
Attention85%
Внимание в NLP · Обработка естественного языкаИзначально придумано, чтобы декодер перевода мог смотреть на нужные слова исходного предложения.
Transformers85%
Трансформеры в NLP · Обработка естественного языкаОснова всех современных языковых моделей: encoder, decoder или их комбинация.
BERT85%
BERT · Обработка естественного языкаДвунаправленный энкодер, предобученный на восстановлении замаскированных токенов.
GPT85%
GPT · Обработка естественного языкаАвторегрессионный декодер: предсказывает следующий токен, что оказалось достаточно универсальной задачей.
Vision Transformers85%
Vision Transformers · Компьютерное зрениеИзображение режется на патчи, которые обрабатываются как последовательность токенов.
Transformer forecasting85%
Трансформеры для прогноза · Временные рядыВнимание над длинными горизонтами: Informer, Autoformer, PatchTST, TFT.
LLM85%
Большие языковые модели · Генеративный ИИТрансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.