Трансформер (модель)
Материал из MachineLearning.
Emil Petrov (Обсуждение | вклад)
(Новая статья: архитектура трансформера, написана с помощью LLM Claude Sonnet 4)
К следующему изменению →
Версия 10:41, 16 июня 2026
| | Статья написана с использованием 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.
Механизм внимания частично решал вторую проблему, добавляя прямые связи из декодера к каждому токену кодировщика. Трансформер сделал радикальный шаг: отказался от рекуррентности полностью и построил всю архитектуру на внимании.
Архитектура
Классический трансформер имеет энкодер-декодерную структуру, использовавшуюся изначально для задачи машинного перевода.
Входное представление
Входная последовательность токенов сначала преобразуется в матрицу векторов встраиваний
. К ней прибавляется позиционное кодирование (англ. positional encoding) — детерминированный вектор, несущий информацию о позиции токена в последовательности:
Такое синусоидальное кодирование позволяет модели обобщаться на последовательности большей длины, чем наблюдались при обучении, и обеспечивает постоянство относительных расстояний между позициями.
Механизм многоголового внимания
Центральный строительный блок — многоголовое внимание (multi-head attention). Для одной «головы» с запросами
, ключами
и значениями
внимание вычисляется как:
Масштабирование на
предотвращает насыщение функции softmax при большой размерности. Многоголовая версия запускает
независимых операций внимания параллельно и конкатенирует результаты:
где
Каждая голова может специализироваться на различных типах зависимостей: синтаксических, семантических, кореференциальных.
Блок энкодера и декодера
Один слой энкодера состоит из двух подслоёв:
- Многоголовое внимание (каждый токен «смотрит» на все остальные токены входа — self-attention).
- Позиционно-зависимая полносвязная сеть (feed-forward network, FFN) с двумя линейными преобразованиями и нелинейностью ReLU между ними.
Вокруг каждого подслоя применяется остаточное соединение (residual connection) и нормализация слоя (layer normalization):
Слой декодера добавляет третий подслой — кросс-внимание (cross-attention), в котором запросы поступают из декодера, а ключи и значения — из выходов энкодера. Self-attention в декодере маскируется (masked self-attention), чтобы при генерации токена
модель не видела токены с позиций
.
Полная модель
Стандартный трансформер (модель Base) содержит:
-
слоёв энкодера и
слоёв декодера;
-
,
голов,
;
- FFN с внутренней размерностью
;
- итого ~65 млн параметров.
Модель Large (
,
,
) содержит ~213 млн параметров.
Обучение
Трансформер обучается методом стохастического градиентного спуска с оптимизатором Adam. Авторы предложили специальный планировщик скорости обучения (learning rate schedule): скорость сначала линейно растёт в течение
шагов, затем убывает обратно пропорционально квадратному корню из номера шага:
Дополнительно применяются техники регуляризации: дропаут на выходах подслоёв, на встраиваниях и в матрицах внимания, а также сглаживание меток (label smoothing) с
.
Варианты архитектуры
С момента публикации оригинальной работы трансформер породил множество специализированных архитектур:
- Только энкодер (BERT, RoBERTa) — оптимальны для задач понимания текста (классификация, NER, вопросно-ответные системы). Обучаются на маскированном языковом моделировании (masked language modeling).
- Только декодер (GPT, GPT-2/3/4) — оптимальны для авторегрессионной генерации текста. Обучаются на предсказании следующего токена.
- Энкодер-декодер (T5, BART, mT5) — универсальный формат «текст в текст» (text-to-text), объединяющий задачи перевода, суммаризации, ответов на вопросы в единый фреймворк.
- Эффективные трансформеры (Longformer, BigBird, Linformer, Performer) — модификации механизма внимания для работы с длинными последовательностями, снижающие квадратичную сложность
до линейной или логарифмической.
Сложность и масштабируемость
Вычислительная сложность операции внимания составляет
по числу операций и
по памяти, где
— длина последовательности. Это ограничивает применение стандартного трансформера к очень длинным документам.
С другой стороны, отсутствие рекуррентности обеспечивает идеальную параллелизуемость обучения, что позволило масштабировать модели до сотен миллиардов параметров. Законы масштабирования (scaling laws), установленные в работах OpenAI[1], показывают, что потери на языковом моделировании убывают как степенная функция от числа параметров, объёма обучающих данных и вычислительного бюджета.
Применения
Трансформер стал универсальной архитектурой, выходящей далеко за пределы NLP:
- Компьютерное зрение — Vision Transformer (ViT) делит изображение на патчи и обрабатывает их как последовательность токенов; DINO, CLIP используют трансформеры для обучения с самоконтролем и мультимодального обучения.
- Генерация изображений — диффузионные модели (Stable Diffusion, DALL-E) используют трансформеры в качестве U-Net-подобного денойзера с механизмом кросс-внимания для обусловливания на текст.
- Белковые последовательности — AlphaFold2 применяет трансформеры для предсказания трёхмерной структуры белков по аминокислотной последовательности.
- Обработка временных рядов, графов, аудио — трансформеры конкурентоспособны или превосходят специализированные архитектуры во всё большем числе областей.
Значение и исторический контекст
Трансформер является одной из наиболее цитируемых и влиятельных статей в истории машинного обучения. За несколько лет он вытеснил RNN из большинства задач NLP и инициировал эпоху больших языковых моделей, изменившую ландшафт искусственного интеллекта. Архитектура оказалась настолько универсальной, что сейчас её называют «foundation model» — универсальным фундаментом, на котором строятся специализированные системы дообучением (fine-tuning) и инжинирингом промптов.
См. также
- Механизм внимания
- Большая языковая модель
- Нейросетевое встраивание
- BERT
- Промпт-инжиниринг
- Диффузионная модель
- Рекуррентная нейронная сеть
- Метод обратного распространения ошибки
Примечания
Литература
- 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

