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

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

Версия от 10:41, 16 июня 2026; Emil Petrov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM Claude Sonnet 4 и проверена участником Emil Petrov Emil Petrov 14:41, 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 	imes d_{model}}. К ней прибавляется позиционное кодирование (англ. positional encoding) — детерминированный вектор, несущий информацию о позиции токена в последовательности:

	ext{PE}(pos, 2i) = sin!left(�rac{pos}{10000^{2i/d_{model}}}
ight), quad 	ext{PE}(pos, 2i+1) = cos!left(�rac{pos}{10000^{2i/d_{model}}}
ight).

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

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

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

	ext{Attention}(Q, K, V) = 	ext{softmax}!left(�rac{QK^	op}{sqrt{d_k}}
ight) V.

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

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

где 	ext{head}_i = 	ext{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):

	ext{output} = 	ext{LayerNorm}(x + 	ext{Sublayer}(x)).

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

Полная модель

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

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

Модель Large (d_{model} = 1024, N = 6, h = 16) содержит ~213 млн параметров.

Обучение

Трансформер обучается методом стохастического градиентного спуска с оптимизатором Adam. Авторы предложили специальный планировщик скорости обучения (learning rate schedule): скорость сначала линейно растёт в течение warmup_steps шагов, затем убывает обратно пропорционально квадратному корню из номера шага:

lr = d_{model}^{-0.5} cdot min(step^{-0.5},; step cdot warmup_steps^{-1.5}).

Дополнительно применяются техники регуляризации: дропаут на выходах подслоёв, на встраиваниях и в матрицах внимания, а также сглаживание меток (label smoothing) с �arepsilon = 0{,}1.

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

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

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

Сложность и масштабируемость

Вычислительная сложность операции внимания составляет O(n^2 d) по числу операций и O(n^2) по памяти, где n — длина последовательности. Это ограничивает применение стандартного трансформера к очень длинным документам.

С другой стороны, отсутствие рекуррентности обеспечивает идеальную параллелизуемость обучения, что позволило масштабировать модели до сотен миллиардов параметров. Законы масштабирования (scaling laws), установленные в работах OpenAI[1], показывают, что потери на языковом моделировании убывают как степенная функция от числа параметров, объёма обучающих данных и вычислительного бюджета.

Применения

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

  • Компьютерное зрение — Vision Transformer (ViT) делит изображение на патчи и обрабатывает их как последовательность токенов; DINO, CLIP используют трансформеры для обучения с самоконтролем и мультимодального обучения.
  • Генерация изображенийдиффузионные модели (Stable Diffusion, DALL-E) используют трансформеры в качестве U-Net-подобного денойзера с механизмом кросс-внимания для обусловливания на текст.
  • Белковые последовательности — AlphaFold2 применяет трансформеры для предсказания трёхмерной структуры белков по аминокислотной последовательности.
  • Обработка временных рядов, графов, аудио — трансформеры конкурентоспособны или превосходят специализированные архитектуры во всё большем числе областей.

Значение и исторический контекст

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

См. также

Примечания

Литература

  • 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.
  • Tunstall L., von Werra L., Wolf T. Natural Language Processing with Transformers. — O'Reilly Media, 2022. — ISBN 978-1098103244
Личные инструменты