DUB-AI: multi-task модель (тип озвучки + автор-спан + 18+), обучение/инференс/ONNX/сервис, тесты и документация
This commit is contained in:
commit
8dbca3f4a3
2873 files changed
+44479
No files matched your search
@@ -0,0 +1,77 @@
|
||||
# Обучение на Windows с GPU (RTX 5070 Ti)
|
||||
|
||||
## Почему cu128
|
||||
|
||||
RTX 5070 Ti — архитектура Blackwell (compute capability `sm_120`). Колёса
|
||||
PyTorch с PyPI для Windows по умолчанию CPU-only, а старые CUDA-сборки не
|
||||
знают sm_120. Нужны колёса с индекса cu128 (torch >= 2.7; проверено на
|
||||
torch 2.11.0+cu128).
|
||||
|
||||
## Установка (один раз)
|
||||
|
||||
```bat
|
||||
cd C:\Users\shats\Dev\DUB-AI
|
||||
python -m venv .venv
|
||||
.venv\Scripts\python -m pip install --upgrade pip
|
||||
|
||||
:: torch с GPU-поддержкой (Blackwell)
|
||||
.venv\Scripts\python -m pip install torch --index-url https://download.pytorch.org/whl/cu128
|
||||
|
||||
:: остальное
|
||||
.venv\Scripts\python -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
Проверка (ожидаемый вывод — `True` и имя карты):
|
||||
|
||||
```bat
|
||||
.venv\Scripts\python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
|
||||
:: True NVIDIA GeForce RTX 5070 Ti
|
||||
```
|
||||
|
||||
## Обучение
|
||||
|
||||
```bat
|
||||
.venv\Scripts\python -m src.prepare_data :: данные -> data/processed
|
||||
.venv\Scripts\python -m src.train :: обе модели: 5-fold CV + финальные
|
||||
.venv\Scripts\python -m src.train --models base :: только ruBert-base
|
||||
.venv\Scripts\python -m src.train --epochs-override 5 --folds 3 :: быстрый прогон
|
||||
```
|
||||
|
||||
Время на RTX 5070 Ti (3742 строки, max_len=128): rubert-tiny2 — ~2 мин
|
||||
полный цикл; ruBert-base — ~7 мин. Автоматически: bf16 autocast на
|
||||
CUDA, GroupKFold-сплиты, ранний stopping (patience 3), метрики и графики в
|
||||
`reports/`, чекпоинты в `models/`, лучшая модель — `models/best`.
|
||||
|
||||
Гиперпараметры — в `MODEL_CONFIGS` (src/train.py): tiny2 — lr 1e-4, batch
|
||||
64, до 20 эпох; base — lr 3e-5, batch 32, до 10 эпох; AdamW, weight_decay
|
||||
0.01, linear warmup 10%, grad clip 1.0, seed 42.
|
||||
|
||||
## Переобучение на свежем датасете
|
||||
|
||||
Сборщик (`deepseek-harness/default-workspace/dataset.py`) дописывает
|
||||
`labels.csv`. Когда появится новый снимок:
|
||||
|
||||
```bat
|
||||
copy /Y <путь>\labels.csv data\labels.csv
|
||||
.venv\Scripts\python -m src.prepare_data
|
||||
.venv\Scripts\python -m src.train
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Симптом | Причина | Решение |
|
||||
|---|---|---|
|
||||
| `torch.cuda.is_available()` = False | установлен CPU-torch | переустановить с `--index-url .../whl/cu128` |
|
||||
| `CUDA error: no kernel image is available` | колёса без sm_120 (старый cu126 и т.п.) | то же — нужны именно cu128 |
|
||||
| `CUDA driver version is insufficient` | старый драйвер NVIDIA | обновить драйвер (нужен 5xx+) |
|
||||
| Память GPU занята другими приложениями (WDDM) | Windows держит ~4 ГБ VRAM под систему | batch уже мал (32-64 на коротких seq хватает); при нехватке уменьшить `batch` в MODEL_CONFIGS |
|
||||
| Хочется обучить без GPU | — | `base` медленно, но `tiny2` обучаема на CPU за десятки минут: тот же запуск, torch можно ставить CPU-версией |
|
||||
|
||||
## Что сохраняется после обучения
|
||||
|
||||
* `models/<имя>/model.pt` — веса; `dub_config.json` — конфигурация;
|
||||
`label_maps.json` — классы; файлы токенизатора; `train_config.json` —
|
||||
гиперпараметры и финальные метрики.
|
||||
* `models/best/` — копия лучшей модели (используется инференсом по умолчанию).
|
||||
* `reports/summary.md` — таблица сравнения; `final_<имя>.json` — метрики;
|
||||
`history_<имя>.png` — кривые; `confusion_<имя>.png` — матрица ошибок.
|
||||
Reference in new issue
Block a user