Transformer — это тип нейронной сети, предназначенной для обработки последовательностей данных — чаще всего языка, — который сравнивает каждый элемент входа с каждым другим элементом одновременно. Вместо того чтобы читать строго слева направо, как более старые рекуррентные сети, он использует механизм под названием self-attention, чтобы определять, какие слова, токены или позиции наиболее важны друг для друга, независимо от расстояния между ними. Такая параллельная архитектура делает Transformer быстрее при обучении на современном оборудовании и значительно лучше улавливает дальнодействующие зависимости — именно поэтому они сегодня лежат в основе практически всех самых передовых больших языковых моделей.
Как работает Transformer
В основе Transformer лежит операция self-attention. Каждый входной токен проецируется в три вектора — называемых query, key и value. Чтобы понять один токен, модель сравнивает его query с keys всех остальных токенов, получая набор оценок внимания, которые говорят: «насколько сильно мне следует обращать внимание на каждый из вас?». Эти оценки нормализуются в веса, и взвешенная сумма value-векторов становится новым представлением этого токена. Многоголовое внимание (multi-head attention) выполняет несколько таких сравнений параллельно, позволяя модели одновременно отслеживать разные типы связей — грамматику, кореференцию, тональность и многое другое.
Стопки таких attention-блоков, каждый из которых сопровождается небольшой feed-forward сетью и остаточными связями, образуют полную модель. К входным данным добавляется позиционное кодирование, чтобы сеть знала порядок токенов, поскольку само по себе внимание не учитывает порядок. Во время обучения decoder-only Transformer предсказывает следующий токен в последовательности; при достаточном объёме данных и параметров эта простая цель формирует способности к рассуждению, переводу и генерации кода, наблюдаемые в таких системах, как GPT.
Почему это важно
До появления Transformer рекуррентные нейронные сети (RNN) и LSTM обрабатывали текст по одному токену за раз, что было медленно и плохо справлялось с длинным контекстом. Параллельное внимание Transformer позволило исследователям масштабировать модели до миллиардов параметров, обученных на веб-масштабных корпусах, открыв возможности современных LLM. С тех пор та же архитектура была адаптирована для изображений (vision transformers), аудио, белков и обучения с подкреплением, став доминирующей парадигмой современного глубокого обучения.
Основные типы
- Encoder-only Transformers — такие как BERT, оптимизированные для задач понимания, например классификации, ранжирования в поиске и построения эмбеддингов.
- Decoder-only Transformers — такие как GPT и Llama, оптимизированные для генерации текста по одному токену за раз.
- Encoder-decoder Transformers — такие как оригинальная модель «Attention Is All You Need» и T5, используемые для перевода и задач преобразования последовательности в последовательность.
- Vision Transformers (ViT) — применяют self-attention к фрагментам изображения вместо слов.
- Mixture-of-Experts (MoE) Transformers — направляют каждый токен в подмножество «экспертных» подсетей, увеличивая ёмкость без пропорционального роста вычислительных затрат.
С 2017 года Transformer изменил как исследования в области ИИ, так и продуктовую разработку, и большинство приложений в каталоге HyperStore — чат-боты, ассистенты для кода, генераторы изображений и агенты для рассуждений — построены на том или ином его варианте. Прочтите оригинальную статью «Attention Is All You Need» с фундаментальной архитектурой или руководство Illustrated Transformer для пошагового разбора.