refactor: split training scripts into pretrain.py and train.py
- scripts/run_pretrain.py -> scripts/pretrain.py: pre-trains on McGill corpus (data/processed/mcgill/), saves checkpoints/pretrained.pt. - scripts/train.py: rewritten as high-level fine-tune wrapper; loads pretrained.pt, trains on data/processed/user/, saves finetuned.pt. Both scripts include timing estimate, loss-curve plot, per-epoch report, and --skip-training flag. - README: updated section 7 to reflect new script names and separate data directories. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -254,39 +254,39 @@ python scripts/prepare_data.py \
|
||||
|
||||
### 7.1 Предобучение
|
||||
|
||||
Обучение базовой модели на конвертированном корпусе McGill Billboard:
|
||||
|
||||
```bash
|
||||
python scripts/train.py \
|
||||
--data-dir data/processed/mcgill/ \
|
||||
--output checkpoints/pretrained.pt \
|
||||
--epochs 50 \
|
||||
--batch-size 32 \
|
||||
--lr 3e-4 \
|
||||
--warmup-steps 200 \
|
||||
--seed 42
|
||||
python scripts/pretrain.py
|
||||
```
|
||||
|
||||
По окончании обучения в директории `checkpoints/` появятся: сам чекпоинт,
|
||||
лог обучения в формате CSV и график кривых train/val loss.
|
||||
Обучает на корпусе McGill (`data/processed/mcgill/`). Выводит оценку времени
|
||||
выполнения и по окончании сохраняет:
|
||||
|
||||
| Файл | Описание |
|
||||
| ----------------------------------- | ----------------------------- |
|
||||
| `checkpoints/pretrained.pt` | лучший чекпоинт (по val loss) |
|
||||
| `checkpoints/pretrained.log.csv` | метрики по эпохам |
|
||||
| `checkpoints/pretrained_curves.png` | график кривых train/val loss |
|
||||
|
||||
Если обучение было прервано, повторно построить график и отчёт без
|
||||
повторного обучения:
|
||||
|
||||
```bash
|
||||
python scripts/pretrain.py --skip-training
|
||||
```
|
||||
|
||||
### 7.2 Дообучение на собственном корпусе
|
||||
|
||||
```bash
|
||||
python scripts/train.py \
|
||||
--init-from checkpoints/pretrained.pt \
|
||||
--data-dir data/processed/user/ \
|
||||
--output checkpoints/finetuned.pt \
|
||||
--epochs 15 \
|
||||
--batch-size 16 \
|
||||
--lr 1e-5 \
|
||||
--warmup-steps 20 \
|
||||
--seed 42
|
||||
python scripts/train.py
|
||||
```
|
||||
|
||||
Существенно более низкая скорость обучения (на два порядка меньше, чем на
|
||||
предобучении) и небольшое число эпох предотвращают катастрофическое забывание
|
||||
закономерностей, выученных на этапе предобучения.
|
||||
Загружает `checkpoints/pretrained.pt` и дообучает на собственном корпусе
|
||||
(`data/processed/user/`). Сохраняет `checkpoints/finetuned.pt` и аналогичный
|
||||
набор артефактов (`finetuned.log.csv`, `finetuned_curves.png`).
|
||||
|
||||
Существенно более низкая скорость обучения (lr=1e-5 против 3e-4) и небольшое
|
||||
число эпох (15) предотвращают катастрофическое забывание закономерностей,
|
||||
выученных на этапе предобучения.
|
||||
|
||||
## 8. Оценка результатов
|
||||
|
||||
|
||||
Reference in New Issue
Block a user