Wan2.1 T2V 14B SFP DMD 4-Step LoRA - Rank 32, Iter 1200
This repository contains the iteration-1200 checkpoint from an experimental
Wan2.1-T2V-14B Self-Forcing-Plus DMD run. It includes a portable generator
LoRA for inference and the complete generator/critic/optimizer checkpoint for
resuming the original 64-rank training job.
This is an intermediate checkpoint from a run configured for 3,000
iterations. The run was stopped after this checkpoint was selected for
publication, so this should not be treated as a final converged model.
Checkpoint identity
| Item | Value |
|---|
| Base model | Wan-AI/Wan2.1-T2V-14B |
| Training iteration | 1,200 of 3,000 |
| Inference denoising steps | 4 |
| Rollout | Self-Forcing blockwise autoregressive |
| LoRA rank / alpha / dropout | 32 / 32 / 0.0 |
| Generator LoRA | 800 tensors, 400 A/B pairs, 153,354,240 parameters |
| Critic LoRA | 800 tensors, 400 A/B pairs, 153,354,240 parameters |
| Teacher | Frozen base model, no LoRA |
| Training latent frames | 21 |
| Decoded inference frames | 81 at 16 fps |
| External inference CFG | Disabled; guidance is distilled |
Each model copy trains LoRA weights for every Linear module inside the 40
Wan attention blocks. The generator and critic use separate adapters. The
published inference adapter contains only the generator weights.
Training configuration
| Parameter | Value |
|---|
| Hardware | 64 H100 GPUs, 8 nodes |
| Per-rank batch size | 1 |
| Total batch size | 64 |
| Generator learning rate | 1e-5 |
| Critic learning rate | 2e-6 |
| Generator Adam beta1 / beta2 | 0.0 / 0.999 |
| Critic Adam beta1 / beta2 | 0.0 / 0.999 |
| Critic : generator update ratio | 5 : 1 |
| Denoising timesteps | 1000, 750, 500, 250 |
| Timestep shift | 5.0 |
| Training guidance scale | 4.0 |
| Latent frames per AR block | 3 |
| EMA | Disabled for LoRA training |
The training path keeps the original Self-Forcing-Plus rollout, DMD loss,
sampler, update order, and prompt-only data flow. At step 1,200, the validated
Adam counters are 240 generator updates and 1,200 critic updates.
Files
generator_lora_lightx2v.safetensors: generator-only BF16 LoRA used for
the validated four-step LightX2V samples.
inference_config.json: the 4-step, 81-frame, 832x480 LightX2V settings.
training_config.yaml: source SFP DMD training configuration.
training_checkpoint/model.pt: FP32 generator and critic LoRAs plus adapter
metadata at step 1,200.
training_checkpoint/optimizer_rank_00000.pt through
optimizer_rank_00063.pt: rank-local AdamW and RNG states.
training_checkpoint/_SUCCESS: complete-checkpoint marker.
export_generator_lora.py: exporter used to create the inference adapter.
provenance.json: revisions, checksums, and validation facts.
The files under training_checkpoint/ are PyTorch pickle checkpoints. Load
them only in a trusted environment. The inference adapter uses Safetensors.
LightX2V inference
Download this repository and change lora_configs[0].path in
inference_config.json to the absolute path of
generator_lora_lightx2v.safetensors. Then run from a LightX2V checkout:
1python -m torch.distributed.run --nproc_per_node=8 -m lightx2v.infer \
2 --model_cls wan2.1_distill \
3 --task t2v \
4 --model_path /path/to/Wan2.1-T2V-14B \
5 --config_json /path/to/inference_config.json \
6 --prompt "your prompt" \
7 --negative_prompt "your negative prompt" \
8 --save_result_path output.mp4 \
9 --seed 42
The validated setup uses LoRA strength 1.0, four denoising steps, 81 output
frames, 832x480 resolution, and no external CFG pass.
Resume training
Resume with the original modified Self-Forcing-Plus code and point
resume_ckpt at the downloaded training_checkpoint directory. Restoring
the supplied optimizer shards requires a world size of 64. The checkpoint was
validated for all 64 shards before publication.
Integrity
| File | Bytes | SHA-256 |
|---|
generator_lora_lightx2v.safetensors | 306,795,416 | b8bd0275f125918e7ee37e9e9feb2157d4e7f1354db5829827ed30bfcb616e44 |
training_checkpoint/model.pt | 1,227,407,797 | a384c5a31923ce1edb28576886fe54d6a54add7564a14625295e33eae2d806e9 |