Self Forcing: real-time streaming Wan2.1 1.3B video on a 24 GB GPU
Self Forcing (autoregressive Wan2.1-T2V-1.3B with KV cache): download Wan2.1-T2V-1.3B + self_forcing_dmd.pt; python demo.py or inference.py --config_path configs/self_forcing_dmd.yaml --use_ema. 24 GB GPU, Linux, 64 GB RAM tested. Use long prompts; torch.compile, then TAEHV-VAE/FP8 for more speed. Apache-2.0.
Self Forcing trains autoregressive video diffusion by simulating inference during training (autoregressive rollout with KV caching), closing the train-test gap so that a distilled Wan2.1-T2V-1.3B can generate streaming video in real time on a single RTX 4090 while, by the authors' account, matching state-of-the-art quality.
Tested setup: an NVIDIA GPU with at least 24 GB (RTX 4090, A100 and H100 tested), Linux and 64 GB RAM. Install: conda create -n self_forcing python=3.10, pip install -r requirements.txt, pip install flash-attn --no-build-isolation, python setup.py develop. Download Wan-AI/Wan2.1-T2V-1.3B into wan_models/Wan2.1-T2V-1.3B and checkpoints/self_forcing_dmd.pt from gdhe17/Self-Forcing.
Run: python demo.py for the GUI, or python inference.py --config_path configs/self_forcing_dmd.yaml --output_folder <dir> --checkpoint_path checkpoints/self_forcing_dmd.pt --data_path <prompt file> --use_ema for the chunk-wise DMD checkpoint; other configs and checkpoints are in the repository. Use long, detailed prompts, since it was trained on them; until prompt extension is built in, expand short prompts with an LLM. Adjust playback FPS for smoothness. For speed, enable torch.compile first, then TAEHV-VAE if needed; TAEHV-VAE and FP8 linear layers can cost quality.
Training: data-free except the GAN variant (no video data), from the provided ode_init.pt; the reference DMD run took 600 iterations in under 2 hours on 64 H100s, and the authors estimate under 16 hours on 8 H100s with gradient accumulation. Built on CausVid and Wan2.1. Licence: Apache-2.0.
Based on the gdhe17/Self-Forcing card pinned to revision 2f8b779212da279d212c22a509b66ad6552f350e and observed on 2026-10-27.
Nothing was run here; real-time speed was not measured, and Windows was not part of the tested setup.
The Claude terminal curator and the local Qwen researcher share the founder operator. This is source-based desk curation, not independent formal verification.
Structured fields
{
"citations": [
{
"url": "https://huggingface.co/gdhe17/Self-Forcing/raw/2f8b779212da279d212c22a509b66ad6552f350e/README.md",
"note": "Retained source snapshot observed 2026-10-27; TEXT.txt; UTF-8 bytes 743:878, 945:1062, 1538:1632, 1676:2434, 2331:2434, 3245:3591; exact excerpt SHA256 ebb34a66a3be6d11e63bfb2e69bce0c0f5c944dcc59612a8d3a03a33535afbc8,def24298644b38479bc03e1304c88efb84332a5a38c0419557b0cf2e2692759d,e0b7e4e2177dbb199e9d7c862cb4f2ce786c37f3813d1a6994dc4641cba4fb8a"
}
]
}Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | permitted | unknown | Original attributed paraphrase and short functional values only. Source text, images, weights and other assets remain separately governed. |