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

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

Архитектура трансформера — это тип нейросетевой архитектуры, основанный на механизме самовнимания (self-attention), предназначенный для обработки последовательных данных (текста, временных рядов, сигналов) и параллельного вычисления зависимостей между элементами последовательности. В отличие от рекуррентных нейронных сетей (RNN) и свёрточных нейронных сетей (CNN), трансформер не использует рекуррентные или свёрточные слои, что позволяет эффективно обучаться на больших объёмах данных и обрабатывать последовательности произвольной длины без потери контекста. Архитектура была предложена группой исследователей Google в 2017 году в статье «Attention is All You Need» и с тех пор стала основой для большинства современных языковых моделей (BERT, GPT, T5 и др.), а также применяется в компьютерном зрении, биоинформатике и обработке аудио.

История

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

В 2017 году в статье «Attention is All You Need» (авторы: Ашвиш Васвани, Ноам Шазер, Ники Пармар и др.) была предложена архитектура, полностью отказавшаяся от рекуррентности и свёрток. Вместо этого использовался только механизм самовнимания и полносвязные слои. Это позволило значительно ускорить обучение за счёт параллельной обработки всех элементов последовательности.

В 2018–2019 годах на основе трансформера были созданы предобученные модели: BERT (Google, 2018) — для понимания контекста, GPT (OpenAI, 2018) — для генерации текста, и T5 (Google, 2019) — для универсальных задач. С 2020 года архитектура трансформера стала стандартом де-факто в NLP, а также проникла в компьютерное зрение (Vision Transformer, 2020) и другие области.

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

Трансформер состоит из двух основных блоков: энкодера (кодировщика) и декодера (декодировщика). В оригинальной архитектуре энкодер и декодер представляют собой стопки из N идентичных слоёв (обычно N=6). Каждый слой энкодера включает два подуровня: механизм многоголового самовнимания (multi-head self-attention) и полносвязную нейронную сеть прямого распространения (feed-forward network). Декодер дополнительно содержит третий подуровень — перекрёстное внимание (cross-attention), которое позволяет декодеру «смотреть» на выход энкодера.

Механизм самовнимания

Самовнимание вычисляет для каждого элемента последовательности (например, слова) «вес» его связи с другими элементами. Для этого входные векторы преобразуются в три матрицы: Q (запросы), K (ключи) и V (значения). Степень внимания между элементами вычисляется как скалярное произведение Q и K, нормированное на корень из размерности ключей, с последующим применением softmax. Результат умножается на V, что даёт взвешенную сумму значений.

Формула: Attention(Q, K, V) = softmax(QK^T / √d_k) V

Многоголовое внимание

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

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

Поскольку трансформер не имеет рекуррентной структуры, он не учитывает порядок элементов. Для внесения информации о позиции в последовательность используются позиционные кодирования — синусоидальные функции (в оригинале) или обучаемые векторы. Это позволяет модели различать слова в разных позициях.

Полносвязная сеть

Каждый слой содержит двухслойную нейронную сеть прямого распространения с нелинейностью ReLU (или GELU в современных вариантах). Она применяется к каждому элементу последовательности независимо.

Остаточные связи и нормализация

Для стабильного обучения используются остаточные связи (skip connections) и слой нормализации (LayerNorm). После каждого подуровня выполняется операция: выход = LayerNorm(x + Sublayer(x)).

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

Трансформер-энкодер (BERT, RoBERTa, ALBERT)

Использует только стопку энкодеров. Предназначен для задач понимания языка: классификация текста, извлечение сущностей, ответы на вопросы. Обучение происходит с помощью маскирования части слов (Masked Language Model) и предсказания следующего предложения.

Трансформер-декодер (GPT, LLaMA, Claude)

Использует только стопку декодеров. Предназначен для генерации текста (авторегрессивная генерация). Каждый следующий токен предсказывается на основе предыдущих. Обучение — предсказание следующего слова (causal language modeling).

Трансформер-энкодер-декодер (T5, BART)

Классическая архитектура с энкодером и декодером. Применяется для задач преобразования последовательности в последовательность: машинный перевод, суммаризация, перефразирование.

Vision Transformer (ViT)

Адаптация трансформера для изображений. Изображение разбивается на патчи (квадратные блоки), которые подаются на вход как последовательность. Позиционные кодирования сохраняют пространственную структуру. ViT показал конкурентоспособные результаты с CNN на задачах классификации.

Применение

  • Обработка естественного языка: машинный перевод, анализ тональности, генерация текста, чат-боты, извлечение информации.
  • Компьютерное зрение: классификация изображений, детекция объектов, сегментация (DETR, ViT, Swin Transformer).
  • Биоинформатика: анализ последовательностей ДНК, предсказание структуры белков (AlphaFold, ESM-2).
  • Обработка аудио: распознавание речи, синтез речи (Whisper, Wave2Vec 2.0).
  • Мультимодальные модели: объединение текста, изображений и аудио (CLIP, DALL-E, GPT-4V).

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

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

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

Недостатки

  • Вычислительная сложность: квадратичная зависимость O(n²) от длины последовательности для самовнимания, что делает обработку длинных последовательностей (более 10–20 тысяч токенов) дорогой.
  • Потребление памяти: для хранения матриц внимания требуется много памяти, особенно при большом размере батча.
  • Отсутствие индуктивных смещений: в отличие от CNN, трансформеры не имеют встроенной пространственной или временной структуры, что требует больших объёмов данных для обучения.

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

  • Название «трансформер» происходит от идеи преобразования (трансформации) входной последовательности в выходную с помощью механизма внимания.
  • Оригинальная статья «Attention is All You Need» стала одной из самых цитируемых в истории машинного обучения (более 100 000 цитирований по состоянию на 2024 год).
  • Модель GPT-3 (2020) содержит 175 миллиардов параметров и потребовала для обучения около 10 миллионов долларов на вычислительные ресурсы.
  • Vision Transformer (ViT) впервые показал, что трансформеры могут превзойти свёрточные сети на задачах классификации изображений без использования каких-либо свёрточных слоёв.

Источники

  1. Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). «Attention is All You Need». Advances in Neural Information Processing Systems.
  2. Devlin, J., Chang, M.-W., Lee, K., Toutanova, K. (2019). «BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding». NAACL.
  3. Brown, T., Mann, B., Ryder, N., et al. (2020). «Language Models are Few-Shot Learners». NeurIPS.
  4. Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2021). «An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale». ICLR.
  5. Raffel, C., Shazeer, N., Roberts, A., et al. (2020). «Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer». Journal of Machine Learning Research.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →