COMRAD404 / GLOSSARY

Pre-training (предобучение)

pre-training

Pre-training, или предобучение, — это обучение модели с нуля на большом корпусе данных, обычно self-supervised, чтобы затем донастроить её под конкретную задачу.

TL;DR

Pre-training — это обучение модели с нуля на большом корпусе данных, обычно self-supervised, чтобы затем использовать её как базу для дальнейшей адаптации.

Pre-training (предобучение) — это этап, на котором модель обучают с нуля на большом корпусе данных: веса инициализируются случайно, и модель ещё не имеет предварительных знаний. В официальных источниках по Transformers такой этап обычно self-supervised и предшествует fine-tuning: модель учится предсказывать следующий токен или восстанавливать замаскированные токены, чтобы позже её можно было адаптировать под конкретную задачу.

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

Английский термин: pre-training. Также встречается: pretraining, предобучение. В контексте рассмотренных официальных гайдов по Transformers этот термин фактически означает обучение модели с нуля со случайной инициализацией весов.

Редакционная оговорка. Эта статья опирается на официальные источники Hugging Face и работу BERT, поэтому описывает pre-training прежде всего для NLP и Transformer-моделей. Для vision, audio и multimodal предобучения нужны отдельные специализированные источники; эта граница важна на дату проверки 2026-08-16.

Простыми словами

Грубо говоря, предобучение можно представить как очень долгую «начитанность» модели. Ей не дают готовые правильные ответы на прикладную задачу, а заставляют много раз угадывать пропуски в тексте или следующее слово по огромному массиву данных.

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

Как это работает

Технически pre-training начинается с модели со случайными весами. Дальше выбирают большую коллекцию данных и цель self-supervised обучения. В официальном глоссарии Hugging Face для pretrained model приведены два базовых сценария: causal language modeling, где модель предсказывает следующий токен, и masked language modeling, где она восстанавливает замаскированные токены.

[Случайная инициализация весов]
                ↓
[Большой корпус данных]
                ↓
[Self-supervised objective]
  • causal LM → предсказать следующий токен
  • masked LM → восстановить mask
                ↓
[Цикл обучения]
                ↓
[Оценка на отложенном split]
  • loss
  • perplexity
                ↓
[Проверка inference]
  • например, fill-mask
  1. Инициализация. Весам модели не передают готовые знания; обучение начинается со случайных значений.
  2. Подготовка данных. Нужен большой корпус. В гайдах Hugging Face по обучению с нуля отдельно подчёркивается, что это обычно требует очень больших объёмов данных и долгого времени.
  3. Выбор objective. Для causal LM модель учится предсказывать следующий токен. Для masked LM — восстанавливать скрытые токены по контексту.
  4. Обучение. Запускается training loop или стандартный цикл через Trainer, который в документации описан как общий механизм для обучения и оценки как при training from scratch, так и при fine-tuning.
  5. Проверка качества. В официальных примерах используют оценку через evaluate(), собирают loss и считают perplexity.
  6. Проверка на реальном inference. Для masked language modeling в официальном гайде после обучения модель дополнительно проверяют через fill-mask.

Классический пример из академической литературы — BERT. В этой работе предобучение строится на masked language modeling и next sentence prediction, а затем уже идёт fine-tuning на downstream-задачи. Для MLM в BERT описана схема 80/10/10: часть выбранных токенов заменяют на [MASK], часть — на случайный токен, часть оставляют без изменений.

Где применяется

  • Обучение causal language model с нуля. В курсе Hugging Face показан сценарий, где сначала подготавливают данные для pre-training, а затем обучают языковую модель с нуля и оценивают её по loss и perplexity.
  • BERT-подобные masked language models. В официальном гайде по MLM модель обучают на задаче восстановления замаскированных токенов, затем оценивают и проверяют через fill-mask.
  • Подготовка базы для последующего fine-tuning. Именно так pre-training используется в BERT: сначала модель получает общие языковые представления, затем адаптируется под downstream-задачи.
  • Основа для transfer learning. Предобученная модель нужна затем, чтобы переносить уже выученные представления на более узкую прикладную задачу, а не начинать обучение каждый раз с нуля.

Практический пример

Ниже — не полный production-рецепт, а практический сценарий, который напрямую следует из официального гайда Hugging Face по masked language modeling.

  1. Берёте неразмеченный текстовый корпус.
  2. Делите данные на обучающую и отложенную части, в гайде это показано как train/test split.
  3. Запускаете обучение masked language model через Trainer.
  4. После обучения вызываете оценку через evaluate(), получаете loss и на его основе считаете perplexity.
  5. Затем проверяете не только метрику, но и реальное поведение модели через fill-mask: даёте фразу с пропуском и смотрите, какие токены модель предлагает.
Корпус данных
  ↓
train/test split
  ↓
masked language modeling objective
  ↓
Trainer
  ↓
evaluate() → loss → perplexity
  ↓
fill-mask inference check

Практический смысл такой проверки: падение loss и разумная perplexity полезны, но в официальном процессе всё равно смотрят, как модель ведёт себя на inference. Это снижает риск принять «хорошую цифру» за готовность к реальному использованию.

Чем отличается от…

Термин Что означает Ключевое отличие от pre-training
Pre-training Обучение модели с нуля на большом корпусе, обычно self-supervised Создаёт базовую pretrained model
Fine-tuning Дальнейшая адаптация уже обученной модели под конкретную задачу Обычно не начинается со случайных весов и опирается на результат pre-training
Transfer learning Более широкий подход к переносу уже выученных представлений между задачами Pre-training — часто первый этап transfer learning, но не весь процесс целиком

Если коротко: pre-training создаёт общий фундамент, fine-tuning настраивает его под задачу, а transfer learning описывает весь подход к повторному использованию уже полученных знаний.

Ограничения и заблуждения

  • Заблуждение: «предобучение = любая дообучка модели». В рассмотренных официальных источниках pre-training описан как обучение с нуля со случайной инициализацией весов, а не как любой дополнительный запуск обучения.
  • Ограничение: это дорого по данным и времени. Курс Hugging Face прямо подчёркивает, что обучение с нуля обычно требует очень больших корпусов и длительного времени.
  • Заблуждение: «одной метрики достаточно». В официальных гайдах модель не только оценивают по loss и perplexity, но и проверяют через inference-сценарий вроде fill-mask.
  • Ограничение: не все objectives одинаковы. Causal language modeling и masked language modeling — это разные цели обучения, и они проверяются на разных типах поведения модели.
  • Ограничение статьи. Здесь не разобраны современные варианты предобучения за пределами NLP/Transformers, потому что в исходном пакете для них нет достаточных первичных источников.

Связанные термины и инструменты

Чтобы увидеть следующий этап после предобучения, полезно разобрать Transfer learning (перенос обучения). Если вам нужно не учить модель с нуля, а мягко адаптировать уже готовую, посмотрите Prompt tuning (мягкий промпт). А когда pre-training упирается в вычислительные ресурсы, на первый план выходит Distributed training (распределённое обучение).

Источники

Вопросы и ответы

Предобучение и fine-tuning — это одно и то же?

Нет. В рассмотренных источниках pre-training — это обучение с нуля на большом корпусе, а fine-tuning — последующая адаптация уже предобученной модели под конкретную задачу.

Всегда ли pre-training self-supervised?

В официальном глоссарии Hugging Face pretrained model описана именно через self-supervised методы, а в источниках этой статьи приведены causal language modeling и masked language modeling. Для других модальностей возможны отдельные схемы, но они здесь не покрыты.

Как понять, что предобучение идёт нормально?

В официальных гайдах используют отложенный split, считают loss и perplexity, а затем дополнительно смотрят на поведение модели в inference, например через fill-mask.

Можно ли считать любой запуск Trainer предобучением?

Нет. Документация Trainer описывает его как общий цикл обучения и оценки, который подходит и для training from scratch, и для fine-tuning. Сам по себе инструмент не определяет тип обучения.

Практический вердикт: когда вам действительно нужен pre-training?

Когда вы создаёте базовую модель под свой большой корпус и готовы к серьёзным затратам данных и времени. Если ваша цель — быстро адаптировать уже существующую модель, по этим источникам логичнее сначала смотреть в сторону fine-tuning или более лёгких методов адаптации.

Источники

SOURCES

Вопросы и ответы

FAQ
Предобучение и fine-tuning — это одно и то же?

Нет. В рассмотренных источниках pre-training — это обучение с нуля на большом корпусе, а fine-tuning — последующая адаптация уже предобученной модели под конкретную задачу.

Всегда ли pre-training self-supervised?

В официальном глоссарии Hugging Face pretrained model описана через self-supervised методы; в этой статье речь идёт именно о таких сценариях, включая causal language modeling и masked language modeling.

Как понять, что предобучение идёт нормально?

В официальных гайдах используют отложенный split, считают loss и perplexity, а затем дополнительно проверяют поведение модели на inference, например через fill-mask.

Можно ли считать любой запуск Trainer предобучением?

Нет. Документация Trainer описывает его как общий цикл обучения и оценки, который подходит и для training from scratch, и для fine-tuning; сам инструмент не определяет тип обучения.

Когда pre-training оправдан на практике?

Когда вы создаёте базовую модель под свой большой корпус и готовы к высоким затратам данных и времени. Если нужна лишь адаптация готовой модели, по этим источникам это уже другой этап, а не pre-training.

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

LINKS