Глубокое обучение

Attention

Механизм внимания

актуальноТекущий рабочий стандарт

Каждая позиция смотрит на все остальные и взвешивает их по релевантности — прямой доступ к контексту без рекуррентности.

Что означает каждый компонент
  • совместимость запросов и ключей: скалярное произведение показывает, насколько токены «резонируют»
  • нормировка на размерность: без неё скоры растут, softmax насыщается и градиенты исчезают
  • значения, которые собираются с весами внимания — то, что реально переносится между позициями

Ключевые тезисы

  • Queries, keys и values задают, что ищем, где ищем и что забираем.
  • Multi-head внимание позволяет одновременно отслеживать разные типы связей.
  • Квадратичная сложность по длине последовательности — главное ограничение.
Тема также относится к главам:Обработка естественного языкаМодели

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Query, Key, Value

Механизм поиска по содержимому, встроенный в сеть.

Каждый токен порождает три вектора: query («что я ищу»), key («чем я могу быть полезен») и value («что я отдам, если меня выберут»). Совместимость запроса и ключа задаётся скалярным произведением.

Обозначения
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • транспонирование: строка вместо столбца

Деление на не косметика: при большой размерности скалярные произведения растут, softmax насыщается и градиенты исчезают.

Кошка
села
на
тёплый
коврик
Кошка
0.66
0.05
0.04
0.06
0.20
села
0.14
0.57
0.10
0.06
0.13
на
0.07
0.14
0.47
0.11
0.21
тёплый
0.07
0.05
0.08
0.50
0.30
коврик
0.16
0.06
0.09
0.20
0.49
запрос (query)Кошка
максимум вниманияКошка
вес0.657
сумма весов строки1.000
Понижайте температуру: распределение внимания из размытого становится почти one-hot — модель выбирает один токен
2

Multi-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%

Большие языковые модели · Генеративный ИИ

Трансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.