Transformer

Трансформер — архитектура нейросети из статьи «Attention Is All You Need», лежащая в основе почти всех LLM. Суть — механизм внимания (attention) поверх матричных операций над эмбеддингами: модель учится понимать, какие токены в контексте важны для предсказания следующего токена.

Суть

LLM «внутри» — это набор матричных умножений. Трансформер принимает векторы токенов (Embeddings) и через серию операций (внимание + нормализации) выдаёт распределение вероятностей следующего токена. Генерация идёт последовательно, токен за токеном.

Зачем это нужно

Это объясняет, почему LLM — не «база фактов», а предсказатель вероятностей: на каждом шаге она оценивает, с какой вероятностью каждый токен словаря мог бы быть следующим, и выбирает по правилам сэмплирования (см. Sampling Parameters). Понимание архитектуры снимает магию: «модель не знает — она предсказывает».

Как работает

  • Вход разбивается на токены (Tokenization) → токены становятся векторами (Embeddings).
  • Attention: матрицы (по сути обучаемые проекции) вычисляют, какие токены в контексте релевантны друг другу — так модель «понимает», что важно. Стоимость attention растёт квадратично по длине контекста (каждый токен сравнивается с каждым) — отсюда дорогой длинный контекст (см. Attention, Context Window).
  • Классически трансформер состоит из энкодера (вход) и декодера (выход); конкретная математика получена экспериментально. На практике почти все современные LLM — decoder-only (causal-генерация), а encoder-ветка осталась в embedding-моделях; разбор отличий — в Encoder vs Decoder.
  • На выходе — вероятности следующего токена; цикл повторяется итеративно.
  • Стопка блоков: современная LLM — 32–126 одинаковых блоков; каждый = Multi-Head Self-Attention (см. Attention) → Add&Norm → Feed-Forward → Add&Norm.
  • Residual connections (output = input + sublayer(input)) критичны — без них глубокие сети не обучаются; LayerNorm/RMSNorm стабилизирует обучение. Размерность не меняется при проходе через блоки.
  • Зачем глубина: между блоками стоят активации (нелинейность) — без них вся стопка свелась бы к одному линейному преобразованию; постепенная обработка (грамматика → семантика → интеграция) эффективнее одного большого слоя.
  • Иерархия вложений: Нейросеть → Трансформер → LLM → конкретные модели. Трансформер заменил рекуррентные RNN/LSTM, дав параллелизм и прямую связь далёких токенов.
Модель Блоков d_model
BERT-base 12 768
Llama-3 8B 32 4 096
Llama-3 70B 80 8 192
Llama-3 405B 126 16 384

Feedforward — где живут знания

После attention в каждом блоке идёт полносвязная сеть (MLP), применяемая к каждому токену независимо: расширение W_up (d_model → intermediate, обычно ~4×) → активация (SwiGLU / GELU / ReLU) → сжатие W_down обратно в d_model. Функционально это ассоциативная память (key-value store): W_up распознаёт паттерны во входе, активация выделяет совпадения, W_down возвращает связанные значения.

Здесь живёт большая часть знаний модели: ~70% параметров LLM — в feedforward; тут хранятся факты («столица России = Москва»), грамматика, стиль — распределённо по миллиардам весов (нет «одной ячейки с фактом»). Грубая иерархия по слоям: нижние — грамматика/морфология, средние — семантика/факты/кореференция, верхние — интеграция и подготовка ответа.

Связано с

  • Tokenization — что подаётся на вход
  • Embeddings — векторы, над которыми работает attention
  • Sampling Parameters — как из вероятностей выбирается токен
  • Attention — ядро каждого блока (Q/K/V, multi-head)
  • Encoder vs Decoder — два режима трансформера (bidirectional vs causal)
  • Context Window — почему длинный контекст дорог (квадратичность attention)