Training

epoch

Один полный проход по всему обучающему датасету.

Что такое epoch

Epoch (эпоха) — один полный цикл обучения, в котором модель видит каждый пример обучающего датасета ровно по одному разу. За одну эпоху выполняется len(dataset) / batch_size шагов оптимизатора.

При обучении на несколько эпох весь датасет проходится многократно. После каждой эпохи стандартно вычисляется validation loss для контроля overfitting.

Сколько эпох нужно

Задача Типичное число эпох
Full fine-tuning LLM 1–3
LoRA/QLoRA fine-tuning 2–5
Instruction tuning (большой датасет) 1–2
Специализированный датасет (1K примеров) 3–10
Pretraining <1 (обычно 1 проход по триллионам токенов)

Для LLM fine-tuning больше 5 эпох — риск overfitting. При маленьком датасете (< 1K примеров) нужны регуляризация или ранняя остановка.

Epoch vs Steps

Кол-во шагов = (dataset_size / effective_batch_size) × num_epochs. В Hugging Face можно управлять обучением через любой из параметров:

from transformers import TrainingArguments

# Через эпохи
args = TrainingArguments(num_train_epochs=3, ...)

# Через шаги (удобнее при большом датасете)
args = TrainingArguments(max_steps=5000, ...)

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

  • batch size — определяет число шагов за эпоху
  • overfitting — риск при слишком большом числе эпох
  • learning rate — нужно подбирать с учётом числа эпох
  • чекпоинт — обычно сохраняется раз в N шагов или в конце эпохи

Готовы запустить GPU-задачу?

Запустить GPU-сервер