Перейти к содержанию
Средний уровень

Архитектура Transformer: как устроены современные LLM — для специалистов

Архитектура Transformer: как устроены современные LLM — для специалистов

Короткий ответ. Transformer — архитектура нейронной сети, которая обрабатывает последовательности с помощью механизма внимания. В отличие от классической рекуррентной сети, она может сопоставлять токены внутри слоя параллельно, что удобно для обучения на ускорителях. Современная LLM обычно состоит из токенизатора, векторных представлений, многократно повторяемых блоков attention и MLP, нормализации, остаточных связей и выходного слоя. Однако конкретные модели заметно отличаются: decoder-only, encoder-only, encoder–decoder, плотные и Mixture-of-Experts, с разными позиционными кодировками и оптимизациями внимания.

Зачем понадобился Transformer

До 2017 года последовательности часто обрабатывали рекуррентными сетями RNN, LSTM и GRU. Они передавали состояние от шага к шагу. Это естественно отражало порядок текста, но ограничивало параллельное обучение: следующий шаг зависел от предыдущего. Дальние зависимости также было трудно сохранять.

В работе Attention Is All You Need авторы предложили encoder–decoder без рекуррентных и свёрточных слоёв. Связи между позициями вычислялись через внимание. Исходная модель создавалась для перевода, а не как готовая схема чат-бота. Позднее из идеи выросли BERT-подобные энкодеры, GPT-подобные декодеры, мультимодальные модели и множество гибридов.

От текста до тензора

Токенизация

Строка делится на токены — слова, части слов, знаки и служебные элементы. Токенизатор сопоставляет каждому элементу целочисленный ID. Разные модели разбивают один русский текст по-разному, поэтому число символов нельзя переводить в токены постоянным коэффициентом.

На вход модели поступает матрица идентификаторов формы batch × sequence. После слоя embeddings каждый ID превращается в вектор размерности d_model. Для пакетной обработки добавляются маски: они исключают padding и, в авторегрессионном декодере, запрещают смотреть на будущие позиции.

Позиционная информация

Обычное attention само по себе не знает порядка элементов. Исходный Transformer прибавлял синусоидальные позиционные векторы. В современных LLM распространены относительные схемы и RoPE — rotary position embedding. RoPE поворачивает компоненты query и key в зависимости от позиции, кодируя относительное расстояние внутри скалярного произведения.

Позиционная схема влияет на перенос модели к более длинному контексту. Увеличить программный лимит недостаточно: качество за пределами обучающего диапазона нужно измерять отдельно.

Self-attention по формулам

Для матрицы входных представлений X обучаемые проекции формируют:

Q = XW_Q
K = XW_K
V = XW_V

Где Q — queries, K — keys, V — values. Внимание вычисляется как:

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

Скалярное произведение query текущей позиции и key другой позиции даёт оценку совместимости. Деление на √d_k стабилизирует масштаб. Softmax превращает оценки в веса, после чего берётся взвешенная сумма value.

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

Multi-head attention

В multi-head attention пространство делится между несколькими головами. Каждая получает собственные проекции Q, K и V. Результаты объединяются и снова проецируются:

MultiHead(X) = Concat(head₁, …, head_h) W_O

Несколько голов позволяют одновременно моделировать разные отношения. Число голов само по себе не является метрикой интеллекта: важно сочетание размерности, данных, оптимизации и архитектуры.

В современных реализациях встречаются MQA и GQA. Multi-Query Attention использует общие key/value для голов запросов, а Grouped-Query Attention — несколько групп. Это уменьшает KV-cache и ускоряет генерацию с компромиссом в качестве.

Causal mask и авторегрессия

GPT-подобная модель — decoder-only Transformer с причинной маской. Токен на позиции t может учитывать позиции не позже t. Во время обучения правильная последовательность известна целиком и следующие токены предсказываются параллельно. Во время генерации ответ строится последовательно: новый токен добавляется к контексту и становится входом следующего шага.

Последовательная генерация объясняет различие между обучением и inference. Обучение дорого из-за прямого и обратного прохода по большим пакетам. Генерация не требует обратного прохода, но зависит от памяти и пропускной способности, особенно при длинном KV-cache.

Feed-forward network

После attention каждый токен независимо проходит через MLP, или feed-forward network. Классическая форма:

FFN(x) = activation(xW₁ + b₁)W₂ + b₂

В LLM используются GELU, SwiGLU и другие варианты. Attention смешивает информацию между позициями, а MLP выполняет нелинейное преобразование внутри позиции. Значительная доля параметров модели может находиться именно в MLP.

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

Каждый подслой включён в residual connection: к преобразованному сигналу прибавляется исходный. Это облегчает прохождение градиента через глубокую сеть. Нормализация стабилизирует масштаб активаций.

Исходная статья использовала LayerNorm в post-norm-схеме. Во многих больших моделях применяется pre-norm, где нормализация выполняется до attention или MLP, а также RMSNorm. Деталь влияет на устойчивость обучения, но не видна пользователю по интерфейсу.

Encoder, decoder и decoder-only

Encoder-only

Энкодер видит контекст с обеих сторон и формирует представление входа. BERT-подобные модели удобны для классификации, поиска и извлечения признаков. Они не обязаны быть авторегрессионными генераторами.

