docs: actualize README, architecture, requirements (v1.1)

README:
- processed/ tree now shows mcgill/ and user/ subdirs
- --style user -> --style H1K0 in quick-start prefix example
- pretrained.report.txt and finetuned.report.txt added to artifact tables

architecture.md (-> v1.1):
- remove stale music21 fallback mention from chord_parser section
- fix ChordDataset: on-demand loading, not eager; remove non-existent
  make_dataloader from public interface
- fix train function name: train_model -> train
- update logging description: report goes to .report.txt, not stdout
- note that scripts use max_seq_len=256 (sequences top out at 195 tokens)

requirements.md (-> v1.1):
- FT-12: update from unified script to pretrain.py + train.py pair

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-20 12:46:09 +03:00
parent 03b464973a
commit 0682ccc140
3 changed files with 40 additions and 32 deletions
+7 -3
View File
@@ -112,7 +112,9 @@ hamori/
├── data/
│ ├── raw_user/ .chord-файлы собственного корпуса
│ ├── raw_external/ публичные корпуса (McGill Billboard и др.)
│ ├── processed/ токенизированные .pt-файлы для обучения
│ ├── processed/
│ │ ├── mcgill/ токенизированные .pt-файлы McGill (train/val)
│ │ └── user/ токенизированные .pt-файлы собственного корпуса
│ └── holdout/ отложенная выборка для итоговой оценки
├── src/
│ ├── chord_parser.py парсинг аккордовых символов
@@ -159,7 +161,7 @@ python scripts/generate.py \
```bash
python scripts/generate.py \
--checkpoint checkpoints/finetuned.pt \
--mode major --key C --style user --function verse --time 4/4 \
--mode major --key C --style H1K0 --function verse --time 4/4 \
--prefix "Cmaj7 Am7 Dm7" \
--output reports/samples/continuation.chord
```
@@ -266,6 +268,7 @@ python scripts/pretrain.py
| `checkpoints/pretrained.pt` | лучший чекпоинт (по val loss) |
| `checkpoints/pretrained.log.csv` | метрики по эпохам |
| `checkpoints/pretrained_curves.png` | график кривых train/val loss |
| `checkpoints/pretrained.report.txt` | сводный отчёт о прогоне |
Если обучение было прервано, повторно построить график и отчёт без
повторного обучения:
@@ -282,7 +285,8 @@ python scripts/train.py
Загружает `checkpoints/pretrained.pt` и дообучает на собственном корпусе
(`data/processed/user/`). Сохраняет `checkpoints/finetuned.pt` и аналогичный
набор артефактов (`finetuned.log.csv`, `finetuned_curves.png`).
набор артефактов (`finetuned.log.csv`, `finetuned_curves.png`,
`finetuned.report.txt`).
Существенно более низкая скорость обучения (lr=1e-5 против 3e-4) и небольшое
число эпох (15) предотвращают катастрофическое забывание закономерностей,