Attention is All You Need: статья, изменившая AI
Разбираем статью Attention is All You Need — архитектуру Transformer, механизм внимания и влияние на GPT, BERT и всю индустрию AI.
12 июня 2017 года восемь исследователей из Google Brain и Google Research выложили на arXiv препринт с провокационным названием — «Attention Is All You Need». Статья на 15 страниц предлагала полностью отказаться от рекуррентных и свёрточных сетей в пользу нового подхода — механизма внимания. Никто из авторов не мог предположить, что именно эта работа станет фундаментом для ChatGPT, BERT, Claude, Gemini и всей индустрии генеративного AI.
К 2025 году статья набрала более 173 000 цитирований — это один из десяти самых цитируемых научных текстов XXI века. Разберёмся, что именно предложили авторы, почему это сработало и как одна архитектура перевернула всю отрасль.
Проблема: почему RNN и CNN перестали справляться
До 2017 года стандартом обработки текста были рекуррентные нейронные сети (RNN) и их улучшенные версии — LSTM и GRU. Они обрабатывали текст последовательно, слово за словом, как человек читает книгу.
Это создавало две критические проблемы:
Невозможность параллелизации. Каждый шаг зависит от предыдущего — нельзя обработать слово №100, пока не посчитаны все предыдущие 99. На GPU, заточенных под параллельные вычисления, это катастрофа.
Затухание градиентов. Чем длиннее последовательность, тем хуже сеть «помнит» начало. Связи между далёкими словами в предложении терялись при обратном распространении ошибки.
Свёрточные сети (CNN) решали вопрос параллелизации, но плохо справлялись с длинными зависимостями — для связи далёких слов требовалось множество слоёв.
| Характеристика | RNN/LSTM | CNN | Transformer |
|---|---|---|---|
| Параллелизация | Нет | Частичная | Полная |
| Длинные зависимости | Плохо (затухание) | Ограниченно (размер ядра) | Напрямую (self-attention) |
| Время обучения (перевод EN→DE) | Недели | Дни | 3,5 дня (8 GPU) |
| BLEU на WMT 2014 EN→DE | ~26 | ~25 | 28,4 |
| Сложность на слой | O(n·d²) | O(k·n·d²) | O(n²·d) |
Механизм внимания: Query, Key, Value
Центральная идея Transformer — self-attention (самовнимание). Вместо того чтобы обрабатывать слова последовательно, механизм внимания позволяет каждому слову «посмотреть» на все остальные слова в предложении и определить, какие из них для него важны.
Scaled Dot-Product Attention
Каждое слово преобразуется в три вектора:
- Query (Q) — «вопрос»: что я ищу?
- Key (K) — «ключ»: что я содержу?
- Value (V) — «значение»: какую информацию я передаю?
Формула вычисления внимания:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
import torch
import torch.nn.functional as F
def scaled_dot_product_attention(Q, K, V):
"""Scaled Dot-Product Attention — ядро Transformer."""
d_k = Q.size(-1)
# Скалярное произведение Q и K, масштабирование
scores = torch.matmul(Q, K.transpose(-2, -1)) / (d_k ** 0.5)
# Softmax превращает scores в веса (сумма = 1)
attention_weights = F.softmax(scores, dim=-1)
# Взвешенная сумма значений
return torch.matmul(attention_weights, V)
Деление на √d_k — ключевая деталь. Без масштабирования при больших размерностях скалярное произведение даёт огромные числа, softmax превращается в почти one-hot вектор, градиенты исчезают, и обучение останавливается.
Multi-Head Attention
Один набор Q, K, V улавливает только один тип связей. Авторы предложили multi-head attention — запускать несколько «голов» внимания параллельно, каждая со своими весами. В оригинальной статье использовалось h = 8 голов при размерности модели d_model = 512.
Каждая голова работает в подпространстве размерности d_k = d_v = 512/8 = 64. Результаты всех голов конкатенируются и проецируются обратно в исходную размерность.
Архитектура Transformer: encoder-decoder
Полная архитектура Transformer — это два блока: encoder (кодировщик) и decoder (декодировщик), каждый состоит из стека N = 6 идентичных слоёв.
graph TD
subgraph Encoder["Encoder (×6 слоёв)"]
E1[Input Embedding + Positional Encoding]
E2[Multi-Head Self-Attention]
E3[Add & Layer Norm]
E4[Feed-Forward Network]
E5[Add & Layer Norm]
E1 --> E2 --> E3 --> E4 --> E5
end
subgraph Decoder["Decoder (×6 слоёв)"]
D1[Output Embedding + Positional Encoding]
D2[Masked Multi-Head Self-Attention]
D3[Add & Layer Norm]
D4[Multi-Head Cross-Attention]
D5[Add & Layer Norm]
D6[Feed-Forward Network]
D7[Add & Layer Norm]
D1 --> D2 --> D3 --> D4 --> D5 --> D6 --> D7
end
E5 -->|K, V| D4
D7 --> Linear[Linear + Softmax]
Linear --> Output[Output Probabilities]
Ключевые компоненты
Positional Encoding. Поскольку Transformer обрабатывает все слова параллельно, он не знает порядка слов. Чтобы передать информацию о позиции, авторы добавляют к каждому эмбеддингу синусоидальный позиционный код — смесь синусов и косинусов разных частот.
Residual Connections + Layer Norm. Каждый подслой обёрнут в остаточное соединение: выход = LayerNorm(x + Sublayer(x)). Это решает проблему затухания градиентов в глубоких сетях.
Feed-Forward Network. Два линейных слоя с ReLU активацией между ними. Применяется к каждой позиции независимо — одинаковая трансформация для каждого токена.
Masked Attention в декодере. При генерации текста декодер не должен «подсматривать» в будущие токены. Маска обнуляет все позиции правее текущей.
Результаты: перевод как доказательство концепции
Авторы проверяли Transformer на задаче машинного перевода — стандартном бенчмарке того времени.
| Задача | Модель | BLEU | Стоимость обучения (FLOPs) |
|---|---|---|---|
| EN→DE (WMT 2014) | GNMT + RL (прежний SOTA) | 26,30 | огромная |
| EN→DE (WMT 2014) | Transformer (base) | 27,3 | 3,3·10¹⁸ |
| EN→DE (WMT 2014) | Transformer (big) | 28,4 | 2,3·10¹⁹ |
| EN→FR (WMT 2014) | Transformer (big) | 41,0 | 2,3·10¹⁹ |
Transformer побил все предыдущие результаты, включая ансамбли моделей, при этом обучаясь значительно быстрее. Модель «big» (213M параметров, d_model = 1024, 16 голов) обучалась 3,5 дня на 8 GPU NVIDIA P100.
Эффект домино: от статьи до индустрии
После публикации Transformer стал основой для целых семейств моделей. Разные команды взяли разные части архитектуры и довели их до предела.
timeline
title Эволюция Transformer-моделей
2017 : Transformer (Google Brain)
2018 : GPT-1 (OpenAI, decoder-only)
: BERT (Google, encoder-only)
: GPT-2 (OpenAI)
2019 : T5 (Google, encoder-decoder)
: XLNet, RoBERTa
2020 : GPT-3 (175B параметров)
: Vision Transformer (ViT)
2022 : ChatGPT (GPT-3.5)
: Stable Diffusion
2023 : GPT-4, Claude, LLaMA, Gemini
2024 : GPT-4o, Claude 3.5, Llama 3
: o1 (reasoning)
2025 : Claude 4, GPT-5, Gemini 2
: Рассуждающие модели (o3, R1)
Три ветви Transformer:
Encoder-only (BERT, RoBERTa) — для понимания текста: классификация, NER, вопрос-ответ. Двунаправленное внимание: каждый токен видит и левый, и правый контекст.
Decoder-only (GPT, Claude, LLaMA) — для генерации текста. Авторегрессивное внимание: каждый токен видит только предыдущие. Именно эта ветвь породила ChatGPT и всю революцию LLM.
Encoder-decoder (T5, BART, mBART) — полная оригинальная архитектура. Используется в переводе, суммаризации, seq2seq задачах.
Парадокс: оригинальная encoder-decoder архитектура оказалась менее влиятельной, чем её «половинки». Самые мощные модели 2024–2026 годов — decoder-only Transformer с масштабированием до сотен миллиардов параметров.
Transformer за пределами NLP
Архитектура вышла далеко за рамки текста:
| Область | Модель/подход | Что делает |
|---|---|---|
| Компьютерное зрение | Vision Transformer (ViT), DINO | Классификация и сегментация изображений |
| Генерация изображений | DALL-E, Stable Diffusion | Текст → изображение |
| Аудио | Whisper | Распознавание речи |
| Код | Codex, Copilot, Claude Code | Генерация и анализ кода |
| Биология | AlphaFold 2 | Предсказание структуры белков |
| Робототехника | RT-2 | Управление роботами через язык |
| Видео | Sora, Runway Gen-3 | Генерация видео |
Авторы: восемь людей, изменивших всё
Все восемь авторов — Ашиш Васвани, Ноам Шазир, Ники Пармар, Якоб Ушкорейт, Ллион Джонс, Эйдан Гомез, Лукаш Кайзер и Илья Полосухин — были указаны как равные соавторы, а порядок имён определён случайно.
После публикации все авторы покинули Google. К 2025 году семеро из восьми основали собственные AI-стартапы, которые в совокупности привлекли более $2 млрд инвестиций:
- Ашиш Васвани и Ники Пармар — сооснователи Essential AI (привлекли ~$65 млн)
- Ноам Шазир — вернулся в Google для работы над Gemini после приобретения его стартапа Character.AI
- Эйдан Гомез — сооснователь Cohere, одной из крупнейших AI-компаний
- Илья Полосухин — сооснователь NEAR Protocol (блокчейн + AI)
- Лукаш Кайзер — работал в OpenAI
Заключение: почему Attention действительно All You Need
Статья «Attention Is All You Need» сделала три вещи, которые изменили индустрию:
Убрала архитектурное ограничение. Отказ от последовательной обработки позволил масштабировать модели на тысячах GPU. Без этого не было бы ни GPT-3 на 175 млрд параметров, ни GPT-4, ни Claude.
Дала универсальный «строительный блок». Transformer оказался применим не только к тексту, но и к изображениям, аудио, видео, белкам, коду — практически к любым последовательным данным.
Установила новый стандарт мышления. Идея, что связи между элементами важнее их последовательной обработки, стала парадигмой. Даже альтернативы вроде Mamba и State Space Models определяют себя «в отношении к Transformer».
Прошло почти 9 лет. Архитектура эволюционировала — появились FlashAttention, RoPE, Grouped Query Attention, Mixture of Experts. Но фундамент остаётся тем же: матрица внимания, Query-Key-Value, параллельная обработка. Attention is, indeed, all you need.