Encoder–decoder

Энкодер обрабатывает вход, декодер генерирует выход и использует cross-attention к представлениям энкодера. Схема естественна для перевода и преобразования последовательности в последовательность.

Decoder-only

Один стек причинных блоков предсказывает следующий токен. Такой формат хорошо масштабируется и стал основой многих LLM. Документ, инструкция и ответ представляются одной последовательностью с ролями и служебными токенами.

Ни одна схема не «лучше вообще». Выбор зависит от обучения, latency, задачи и инфраструктуры.

Почему обычное attention дорого

Матрица QKᵀ имеет размер n × n, где n — длина последовательности. Вычисления и наивное хранение растут квадратично. Удвоение длины создаёт примерно в четыре раза больше пар позиций.

FlashAttention не меняет математический результат точного attention. Он перестраивает вычисления блоками и уменьшает обмен между быстрой SRAM и HBM ускорителя. Поэтому нужно различать алгоритмическую сложность и реальное время: оптимизация памяти способна дать ускорение без аппроксимации внимания.

Для длинного контекста также применяют sliding-window, sparse attention, сжатие KV-cache, retrieval и архитектурные альтернативы. Заявленная длина окна не доказывает способность модели надёжно использовать каждый фрагмент.

Mixture-of-Experts

В плотном Transformer каждый токен проходит через одинаковый MLP. В MoE маршрутизатор выбирает небольшое число экспертов. Общее число параметров растёт, но для токена активируется только часть.

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

Как LLM обучается

На предобучении decoder-only модель минимизирует cross-entropy следующего токена. Для правильного токена y loss связан с -log p(y|context). Градиенты вычисляются обратным распространением и обновляют проекции, embeddings, MLP и нормализации.

Далее возможны supervised fine-tuning, обучение на предпочтениях, использование верифицируемых наград и специализированная донастройка. Архитектура задаёт вычислительный каркас, а наблюдаемое поведение сильно зависит от данных и post-training.

Что происходит при генерации

  1. Запрос токенизируется.
  2. Для токенов вычисляются представления и KV-cache.
  3. Модель выдаёт логиты следующего токена.
  4. Алгоритм декодирования выбирает продолжение.
  5. Новый токен добавляется, а сохранённые keys/values переиспользуются.
  6. Цикл продолжается до stop token или лимита.

Temperature, top-p и другие параметры меняют выбор из распределения, но не добавляют знания. Детерминированный режим также может ошибаться.

Почему Transformer галлюцинирует

Цель предсказания токена не эквивалентна проверке истинности. Модель оптимизирует вероятное продолжение по усвоенным данным и контексту. Если источника нет, она всё равно может построить правдоподобную последовательность.

Снизить риск помогают retrieval, инструменты, структурированные проверки и обучение поведения. Но архитектурная формула attention сама по себе не решает factuality.

Как читать техническую карточку модели

Не ограничивайтесь числом параметров. Проверьте:

  • тип архитектуры и активные параметры;
  • токенизатор и поддержку языков;
  • обучающий и проверенный диапазон контекста;
  • режимы attention и KV-cache;
  • тип чисел и квантование;
  • post-training;
  • набор evals и возможную contamination;
  • inference hardware и batch size;
  • лицензию и ограничения применения.

Показатель tokens per second без batch, длины входа и оборудования несопоставим.

Минимальный пример расчёта размеров

Пусть вход содержит n = 4096 токенов, h = 32 головы, а размер головы d_k = 128. Для каждой головы логическая матрица attention содержит 4096², то есть около 16,8 млн оценок. Для 32 голов это более 536 млн элементов на слой до учёта оптимизаций. Именно поэтому работа с памятью критична.

Но современные ядра не обязаны материализовать всю матрицу в HBM. FlashAttention считает блоками, поэтому оценивать реальное потребление нужно по реализации.

Частые вопросы

Transformer понимает слова?

Он строит контекстные числовые представления, полезные для задач. Называть это человеческим пониманием — философская интерпретация, а не следствие формулы attention.

Чем attention отличается от памяти?

Attention выбирает информацию из текущего контекста. Параметры хранят усвоенные закономерности, KV-cache — промежуточные значения диалога, а внешняя память или RAG — отдельное хранилище.

Почему генерация медленнее чтения запроса?

Prompt можно обрабатывать параллельно, а выходные токены авторегрессионно зависят друг от друга. Каждому нужен новый проход.

Большой контекст заменяет RAG?

Не всегда. RAG сокращает вход, обновляет источник и даёт ссылки. Большое окно полезно, но дороже и может хуже находить релевантное.

Transformer — путь к AGI?

Transformer является мощной архитектурой, но архитектура сама по себе не доказывает достижение AGI. AGI оценивают по широте, надёжности, обучению новым задачам и автономности. ASI — отдельный гипотетический уровень сверхчеловеческого превосходства.

Вывод

Transformer сочетает attention, MLP, residual connections и нормализацию в масштабируемом вычислительном блоке. Его успех связан не с одним механизмом, а с параллельным обучением, данными, ускорителями и последующими оптимизациями. Для профессионального анализа важно различать математическую архитектуру, конкретную реализацию и продукт вокруг модели.

Первичные источники

Материал проверен и актуализирован 28 августа 2026 года.

Читайте также

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *