Главная/ Статьи/ Анатомия большой языковой модели

Анатомия большой языковой модели: как на самом деле работает GPT

Разбираем архитектуру трансформера послойно — от токенизации до генерации следующего токена. Без упрощений, но и без избыточного академизма.

Алина Ковалёва, исследователь машинного обучения с длинными тёмными волосами в деловом стиле
Алина Ковалёва
Старший исследователь NLP, Crosvia
Схема архитектуры трансформера с многослойными энкодером и декодером, стрелками потока данных и блоками механизма внимания на тёмном фоне

Когда OpenAI выпустила GPT-4, большинство публикаций в прессе сосредоточились на впечатляющих результатах тестов и «почти человеческих» ответах. Значительно меньше внимания уделялось вопросу: как именно это работает? Цель данной статьи — заполнить этот пробел: технически точно, но читабельно.

Область применения материала: статья предназначена для читателей с базовым пониманием математики (линейная алгебра, вероятности) и общим представлением о том, что такое нейронные сети.

1. Что такое языковая модель: формальное определение

Языковая модель — это функция, которая принимает последовательность токенов и возвращает распределение вероятностей над всем словарём для следующего токена. Формально:

P(w_t | w_1, w_2, ..., w_{t-1})

Вся магия GPT заключается в том, как именно моделируется это условное распределение. До трансформеров использовали RNN и LSTM — последовательные архитектуры с «памятью». Трансформер отказался от последовательности в пользу параллельной обработки через механизм внимания.

2. Токенизация: не слова, а токены

Первый шаг любой LLM — превратить текст в числа. GPT использует алгоритм Byte-Pair Encoding (BPE), который работает следующим образом: вместо разбивки на отдельные символы или слова алгоритм итеративно находит наиболее часто встречающиеся пары символов и заменяет их новым токеном.

Например, слово unbelievable может быть разбито как un + believ + able. GPT-4 использует словарь из ~100 000 токенов. Важный нюанс: пробел, предшествующий слову, часто кодируется как часть токена, что влияет на контекстную интерпретацию.

3. Эмбеддинги: токены становятся векторами

После токенизации каждый токен преобразуется в вектор — эмбеддинг. Если у нас словарь размером V и размерность эмбеддинга d_model, то матрица эмбеддингов имеет размер V × d_model. Для GPT-3 d_model = 12 288.

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

«Механизм внимания — это единственная причина, по которой трансформеры вытеснили все предыдущие архитектуры. Всё остальное — инженерные детали.» — Andrej Karpathy, бывший директор по ИИ, Tesla

4. Самовнимание (Self-Attention): ядро трансформера

Механизм самовнимания — это то, что позволяет модели при обработке каждого токена «смотреть» на все другие токены в контексте и взвешивать их важность.

Для каждого токена создаются три вектора: Query (Q), Key (K) и Value (V). Они получаются линейным преобразованием входного вектора:

Q = X · W_Q
K = X · W_K
V = X · W_V

Затем вычисляется матрица внимания:

Attention(Q, K, V) = softmax(Q · K^T / √d_k) · V

Деление на √d_k — нормализация, предотвращающая взрывной рост градиентов при большой размерности. Функция softmax превращает числа в вероятности, суммирующиеся в 1.

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

Один механизм внимания улавливает один тип зависимостей. GPT-4 использует 96 «голов» внимания — каждая специализируется на своём аспекте: синтаксических зависимостях, семантических ролях, кореференции и т.д.

Результаты всех голов конкатенируются и проходят через линейный слой:

MultiHead(Q,K,V) = Concat(head_1,...,head_h) · W_O

6. Блок трансформера: полная картина

Один блок трансформера-декодера GPT содержит:

  • Multi-Head Self-Attention — с маскировкой будущих токенов (causal masking)
  • Нормализация слоя (LayerNorm) — стабилизирует обучение
  • Feed-Forward Network (FFN) — два линейных слоя с активацией GELU
  • Остаточные соединения (Residual connections) — облегчают обучение глубоких сетей

GPT-4 содержит 96 таких блоков, последовательно соединённых. Каждый блок «уточняет» представления токенов, обогащая их контекстом всей последовательности.

7. Generative Pre-Training: как GPT обучается

Предобучение — это задача следующего токена (next-token prediction) на огромном корпусе текстов. Модель не получает явных меток — она обучается на сигнале самого текста. Это делает предобучение самосупервизированным.

GPT-3 обучался на ~300 миллиардах токенов: Common Crawl, WebText2, Books, Wikipedia, GitHub и других источниках. Стоимость обучения GPT-3 оценивается в $4–12 млн при использовании тысяч GPU A100.

8. RLHF: почему ChatGPT «вежлив»

После предобучения применяется Reinforcement Learning from Human Feedback — обучение с подкреплением на основе человеческой обратной связи. Этапы RLHF:

  1. Supervised Fine-Tuning (SFT): модель дообучается на примерах «хорошего» поведения
  2. Обучение модели вознаграждения (Reward Model): отдельная модель учится ранжировать ответы
  3. PPO-оптимизация: основная модель обучается максимизировать оценку Reward Model

RLHF объясняет, почему ChatGPT отвечает вежливо, отказывается от опасных запросов и структурирует ответы — это не свойство предобученной модели, а результат тонкой настройки.

9. Контекстное окно и KV-кэш

Контекстное окно — максимальное количество токенов, которые модель может «видеть» одновременно. GPT-4-turbo обрабатывает до 128 000 токенов. Для эффективной генерации используется KV-кэш: вычисленные ключи и значения для уже обработанных токенов кэшируются, что исключает их повторный пересчёт при генерации каждого нового токена.

Итог: что делает LLM «умной»

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

Именно это делает интерпретируемость и объяснимость LLM одной из ключевых исследовательских задач современной науки об ИИ.

Другие материалы по теме