[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72278":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},72278,"TurboDiffusion","thu-ml\u002FTurboDiffusion","thu-ml","TurboDiffusion: 100–200× Acceleration for Video Diffusion Models","https:\u002F\u002Farxiv.org\u002Fpdf\u002F2512.16093",null,"Python",3527,264,23,71,0,5,13,29,15,29.27,"Apache License 2.0",false,"main",[26,27,28,29,30,31,32,33,34,35],"ai-infra","consistency-model","diffusion-models","distillation","inference-acceleration","mlsystem","rcm","sageattention","sparse-linear-attention","video-generation","2026-06-12 02:03:01","# TurboDiffusion\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=assets\u002FTurboDiffusion_Logo.png width=\"30%\"\u002F>\n\u003C\u002Fdiv>\n\nThis repository provides the official implementation of **TurboDiffusion**, a video generation acceleration framework that can speed up end-to-end diffusion generation by $100 \\sim 200\\times$ on a single RTX 5090, while maintaining video quality.   \nTurboDiffusion primarily uses [SageAttention](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSageAttention), [SLA (Sparse-Linear Attention)](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSLA) for attention acceleration, and [rCM](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Frcm) for timestep distillation.\n\nPaper: [TurboDiffusion: Accelerating Video Diffusion Models by 100-200 Times](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2512.16093)\n\n**Note**: The current models are only trained on **long English prompts**. If you use other types of prompts, please augment them to get better performance.\n\nThe checkpoints and paper are not finalized, and will be updated later to improve quality.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"assets\u002FTurboDiffusion_speedup.png\" width=\"99%\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"assets\u002Facceleration_decomposition.png\" width=\"93%\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F11.gif\" width=\"387\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F11.gif\" width=\"387\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\nAn example of a \u003Cb>5-second video\u003C\u002Fb> generated by Wan-2.1-T2V-1.3B-480P on a single \u003Cb>RTX 5090\u003C\u002Fb>.\n\u003C\u002Fdiv>\n\n## Available Models\n\n|              Model Name               |                       Checkpoint Link                        | Best Resolution |\n| :-----------------------------------: | :----------------------------------------------------------: | :-------------: |\n| `TurboWan2.2-I2V-A14B-720P` | [Huggingface Model](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.2-I2V-A14B-720P) | 720p            |\n| `TurboWan2.1-T2V-1.3B-480P` | [Huggingface Model](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-1.3B-480P) | 480p            |\n| `TurboWan2.1-T2V-14B-480P`  | [Huggingface Model](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-14B-480P) | 480p            |\n| `TurboWan2.1-T2V-14B-720P`  | [Huggingface Model](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-14B-720P) | 720p            |\n\n\n\nNote: All checkpoints support generating videos at 480p or 720p. The \"Best Resolution\" column indicates the resolution at which the model provides the best video quality.\n\n\n## Installation\n\n**Base environment**: `python>=3.9`, `torch>=2.7.0`. `torch==2.8.0` is recommended, as higher versions may cause OOM.\n\nInstall TurboDiffusion by pip:\n\n```bash\nconda create -n turbodiffusion python=3.12\nconda activate turbodiffusion\n\npip install turbodiffusion --no-build-isolation\n```\n\nOr compile from source:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion.git\ncd TurboDiffusion\ngit submodule update --init --recursive\npip install -e . --no-build-isolation\n```\n\nTo enable SageSLA, a fast SLA forward pass based on SageAttention, install [SpargeAttn](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSpargeAttn) first:\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSpargeAttn.git --no-build-isolation\n```\n\n\n## Inference\nFor GPUs with more than 40GB of GPU memory, **e.g., H100, please use the unquantized checkpoints (without `-quant`) and remove `--quant_linear` from the command. For RTX 5090, RTX 4090, or similar GPUs, please use the quantized checkpoints (with `-quant`) and add `--quant_linear` in the command.)**\n\n1.  Download the VAE (**applicable for both Wan2.1 and Wan2.2**) and umT5 text encoder checkpoints:\n\n    ```bash\n    mkdir checkpoints\n    cd checkpoints\n    wget https:\u002F\u002Fhuggingface.co\u002FWan-AI\u002FWan2.1-T2V-1.3B\u002Fresolve\u002Fmain\u002FWan2.1_VAE.pth\n    wget https:\u002F\u002Fhuggingface.co\u002FWan-AI\u002FWan2.1-T2V-1.3B\u002Fresolve\u002Fmain\u002Fmodels_t5_umt5-xxl-enc-bf16.pth\n    ```\n\n2. Download our quantized model checkpoints (For RTX 5090 or similar GPUs):\n\n    ```bash\n    # For Wan2.1-T2V-1.3B\n    wget https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-1.3B-480P\u002Fresolve\u002Fmain\u002FTurboWan2.1-T2V-1.3B-480P-quant.pth\n\n    # For Wan2.2-I2V-14B\n    wget https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.2-I2V-A14B-720P\u002Fresolve\u002Fmain\u002FTurboWan2.2-I2V-A14B-high-720P-quant.pth\n    wget https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.2-I2V-A14B-720P\u002Fresolve\u002Fmain\u002FTurboWan2.2-I2V-A14B-low-720P-quant.pth\n    ```\n\n    **Or** download our unquantized model checkpoints (For H100 or similar GPUs):\n    ```bash\n    # For Wan2.1-T2V-1.3B\n    wget https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-1.3B-480P\u002Fresolve\u002Fmain\u002FTurboWan2.1-T2V-1.3B-480P.pth\n\n    # For Wan2.2-I2V-14B\n    wget https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.2-I2V-A14B-720P\u002Fresolve\u002Fmain\u002FTurboWan2.2-I2V-A14B-high-720P.pth\n    wget https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.2-I2V-A14B-720P\u002Fresolve\u002Fmain\u002FTurboWan2.2-I2V-A14B-low-720P.pth\n    ```\n    \n\n3.  Use the inference script for the **T2V** models:\n    ```bash\n    export PYTHONPATH=turbodiffusion\n    \n    # Arguments:\n    # --dit_path            Path to the finetuned TurboDiffusion checkpoint\n    # --model               Model to use: Wan2.1-1.3B or Wan2.1-14B (default: Wan2.1-1.3B)\n    # --num_samples         Number of videos to generate (default: 1)\n    # --num_steps           Sampling steps, 1–4 (default: 4)\n    # --sigma_max           Initial sigma for rCM (default: 80); larger choices (e.g., 1600) reduce diversity but may enhance quality\n    # --vae_path            Path to Wan2.1 VAE (default: checkpoints\u002FWan2.1_VAE.pth)\n    # --text_encoder_path   Path to umT5 text encoder (default: checkpoints\u002Fmodels_t5_umt5-xxl-enc-bf16.pth)\n    # --num_frames          Number of frames to generate (default: 81)\n    # --prompt              Text prompt for video generation\n    # --resolution          Output resolution: \"480p\" or \"720p\" (default: 480p)\n    # --aspect_ratio        Aspect ratio in W:H format (default: 16:9)\n    # --seed                Random seed for reproducibility (default: 0)\n    # --save_path           Output file path including extension (default: output\u002Fgenerated_video.mp4)\n    # --attention_type      Attention module to use: original, sla or sagesla (default: sagesla)\n    # --sla_topk            Top-k ratio for SLA\u002FSageSLA attention (default: 0.1), we recommend using 0.15 for better video quality\n    # --quant_linear        Enable quantization for linear layers, pass this if using a quantized checkpoint\n    # --default_norm        Use the original LayerNorm and RMSNorm of Wan models\n\n    python turbodiffusion\u002Finference\u002Fwan2.1_t2v_infer.py \\\n        --model Wan2.1-1.3B \\\n        --dit_path checkpoints\u002FTurboWan2.1-T2V-1.3B-480P-quant.pth \\\n        --resolution 480p \\\n        --prompt \"A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots, and carries a black purse. She wears sunglasses and red lipstick. She walks confidently and casually. The street is damp and reflective, creating a mirror effect of the colorful lights. Many pedestrians walk about.\" \\\n        --num_samples 1 \\\n        --num_steps 4 \\\n        --quant_linear \\\n        --attention_type sagesla \\\n        --sla_topk 0.1\n    ```\n\n    Or the script for the **I2V** model:\n    ```bash\n    export PYTHONPATH=turbodiffusion\n\n    # --image_path              Path to the input image\n    # --high_noise_model_path   Path to the high noise TurboDiffusion checkpoint\n    # --low_noise_model_path    Path to the high noise TurboDiffusion checkpoint\n    # --boundary                Timestep boundary for switching from high to low noise model (default: 0.9)\n    # --model                   Model to use: Wan2.2-A14B (default: Wan2.2-A14B)\n    # --num_samples             Number of videos to generate (default: 1)\n    # --num_steps               Sampling steps, 1–4 (default: 4)\n    # --sigma_max               Initial sigma for rCM (default: 200); larger choices (e.g., 1600) reduce diversity but may enhance quality\n    # --vae_path                Path to Wan2.2 VAE (default: checkpoints\u002FWan2.2_VAE.pth)\n    # --text_encoder_path       Path to umT5 text encoder (default: checkpoints\u002Fmodels_t5_umt5-xxl-enc-bf16.pth)\n    # --num_frames              Number of frames to generate (default: 81)\n    # --prompt                  Text prompt for video generation\n    # --resolution              Output resolution: \"480p\" or \"720p\" (default: 720p)\n    # --aspect_ratio            Aspect ratio in W:H format (default: 16:9)\n    # --adaptive_resolution     Enable adaptive resolution based on input image size\n    # --ode                     Use ODE for sampling (sharper but less robust than SDE)\n    # --seed                    Random seed for reproducibility (default: 0)\n    # --save_path               Output file path including extension (default: output\u002Fgenerated_video.mp4)\n    # --attention_type          Attention module to use: original, sla or sagesla (default: sagesla)\n    # --sla_topk                Top-k ratio for SLA\u002FSageSLA attention (default: 0.1), we recommend using 0.15 for better video quality\n    # --quant_linear            Enable quantization for linear layers, pass this if using a quantized checkpoint\n    # --default_norm            Use the original LayerNorm and RMSNorm of Wan models\n\n    python turbodiffusion\u002Finference\u002Fwan2.2_i2v_infer.py \\\n        --model Wan2.2-A14B \\\n        --low_noise_model_path checkpoints\u002FTurboWan2.2-I2V-A14B-low-720P-quant.pth \\\n        --high_noise_model_path checkpoints\u002FTurboWan2.2-I2V-A14B-high-720P-quant.pth \\\n        --resolution 720p \\\n        --adaptive_resolution \\\n        --image_path assets\u002Fi2v_inputs\u002Fi2v_input_0.jpg \\\n        --prompt \"POV selfie video, ultra-messy and extremely fast. A white cat in sunglasses stands on a surfboard with a neutral look when the board suddenly whips sideways, throwing cat and camera into the water; the frame dives sharply downward, swallowed by violent bursts of bubbles, spinning turbulence, and smeared water streaks as the camera sinks. Shadows thicken, pressure ripples distort the edges, and loose bubbles rush upward past the lens, showing the camera is still sinking. Then the cat kicks upward with explosive speed, dragging the view through churning bubbles and rapidly brightening water as sunlight floods back in; the camera races upward, water streaming off the lens, and finally breaks the surface in a sudden blast of light and spray, snapping back into a crooked, frantic selfie as the cat resurfaces.\" \\\n        --num_samples 1 \\\n        --num_steps 4 \\\n        --quant_linear \\\n        --attention_type sagesla \\\n        --sla_topk 0.1 \\\n        --ode\n    ```\n\nInteractive inference via the terminal is available at `turbodiffusion\u002Fserve\u002F`. This allows multi-turn video generation without reloading the model.\n\n\n## Evaluation\n\nWe evaluate video generation on **a single RTX 5090 GPU**. The E2E Time refers to the end-to-end diffusion generation latency, excluding text encoding and VAE decoding.\n\n### Wan-2.2-I2V-A14B-720P\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F0.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F0.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F1.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F1.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F2.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F2.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F3.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F3.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F4.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F4.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F5.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F5.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4549s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Foriginal\u002FA14B_720p\u002Fgif\u002F6.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>38s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fi2v\u002Fturbodiffusion\u002FA14B_720p\u002Fgif\u002F6.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n### Wan-2.1-T2V-1.3B-480P\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F5.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F5.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F5.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F1.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F1.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F1.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F2.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F2.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F2.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F7.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F7.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F7.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F11.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F11.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F11.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F13.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F13.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F13.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 184s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F1.3B\u002F14.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 5.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_1.3B\u002F14.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>1.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F1.3B\u002F14.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n### Wan-2.1-T2V-14B-720P\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4767s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_720p\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 72.6s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_720p\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>24s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_720p\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4767s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_720p\u002F3.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 72.6s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_720p\u002F3.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>24s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_720p\u002F3.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 4767s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_720p\u002F6.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 72.6s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_720p\u002F6.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>24s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_720p\u002F6.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n### Wan-2.1-T2V-14B-480P\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 1676s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_480p\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 26.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_480p\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>9.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_480p\u002F0.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 1676s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_480p\u002F1.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 26.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_480p\u002F1.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>9.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_480p\u002F1.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 1676s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_480p\u002F4.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 26.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_480p\u002F4.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>9.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_480p\u002F4.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">Original, E2E Time: 1676s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Foriginal\u002F14B_480p\u002F5.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">FastVideo, E2E Time: 26.3s\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Ffastvideo\u002Fvideo_14B_480p\u002F5.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" style=\"border: 2px solid #000; padding: 10px;\">\n\u003Cdiv style=\"font-size: 1.1em;\">TurboDiffusion, E2E Time: \u003Cb>9.9s\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"assets\u002Fvideos\u002Fturbodiffusion\u002F14B_480p\u002F5.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Training\n\nIn this repo, we provide training code based on Wan2.1 and its synthetic data. The training builds on the rCM codebase (https:\u002F\u002Fgithub.com\u002FNVlabs\u002Frcm), with infrastructure support including FSDP2, Ulysses CP, and selective activation checkpointing (SAC). For rCM training instructions, please refer to the original rCM repository; [SLA (Sparse-Linear Attention)](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSLA) training guidance is provided here.\n\n#### Additional Installation\nFor rCM\u002FSLA training, additionally run:\n\n```bash\npip install megatron-core hydra-core wandb webdataset\npip install --no-build-isolation transformer_engine[pytorch]\n```\n\n#### Checkpoints Downloading\nDownload the Wan2.1 pretrained checkpoints in `.pth` format and VAE\u002Ftext encoder to `assets\u002Fcheckpoints`:\n\n```bash\n# make sure git lfs is installed\ngit clone https:\u002F\u002Fhuggingface.co\u002Fworstcoder\u002FWan assets\u002Fcheckpoints\n```\n\nFSDP2 relies on [Distributed Checkpoint (DCP)](https:\u002F\u002Fdocs.pytorch.org\u002Ftutorials\u002Frecipes\u002Fdistributed_checkpoint_recipe.html) for loading and saving checkpoints. Before training, convert `.pth` teacher checkpoints to `.dcp` first:\n\n```bash\npython -m torch.distributed.checkpoint.format_utils torch_to_dcp assets\u002Fcheckpoints\u002FWan2.1-T2V-1.3B.pth assets\u002Fcheckpoints\u002FWan2.1-T2V-1.3B.dcp\n```\n\nAfter training, the saved `.dcp` checkpoints can be converted to `.pth` using the script `scripts\u002Fdcp_to_pth.py`.\n\n#### Dataset Downloading\n\nWe provide Wan2.1-14B-synthesized datasets. Download to `assets\u002Fdatasets` using:\n\n```bash\n# make sure git lfs is installed\ngit clone https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fworstcoder\u002FWan_datasets assets\u002Fdatasets\n```\n\n#### Start Training\nWe implement white-box SLA training by aligning the predictions of the SLA-enabled model with those of the full-attention pretrained model. Unlike black-box training in the original paper, which tunes the pretrained model using diffusion loss, white-box training mitigates distribution shift and is less sensitive to the training data.\n\nSingle-node training example:\n\n```bash\nWORKDIR=\"\u002Fpath\u002Fto\u002FTurboDiffusion\"\ncd $WORKDIR\nexport PYTHONPATH=turbodiffusion\n\n# the \"IMAGINAIRE_OUTPUT_ROOT\" environment variable is the path to save experiment output files\nexport IMAGINAIRE_OUTPUT_ROOT=${WORKDIR}\u002Foutputs\nCHECKPOINT_ROOT=${WORKDIR}\u002Fassets\u002Fcheckpoints\nDATASET_ROOT=${WORKDIR}\u002Fassets\u002Fdatasets\u002FWan2.1_14B_480p_16:9_Euler-step100_shift-3.0_cfg-5.0_seed-0_250K\n\n# your Wandb information\nexport WANDB_API_KEY=xxx\nexport WANDB_ENTITY=xxx\n\nregistry=registry_sla\nexperiment=wan2pt1_1pt3B_res480p_t2v_SLA\n\ntorchrun --nproc_per_node=8 \\\n    -m scripts.train --config=turbodiffusion\u002Frcm\u002Fconfigs\u002F${registry}.py -- experiment=${experiment} \\\n        model.config.teacher_ckpt=${CHECKPOINT_ROOT}\u002FWan2.1-T2V-1.3B.dcp \\\n        model.config.tokenizer.vae_pth=${CHECKPOINT_ROOT}\u002FWan2.1_VAE.pth \\\n        model.config.text_encoder_path=${CHECKPOINT_ROOT}\u002Fmodels_t5_umt5-xxl-enc-bf16.pth \\\n        model.config.neg_embed_path=${CHECKPOINT_ROOT}\u002FumT5_wan_negative_emb.pt \\\n        dataloader_train.tar_path_pattern=${DATASET_ROOT}\u002Fshard*.tar\n```\n\nPlease refer to `turbodiffusion\u002Frcm\u002Fconfigs\u002Fexperiments\u002Fsla\u002Fwan2pt1_t2v.py` for the 14B config or perform modifications as needed.\n\n#### Model Merging\n\nThe parameter updates from SLA training can be merged into rCM checkpoints using `turbodiffusion\u002Fscripts\u002Fmerge_models.py`, enabling rCM to perform sparse attention inference. Specify `--base` as the rCM model, `--diff_base` as the pretrained model, and `--diff_target` as the SLA-tuned model.\n\n## ComfyUI Integration\n\nWe thank the community effort [Comfyui_turbodiffusion](https:\u002F\u002Fgithub.com\u002Fanveshane\u002FComfyui_turbodiffusion) for integrating TurboDiffusion into ComfyUI.\n\n## Roadmap\n\nWe're actively working on the following features and improvements:\n\n- [x] Organize and release training code\n- [x] Optimize infrastructure to support flattened context parallel\n- [ ] vLLM-Omni integration\n- [ ] Support for more video generation models\n- [ ] Support for autoregressive video generation models\n- [ ] More hardware-level operator optimizations\n\n\nWe welcome community members to help maintain and extend TurboDiffusion. Welcome to join the TurboDiffusion Team and contribute together!\n\n\n## Citation\n**If you use this code or find our work valuable, please cite:**\n```\n@article{zhang2025turbodiffusion,\n  title={TurboDiffusion: Accelerating Video Diffusion Models by 100-200 Times},\n  author={Zhang, Jintao and Zheng, Kaiwen and Jiang, Kai and Wang, Haoxu and Stoica, Ion and Gonzalez, Joseph E and Chen, Jianfei and Zhu, Jun},\n  journal={arXiv preprint arXiv:2512.16093},\n  year={2025}\n}\n\n@software{turbodiffusion2025,\n  title={TurboDiffusion: Accelerating Video Diffusion Models by 100-200 Times},\n  author={The TurboDiffusion Team},\n  url={https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion},\n  year={2025}\n}\n\n@inproceedings{zhang2025sageattention,\n  title={SageAttention: Accurate 8-Bit Attention for Plug-and-play Inference Acceleration}, \n  author={Zhang, Jintao and Wei, Jia and Zhang, Pengle and Zhu, Jun and Chen, Jianfei},\n  booktitle={International Conference on Learning Representations (ICLR)},\n  year={2025}\n}\n\n@article{zhang2025sla,\n  title={SLA: Beyond Sparsity in Diffusion Transformers via Fine-Tunable Sparse-Linear Attention},\n  author={Zhang, Jintao and Wang, Haoxu and Jiang, Kai and Yang, Shuo and Zheng, Kaiwen and Xi, Haocheng and Wang, Ziteng and Zhu, Hongzhou and Zhao, Min and Stoica, Ion and others},\n  journal={arXiv preprint arXiv:2509.24006},\n  year={2025}\n}\n\n@article{zheng2025rcm,\n  title={Large Scale Diffusion Distillation via Score-Regularized Continuous-Time Consistency},\n  author={Zheng, Kaiwen and Wang, Yuji and Ma, Qianli and Chen, Huayu and Zhang, Jintao and Balaji, Yogesh and Chen, Jianfei and Liu, Ming-Yu and Zhu, Jun and Zhang, Qinsheng},\n  journal={arXiv preprint arXiv:2510.08431},\n  year={2025}\n}\n\n@inproceedings{zhang2024sageattention2,\n  title={Sageattention2: Efficient attention with thorough outlier smoothing and per-thread int4 quantization},\n  author={Zhang, Jintao and Huang, Haofeng and Zhang, Pengle and Wei, Jia and Zhu, Jun and Chen, Jianfei},\n  booktitle={International Conference on Machine Learning (ICML)},\n  year={2025}\n}\n```\n","TurboDiffusion 是一个视频生成加速框架，能够在单个RTX 5090上将端到端扩散模型的生成速度提升100至200倍，同时保持视频质量。该项目主要利用SageAttention、SLA（稀疏线性注意力）和rCM技术来实现注意力机制的加速以及时间步蒸馏。适用于需要快速生成高质量视频的应用场景，例如内容创作、虚拟现实或增强现实等。当前版本仅针对长英文提示进行了训练，使用其他类型提示时建议进行数据增强以获得更佳效果。",2,"2026-06-11 03:41:10","high_star"]