Предобучение: предсказание следующего токена на всём интернете

С чего начинается любая LLM — с предобучения. Разберём, как модель учится на сыром тексте без единой ручной метки.

Предобучение (pre-training) — обучение модели предсказывать следующий токен на огромном корпусе текстов; разметка не нужна, ведь «правильный ответ» — это просто следующее слово в тексте.

Self-supervised: разметка уже в тексте

Обычное машинное обучение требует размеченных данных: картинка → «кошка». Для LLM это было бы нереально — никто не разметит триллионы слов. Гениальность подхода в том, что текст размечает сам себя. Берём любое предложение, прячем продолжение и просим модель его угадать. Правильный ответ известен — это следующее слово в исходном тексте. Такой приём называют self-supervised (самообучение с учителем без ручной разметки).

Как выглядит один шаг обучения

  1. Взять кусок текста из корпуса.
  2. Для каждой позиции попросить модель предсказать следующий токен (видя только левый контекст — спасибо причинной маске).
  3. Сравнить предсказание с настоящим следующим токеном.
  4. Чуть подправить веса, чтобы в следующий раз вероятность правильного токена была выше.

Повторить это триллионы раз. Каждое крошечное исправление почти ничего не значит, но в сумме они выстраивают в модели богатое представление языка и мира.

Откуда сигнал и почему «бесплатно»

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

Что модель выучивает попутно

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

Текст-подсказкаЧто приходится знать
«Столица Франции — …»факт о мире
«Кошки любят … (молоко/спать)»здравый смысл
«def add(a, b): return …»синтаксис кода
«2 + 2 = …»простую арифметику (шаблонно)

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

Результат предобучения

На выходе — базовая модель (base model). Она прекрасно продолжает текст и хранит уйму знаний, но ещё не умеет вести диалог и следовать инструкциям. Это сырьё, из которого дальнейшие этапы (SFT, RLHF) лепят полезного ассистента. Но именно предобучение — самый дорогой и фундаментальный этап: здесь модель и набирает свои основные знания.

Итог

  • Предобучение — предсказание следующего токена на гигантском корпусе без ручной разметки.
  • Это self-supervised: правильный ответ — это просто следующее слово в тексте.
  • Чтобы хорошо предсказывать, модель попутно усваивает факты, грамматику, код, здравый смысл.
  • Итог — базовая модель: знающая, но ещё не умеющая вести диалог.
Проверьте себя
1. Почему предобучение называют self-supervised?
AМодель обучается без данных
BПравильный ответ (следующий токен) уже содержится в самом тексте — ручная разметка не нужна
CЛюди вручную размечают каждый токен
DМодель сама придумывает тексты
2. Что получается на выходе предобучения?
AГотовый чат-ассистент
BБазовая модель: знающая и умеющая продолжать текст, но ещё не ведущая диалог
CТолько токенизатор
DРазмеченный датасет
3. Почему предобучение удалось масштабировать до размеров интернета?
AПотому что текст не нужно размечать вручную — сигнал берётся из любого текста
BПотому что интернет маленький
CПотому что разметчики работают быстро
DПотому что модели крошечные
Поддержать проект