- MiniMaxH3Model: allow per-role attention backends (TORCH_SDPA/FLASH_ATTN/ VIDEO_SPARSE_ATTN_H3); predict_noise routes attn_metadata_vsa for attn_kind='vsa' (dense roles keep None). - MiniMaxH3DMDModel.prepare_batch builds real VSA-H3 metadata (packed text|cond|audio prefix segments via _h3_vsa_prefix_segments, sparsity from training.vsa.sparsity) when the role runs VIDEO_SPARSE_ATTN_H3. - VSA-H3 tile(): fresh buffer for grad-tracking forwards; shared-buffer reuse trips autograd's in-place version check at student backward. - build_tracker: degrade to DummyTracker when wandb is unimportable or has no credentials (modular stack already logs per-step loss dicts via the wandb tracker; no new callback needed). - dmd2_vsa0_overfit.yaml: student VSA-H3 @ sparsity 0.0, teacher/critic FLASH_ATTN, 3-step DMD schedule, wandb project h3-dmd2-vsa. - preprocess_minimax_h3_overfit: --video/--prompt/--output-dir/--model-path CLI; overfit_vsa0.sh: preprocess + 4-GPU torchrun with FASTVIDEO_FA4=1. - CPU tests: VSA metadata build/routing, per-role backend override, wandb guard + loss-dict logging, tile-under-grad regression.
Fastvideo New Modular Training Framework
This is the new training infrastructure for FastVideo, replacing the
monolithic per-model pipeline scripts in fastvideo/training/.
Key differences from fastvideo/training/
fastvideo/training/ (legacy) |
fastvideo/train/ (new) |
|
|---|---|---|
| Architecture | One pipeline class per model+method combo | Composable: model plugins + method classes |
| Adding a model | Write a full training pipeline from scratch | Add a model plugin under models/ |
| Adding a method | Fork an existing pipeline | Add a method class under methods/ |
| Config | Flat argparse flags | Hierarchical YAML with dotted-key overrides |
| Distributed | Manual FSDP setup per pipeline | Shared trainer handles FSDP/HSDP |
Structure
fastvideo/train/
├── models/ # Per-model plugins (wan/, hunyuan/, ...)
├── methods/ # Training methods (fine_tuning/, distribution_matching/, ...)
├── callbacks/ # Validation, grad clipping, etc.
├── entrypoint/ # CLI entry points (train.py, dcp_to_diffusers.py)
├── trainer.py # Core training loop
└── utils/ # Config parsing, dataloader, etc.
Usage
See examples/train/ for configs and launch scripts.