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-сервер