Instructions to use AlexWortega/tinyvla with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use AlexWortega/tinyvla with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
B200.md: measured smoke results (1xH100 495 s/s full script, 2xH100 DDP functional but interconnect-bound 340 s/s), spawn requirement, honest 8x caveat
Browse files- tinyvla_b200/B200.md +21 -6
tinyvla_b200/B200.md
CHANGED
|
@@ -157,12 +157,25 @@ batch_size × N; на 8 GPU при 256 это 2048 — опусти до 96–12
|
|
| 157 |
`num_workers` воркерами (стрим-источник делит seed-пространство по рангам);
|
| 158 |
лог и чекпойнты пишет только rank 0, samples/s в логе — глобальный.
|
| 159 |
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 166 |
|
| 167 |
При старте `load_compatible` напечатает, что перенесено из C-scaled, а что
|
| 168 |
переинициализировано из-за смены размерностей — **проверь этот список**:
|
|
@@ -204,6 +217,8 @@ NVMe, отдаёт 2 400+ семплов/с на процесс).
|
|
| 204 |
| + дедуп cam0 | 398 | 0.70 |
|
| 205 |
| + плотный fixed-grid ViT + compile | **738** | **0.38** |
|
| 206 |
| **end-to-end со стримом с хаба** | **745** | **0.37** |
|
|
|
|
|
|
|
| 207 |
| стрим-загрузчик отдельно (16 воркеров) | 1019 | — |
|
| 208 |
| webdataset из локальных таров (для сравнения) | 1600–2400 | — |
|
| 209 |
|
|
|
|
| 157 |
`num_workers` воркерами (стрим-источник делит seed-пространство по рангам);
|
| 158 |
лог и чекпойнты пишет только rank 0, samples/s в логе — глобальный.
|
| 159 |
|
| 160 |
+
**Статус мульти-GPU (провалидировано на 2×H100 SXM, 28.08.2026):**
|
| 161 |
+
- DDP-ветка РАБОТАЕТ end-to-end (стрим + C-чекпойнт + оба ранга, EXIT=0).
|
| 162 |
+
- КРИТИЧНО: воркеры DataLoader стартуют через **spawn** (уже в коде). С fork
|
| 163 |
+
2 ранга × 16 воркеров, форкнутых после инициализации CUDA/NCCL, задушили
|
| 164 |
+
heartbeat torchrun-агента — ранги зависали в первом allreduce, NCCL watchdog
|
| 165 |
+
убивал прогон через 480 с. Симптом в логе: `RendezvousTimeoutError` через
|
| 166 |
+
~3 мин после старта.
|
| 167 |
+
- Эффективность на конкретной паре карт этого пода — ПЛОХАЯ: 340 семплов/с
|
| 168 |
+
глобально против 495 на одной карте (шаг 258 → 750 мс; ~0.5 с уходит в
|
| 169 |
+
allreduce 0.6 ГБ градиентов). Функциональность доказана, масштабирование —
|
| 170 |
+
нет. Прежде чем планировать 8×, прогони `--profile-steps 220` на своей ноде
|
| 171 |
+
и посмотри на шаг: если allreduce не прячется — крути NCCL (NVLink-топология
|
| 172 |
+
узла, `NCCL_NVLS_ENABLE`, `bucket_cap_mb`, gradient compression) или включай
|
| 173 |
+
grad_accum (реже allreduce).
|
| 174 |
+
- Прогноз «8×B300 ≈ 4.5 ч/эпоха» из ранних версий этого файла считался от
|
| 175 |
+
идеального DDP ~92% и измерением НЕ подтверждён; на плохом interconnect
|
| 176 |
+
масштабирование может съесть большую часть выигрыша.
|
| 177 |
+
- Сеть при N рангах: совокупно ~N×25 МБ/с с HF CDN; если режут с одного IP —
|
| 178 |
+
страховка: локальные wds-тары (`pack_wds.py`, ~1.3 ТБ NVMe, 2 400+ семплов/с).
|
| 179 |
|
| 180 |
При старте `load_compatible` напечатает, что перенесено из C-scaled, а что
|
| 181 |
переинициализировано из-за смены размерностей — **проверь этот список**:
|
|
|
|
| 217 |
| + дедуп cam0 | 398 | 0.70 |
|
| 218 |
| + плотный fixed-grid ViT + compile | **738** | **0.38** |
|
| 219 |
| **end-to-end со стримом с хаба** | **745** | **0.37** |
|
| 220 |
+
| train_fast.py целиком, 1×H100 (смоук с C-чекпойнтом) | 495 | 0.56 |
|
| 221 |
+
| train_fast.py, 2×H100 DDP (глобально; interconnect-bound) | 340 | 0.82 |
|
| 222 |
| стрим-загрузчик отдельно (16 воркеров) | 1019 | — |
|
| 223 |
| webdataset из локальных таров (для сравнения) | 1600–2400 | — |
|
| 224 |
|