Большинство материалов о языковых моделях начинают сразу с Transformer — архитектуры, которая сама по себе складывается из десятка концепций. Читатель оказывается перед стеной терминов: Attention, эмбеддинги, KV Cache, Positional Encoding. Статья на Habr предлагает другой маршрут: проследить эволюцию архитектур шаг за шагом, от простейшей модели до современного LLM.
Отправная точка — биграммная модель. Словарь из семи токенов («John», «Mary», «likes», «hates», «cats», «dogs», «<END>»), матрица весов 7×7 — итого 49 параметров. Модель хранит вероятность следующего токена после текущего: P(likes | John), P(cats | likes). Для генерации применяется Softmax, превращающий числовые оценки в вероятности с суммой 1. Это уже полноценная языковая модель — но без памяти: после слова «likes» она не знает, кто именно любит кошек.
| Архитектура | Ключевая идея | Главное ограничение |
|---|---|---|
| Bigram Model | Матрица вероятностей следующего токена, 49 параметров | Нет памяти о контексте |
| RNN | Скрытое состояние обновляется после каждого токена | Bottleneck: история сжимается в один вектор |
| Attention | Динамический выбор важных токенов из всей истории | Оценки важности задавались вручную |
| Transformer | Attention через Query/Key/Value, без рекурсии | Требует большого масштаба для сильных результатов |
| LLM | Transformer × N слоёв, миллиарды параметров, триллионы токенов | Высокие вычислительные затраты на обучение |
RNN (рекуррентная нейросеть) добавила скрытое состояние h, которое обновляется после каждого токена. Если в начале предложения встретился «John», эта информация теоретически сохраняется в векторе и используется позже. Шаг вперёд значительный, но у него есть цена: при длинных предложениях вся история должна умещаться в один небольшой вектор. Это узкое место называют bottleneck — чем длиннее текст, тем больше информации теряется.
RNN добавила скрытое состояние-память, однако при длинных текстах вся история сжимается в один вектор — возникает bottleneck.
Механизм Attention переворачивает логику. Вместо того чтобы сжимать прошлое в один вектор, модель хранит все предыдущие токены и при обработке текущего слова динамически решает, на какие из них обратить внимание. Для слова «cats» модель вычисляет оценки важности каждого токена в контексте — например, John → 1.2, likes → 0.8, cats → 0.3. После Softmax это превращается в веса: 47%, 32%, 21%. Модель буквально распределяет внимание по контексту.
Оставался вопрос: откуда берутся эти оценки? Ответ дала статья «Attention Is All You Need» 2017 года от команды Google. Авторы предложили для каждого токена вычислять три вектора: Query («что я ищу»), Key («что я содержу») и Value («что передам, если меня выберут»). Оценка важности — это скалярное произведение Query текущего токена на Key каждого другого токена. Никакой магии: числа 1.2, 0.8, 0.3 из примера выше — результат этого умножения. Transformer строит всю архитектуру вокруг этого механизма, полностью отказавшись от рекурсии. Каждый токен может напрямую обращаться к любому другому внутри контекстного окна — без длинных цепочек скрытых состояний. Именно поэтому Transformer лучше работает с длинными текстами и эффективнее обучается на GPU.
Современные LLM — GPT, Claude, Gemini, Llama — с инженерной точки зрения устроены предсказуемо: тот же Transformer, масштабированный до десятков или сотен слоёв, обученный на триллионах токенов. Схема неизменна: токенизатор → эмбеддинги → N слоёв Transformer → Softmax. На каждом шаге модель делает одно: предсказывает следующий токен. Получив контекст «The capital of France is», она выдаёт «Paris» с вероятностью 0.93. Никакого понимания — только статистика, масштабированная до предела.
Такой подход к объяснению — через историческую цепочку архитектур — позволяет увидеть, что каждая идея в современных LLM появилась как ответ на конкретное ограничение предшественника. Transformer не возник из ниоткуда: он логично вырастает из RNN, которая вырастает из биграммной модели. Для разработчиков, которые работают с LLM через API или дообучают модели, понимание этой цепочки помогает осознанно выбирать архитектуры и интерпретировать поведение моделей.


