Трансформер (модель)

Материал из MachineLearning.

Версия от 10:56, 16 июня 2026; Emil Petrov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM Claude Sonnet 4 и проверена участником Emil Petrov 14:56, 16 июня 2026 (MSD)

Промпт приводится полностью в Обсуждение:Трансформер (модель)


Содержание

Трансфо́рмер (англ. Transformer) — архитектура нейронной сети, основанная исключительно на механизме внимания (англ. attention mechanism) без использования рекуррентных или свёрточных слоёв. Впервые предложена в 2017 году исследователями Google Brain и Google Research в статье «Attention Is All You Need»[1]. Трансформер произвёл революцию в обработке естественного языка и стал основой большинства современных больших языковых моделей, включая GPT, BERT, T5 и их последователей.

Предпосылки и мотивировка

До появления трансформера доминирующими архитектурами для задач обработки последовательностей (перевод, суммаризация, распознавание речи) были рекуррентные нейронные сети (RNN) и их модификации — LSTM и GRU. Они обрабатывают входной текст пошагово: на каждом шаге модель получает текущий токен и скрытое состояние с предыдущего шага. Это порождает две ключевые проблемы:

  • Последовательный характер вычислений — нельзя распараллелить обработку токенов, что ограничивает масштабирование на современных GPU и TPU.
  • Затухание градиентов — при длинных последовательностях информация с ранних шагов плохо передаётся к поздним, несмотря на механизм ячеек памяти LSTM.

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

Архитектура

Классический трансформер имеет энкодер-декодерную структуру, использовавшуюся изначально для задачи машинного перевода.

Входное представление

Входная последовательность токенов x_1, \ldots, x_n сначала преобразуется в матрицу векторов встраиваний X \in \mathbb{R}^{n \times d_{\text{model}}}. К ней прибавляется позиционное кодирование (англ. positional encoding) — детерминированный вектор, несущий информацию о позиции токена в последовательности:

\text{PE}(pos, 2i) = \sin\!\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right), \quad \text{PE}(pos, 2i+1) = \cos\!\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right).

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

Механизм многоголового внимания

Центральный строительный блок — многоголовое внимание (multi-head attention). Для одной «головы» с запросами Q, ключами K и значениями V внимание вычисляется как:

\text{Attention}(Q, K, V) = \text{softmax}\!\left(\frac{QK^\top}{\sqrt{d_k}}\right) V.

Масштабирование на \sqrt{d_k} предотвращает насыщение функции softmax при большой размерности. Многоголовая версия запускает h независимых операций внимания параллельно и конкатенирует результаты:

\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)\, W^O,

где \text{head}_i = \text{Attention}(Q W_i^Q,\, K W_i^K,\, V W_i^V).

Каждая голова может специализироваться на различных типах зависимостей: синтаксических, семантических, кореференциальных.

Блок энкодера и декодера

Один слой энкодера состоит из двух подслоёв:

  1. Многоголовое внимание (каждый токен «смотрит» на все остальные токены входа — self-attention).
  2. Позиционно-зависимая полносвязная сеть (feed-forward network, FFN) с двумя линейными преобразованиями и нелинейностью ReLU между ними.

Вокруг каждого подслоя применяется остаточное соединение (residual connection) и нормализация слоя (layer normalization):

\text{output} = \text{LayerNorm}(x + \text{Sublayer}(x)).

Слой декодера добавляет третий подслой — кросс-внимание (cross-attention), в котором запросы поступают из декодера, а ключи и значения — из выходов энкодера. Self-attention в декодере маскируется (masked self-attention), чтобы при генерации токена t модель не видела токены с позиций > t.

Параметры модели

Стандартный трансформер (модель Base) содержит:

  • N = 6 слоёв энкодера и N = 6 слоёв декодера;
  • d_{\text{model}} = 512, h = 8 голов, d_k = d_v = 64;
  • FFN с внутренней размерностью d_{ff} = 2048;
  • итого ~65 млн параметров.

Обучение

Трансформер обучается методом стохастического градиентного спуска с оптимизатором Adam. Авторы предложили специальный планировщик скорости обучения:

lr = d_{\text{model}}^{-0.5} \cdot \min\!\left(step^{-0.5},\; step \cdot warmup\_steps^{-1.5}\right).

Дополнительно применяются дропаут и сглаживание меток (label smoothing) с \varepsilon = 0{,}1.

Варианты архитектуры

С момента публикации оригинальной работы трансформер породил множество специализированных архитектур:

  • Только энкодер (BERT, RoBERTa) — оптимальны для задач понимания текста. Обучаются на маскированном языковом моделировании.
  • Только декодер (GPT, GPT-2/3/4) — оптимальны для авторегрессионной генерации текста.
  • Энкодер-декодер (T5, BART) — универсальный формат «текст в текст», объединяющий задачи перевода, суммаризации, ответов на вопросы.
  • Эффективные трансформеры (Longformer, BigBird, FlashAttention) — снижают квадратичную сложность O(n^2) по длине последовательности.

Законы масштабирования

Законы масштабирования (scaling laws), установленные Kaplan et al.[1], показывают, что потери на языковом моделировании убывают как степенная функция от числа параметров N, объёма данных D и вычислительного бюджета C:

L(N, D) \approx A \cdot N^{-\alpha} + B \cdot D^{-\beta} + L_\infty.

Применения

Трансформер стал универсальной архитектурой, выходящей далеко за пределы NLP:

  • Компьютерное зрение — Vision Transformer (ViT) делит изображение на патчи и обрабатывает их как последовательность токенов.
  • Генерация изображенийдиффузионные модели (Stable Diffusion, DALL-E) используют трансформеры как денойзер.
  • Предсказание структуры белков — AlphaFold2 применяет трансформеры для предсказания 3D-структуры белков.

Значение

Трансформер является одной из наиболее цитируемых статей в истории машинного обучения. Он инициировал эпоху больших языковых моделей, изменившую ландшафт искусственного интеллекта. Архитектура оказалась настолько универсальной, что её называют «foundation model» — фундаментом, на котором строятся специализированные системы через дообучение и инжиниринг промптов.

См. также

Примечания

Литература

  • Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A. N., Kaiser Ł., Polosukhin I. Attention Is All You Need // Advances in Neural Information Processing Systems. — 2017. — Т. 30.
  • Kaplan J., McCandlish S., Henighan T. et al. Scaling Laws for Neural Language Models // arXiv preprint. — 2020.
  • Devlin J., Chang M.-W., Lee K., Toutanova K. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding // NAACL-HLT. — 2019.
  • Dosovitskiy A. et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale // ICLR. — 2021.
Личные инструменты