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

Архитектура трансформер: как работает модель

Архитектура трансформер — это тип нейронной сети, основанный на механизме самовнимания (self-attention) и не использующий рекуррентные или свёрточные слои для обработки последовательностей. Предложена в 2017 году в статье «Attention Is All You Need» группой исследователей Google. Архитектура стала базовой для большинства современных больших языковых моделей, систем машинного перевода и генерации изображений.

Основная идея

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

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

Каждый элемент последовательности (токен) представляется вектором и преобразуется в три матрицы:

  • Query (Q) — запрос;
  • Key (K) — ключ;
  • Value (V) — значение.

Внимание вычисляется по формуле:

`` Attention(Q, K, V) = softmax(QKᵀ / √d_k) · V ``

Скалярное произведение Q и K показывает, насколько один токен «релевантен» другому. Деление на корень из размерности стабилизирует градиенты, softmax превращает веса в вероятности, а результат — взвешенная сумма значений.

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

Одна операция внимания фиксирует лишь один тип связи. Поэтому применяют multi-head attention: несколько «голов» независимо вычисляют внимание в подпространствах меньшей размерности, после чего результаты конкатенируются и проецируются. Это позволяет модели улавливать разные типы зависимостей — синтаксические, семантические, позиционные.

Структура блока

Классический трансформер состоит из стека одинаковых блоков. Каждый блок содержит:

  1. Слой многоголового самовнимания;
  2. Слой прямой связи (feed-forward network) — два линейных преобразования с нелинейностью между ними;
  3. Остаточные связи (residual connections) и нормализацию слоя (layer normalization) вокруг каждого подблока.

Оригинальная модель включала энкодер (обрабатывает вход) и декодер (генерирует выход). В декодере дополнительно используется маскированное внимание, чтобы токен не «видел» будущие позиции.

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

Поскольку внимание не учитывает порядок элементов, к входным векторам добавляют позиционные кодировки — синусоидальные функции или обучаемые векторы. Без них модель воспринимала бы последовательность как неупорядоченное множество.

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

ТипПримерыОсобенность
Encoder-onlyBERTПонимание текста, классификация
Decoder-onlyGPT, LLaMAГенерация текста
Encoder-decoderT5, оригинальный TransformerПеревод, суммаризация

Преимущества и ограничения

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

Ограничения: квадратичная сложность внимания по длине последовательности (O(n²)), большой объём памяти и вычислений. Отсюда — исследования разреженного внимания, линейных аппроксимаций и методов вроде FlashAttention.

Применение

Помимо обработки языка, трансформеры применяются в компьютерном зрении (Vision Transformer), распознавании речи, биоинформатике (предсказание структуры белков) и мультимодальных системах, объединяющих текст, изображения и звук.

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

На главную IRONLIVE →