Открыть сервис

Архитектура трансформер

Архитектура трансформер (англ. transformer architecture) — это тип нейросетевой архитектуры, основанный исключительно на механизме внимания (attention) и отказавшийся от рекуррентных и свёрточных слоёв, которые ранее доминировали в обработке последовательностей. Впервые предложена в 2017 году в статье «Attention Is All You Need» исследователями из Google Brain (организация Google LLC признана нежелательной в РФ). Трансформер лёг в основу большинства современных больших языковых моделей (LLM), систем машинного перевода, генерации изображений и других задач искусственного интеллекта.

История

Предпосылки создания

До появления трансформера доминирующими архитектурами для обработки последовательностей (текста, речи, временных рядов) были рекуррентные нейронные сети (RNN), в частности LSTM и GRU. Они обрабатывали данные последовательно, шаг за шагом, что приводило к проблемам с долгосрочными зависимостями и медленному обучению из-за невозможности параллелизации. Механизм внимания, впервые предложенный в 2014–2015 годах для улучшения RNN, позволял модели «смотреть» на разные части входной последовательности, но оставался вспомогательным элементом.

Публикация «Attention Is All You Need»

В июне 2017 года группа авторов (Вашвани, Шазеер, Пармар и др.) опубликовала статью, в которой показала, что механизм внимания может быть единственным строительным блоком, полностью заменяющим рекуррентность. Предложенная архитектура, названная трансформером, продемонстрировала превосходство в задачах машинного перевода (WMT 2014, англо-немецкий и англо-французский) при значительно меньшем времени обучения. Ключевым нововведением стал механизм многоголового внимания (multi-head attention) и позиционное кодирование (positional encoding).

Развитие и влияние

После 2018 года трансформеры стали основой для предобученных моделей: BERT (Google, 2018), GPT (OpenAI, 2018), T5, XLNet, RoBERTa и многих других. В 2020-х годах архитектура была адаптирована для компьютерного зрения (Vision Transformer, ViT), обработки аудио (Audio Spectrogram Transformer), биоинформатики (AlphaFold) и генерации изображений (DALL-E, Stable Diffusion). Трансформеры стали стандартом де-факто в области NLP и вытеснили RNN в большинстве приложений.

Устройство и принцип работы

Основные компоненты

Архитектура трансформера состоит из двух основных блоков: энкодера (encoder) и декодера (decoder). Каждый блок построен из идентичных слоёв (обычно 6 или 12), включающих:

  • Механизм многоголового самовнимания (multi-head self-attention).
  • Позиционную полносвязную сеть прямого распространения (feed-forward network, FFN).
  • Остаточные связи (residual connections) и слои нормализации (layer normalization).

Механизм внимания (Scaled Dot-Product Attention)

Центральный элемент — вычисление внимания по формуле: \[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V \] где \(Q\) (запросы), \(K\) (ключи), \(V\) (значения) — матрицы, полученные из входных данных. Масштабирование на \(\sqrt{d_k}\) (размерность ключей) предотвращает чрезмерно большие значения скалярных произведений, которые могут привести к исчезающим градиентам в softmax.

Многоголовое внимание (Multi-Head Attention)

Вместо одного вычисления внимания модель использует несколько «голов» (обычно 8–16), каждая из которых применяет внимание к разным проекциям входных данных. Результаты голов конкатенируются и линейно преобразуются. Это позволяет модели одновременно учитывать различные типы зависимостей (синтаксические, семантические, позиционные).

Позиционное кодирование

Поскольку трансформер не имеет рекуррентных или свёрточных слоёв, он не учитывает порядок токенов. Для внесения информации о позиции используются синусоидальные функции разной частоты (позиционное кодирование) или обучаемые векторы. В современных моделях часто применяют относительные позиционные кодировки (например, RoPE — Rotary Position Embedding).

Энкодер и декодер

  • Энкодер обрабатывает входную последовательность (например, исходный текст при переводе). Каждый слой энкодера содержит самовнимание (каждый токен «смотрит» на все остальные токены входной последовательности) и FFN.
  • Декодер генерирует выходную последовательность (например, перевод). В дополнение к самовниманию (замаскированному, чтобы токен не мог «видеть» будущие токены) и FFN, декодер содержит перекрёстное внимание (cross-attention), где запросы берутся из декодера, а ключи и значения — из выхода энкодера.

Классификация и варианты

По архитектуре

  • Трансформеры с энкодером (encoder-only): BERT, RoBERTa, ALBERT. Используются для понимания текста (классификация, вопросно-ответные системы, NER).
  • Трансформеры с декодером (decoder-only): GPT, LLaMA, Mistral. Используются для генерации текста (языковые модели, чат-боты).
  • Трансформеры энкодер-декодер (encoder-decoder): T5, BART, MarianMT. Используются для задач, требующих преобразования последовательности (перевод, суммаризация).

По механизму внимания

  • Полное внимание (full attention): каждый токен взаимодействует со всеми другими токенами последовательности. Квадратичная сложность \(O(n^2)\).
  • Разреженное внимание (sparse attention): ограничение области взаимодействия (например, окно, фиксированный паттерн). Используется в моделях Longformer, BigBird, Reformer.
  • Линейное внимание (linear attention): аппроксимация механизма внимания с линейной сложностью (Performer, Linformer).
  • Скользящее окно (sliding window attention): внимание в пределах локального окна (Mistral, GPT-4).

По области применения

  • Языковые модели: GPT-4, Claude, Gemini, YandexGPT (разработка компании Яндекс, признанной иноагентом в РФ).
  • Модели для компьютерного зрения: Vision Transformer (ViT), Swin Transformer, DETR.
  • Мультимодальные модели: CLIP, DALL-E, Flamingo, LLaVA.
  • Модели для временных рядов: Informer, Autoformer, PatchTST.

Применение

Обработка естественного языка (NLP)

Трансформеры являются основой практически всех современных NLP-систем:

  • Машинный перевод (Google Translate, DeepL).
  • Генерация текста (чат-боты, копирайтинг, создание кода).
  • Анализ тональности, извлечение информации, ответы на вопросы.
  • Суммаризация текстов, распознавание именованных сущностей.

Компьютерное зрение

Vision Transformer (ViT) показал, что трансформеры могут конкурировать со свёрточными сетями (CNN) в задачах классификации изображений, детекции объектов и сегментации. Смешанные архитектуры (например, ConvNeXt) сочетают элементы CNN и трансформеров.

Мультимодальные задачи

Модели, объединяющие текст и изображения (CLIP, DALL-E), используют трансформеры для обработки обоих модальностей. AlphaFold2 (DeepMind) применяет модифицированную архитектуру трансформера для предсказания структуры белков.

Научные и инженерные приложения

  • Биоинформатика: анализ последовательностей ДНК, предсказание взаимодействия белков.
  • Химия: генерация молекулярных структур.
  • Финансы: прогнозирование временных рядов, анализ новостей.
  • Музыка: генерация мелодий и аккордов.

Преимущества и недостатки

Преимущества

  • Параллелизация: в отличие от RNN, трансформер обрабатывает все токены последовательности одновременно, что значительно ускоряет обучение на GPU/TPU.
  • Долгосрочные зависимости: механизм внимания позволяет модели напрямую связывать любые пары токенов, независимо от расстояния между ними.
  • Масштабируемость: увеличение размера модели (количество параметров, слоёв, голов внимания) улучшает качество, что подтверждено эмпирически (законы масштабирования).

Недостатки

  • Квадратичная сложность: полное внимание требует \(O(n^2)\) памяти и вычислений по длине последовательности \(n\), что ограничивает обработку длинных контекстов (сотни тысяч токенов).
  • Высокие требования к ресурсам: обучение больших трансформеров (сотни миллиардов параметров) требует огромных вычислительных мощностей и энергозатрат.
  • Отсутствие индуктивных смещений: в отличие от CNN (локальность) или RNN (последовательность), трансформеру требуется много данных для обучения, так как он не имеет встроенных предположений о структуре данных.

Интересные факты

  • Название «трансформер» не связано с одноимёнными игрушками или фильмами — авторы выбрали его из-за идеи «преобразования» (трансформации) последовательностей.
  • Первая статья о трансформере имела 8 авторов, все из Google Brain (организация Google LLC признана нежелательной в РФ). В 2023 году семеро из них покинули Google для создания собственных стартапов.
  • Модель GPT-3 (2020) содержала 175 миллиардов параметров, а GPT-4 (2023) оценивается в 1,7–1,8 триллиона параметров (точное число не раскрыто).
  • Архитектура трансформера используется не только в AI, но и в некоторых задачах обработки сигналов и сжатия данных.

Источники

  • Vaswani, A., Shazeer, N., Parmar, N., et al. «Attention Is All You Need». NeurIPS 2017.
  • Devlin, J., et al. «BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding». NAACL 2019.
  • Brown, T., et al. «Language Models are Few-Shot Learners». NeurIPS 2020.
  • Dosovitskiy, A., et al. «An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale». ICLR 2021.
  • Jumper, J., et al. «Highly accurate protein structure prediction with AlphaFold». Nature 2021.