[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-thu-ml--TurboDiffusion":3,"tool-thu-ml--TurboDiffusion":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",155373,2,"2026-04-14T11:34:08",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":99,"env_os":100,"env_gpu":101,"env_ram":100,"env_deps":102,"category_tags":111,"github_topics":113,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":124,"updated_at":125,"faqs":126,"releases":167},7466,"thu-ml\u002FTurboDiffusion","TurboDiffusion","TurboDiffusion: 100–200× Acceleration for Video Diffusion Models","TurboDiffusion 是一款专为视频扩散模型打造的高效加速框架，旨在解决当前 AI 视频生成速度缓慢、耗时过长的核心痛点。通过在单张 RTX 5090 显卡上的实测，它能将端到端的视频生成速度提升 100 至 200 倍，把原本需要数分钟甚至更久的渲染过程压缩至秒级（例如生成一段 5 秒视频仅需约 1.9 秒），同时依然保持出色的画面质量。\n\n这一工具特别适合需要快速迭代创意的视频设计师、希望降低计算成本的研究人员，以及追求高效工作流的开发者。其独特的技术亮点在于巧妙融合了多种前沿优化方案：利用 SageAttention 和 SLA（稀疏线性注意力）机制大幅加速注意力计算，并采用 rCM 技术进行时间步蒸馏，从而在极少的采样步数下实现高质量输出。目前，TurboDiffusion 已支持基于 Wan2.1 和 Wan2.2 系列的多个模型版本，涵盖文生视频与图生视频任务，并提供针对不同显存配置的量化与非量化检查点。需要注意的是，当前模型针对长英文提示词进行了优化，使用时建议配合相应的提示词策略以获得最佳效果。随着项目的持续更新，其生成质量与兼容性还将进一步提升。","# 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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_cff75b7ca19d.png\" width=\"99%\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_cfac6466162c.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d9563b454add.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_00c993916091.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_351cd8e06b31.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fdf19c8f3c24.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_dc11ded9f4a2.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_bca4fc320579.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_319a0e272378.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_5a150fcce35d.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_915f5c92c43a.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_7c4623497fbd.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3f4a03b5ab55.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fa522e0960b5.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_c1b2de208602.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8abf388702b2.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_409e09453b1a.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_91d65fb440e2.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_354edf5efd3e.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8088c8fc4b42.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fac5493afa19.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8c2f2c7ec2db.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3574226067be.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d60b8a60151a.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_ba730d99456a.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3a3332d07929.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fea00fa3700c.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_22694e146067.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_a378db31e534.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_503d5f877aae.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_927e4bd45bc9.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_39a8fbe2dd24.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_135cf6e48cec.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d9563b454add.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3ee6849307b5.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_00c993916091.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8333b04f47b8.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_56b2a624f239.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_739fdad22721.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_b1520185ca55.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_7a75d264198d.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_756ad75b0e3a.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_f88d7fad1245.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_9b0a70b33c9d.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_274324db6102.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_90964d1b6349.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_937019765a66.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_b82ffe454d04.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_a7005d9773ee.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d96b4287f9c5.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_1c46342b67fa.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fa73e46dd4ad.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_542db9db31ab.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_60b6ac3e263e.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3f067b53dbda.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_6d9ee582bb03.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_4cec8426a8e2.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8f21cc09c57e.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8576034253d6.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_29f9a093a307.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_540d27aed99e.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_9b5fc454b206.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=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_9037c4cc6563.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\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=assets\u002FTurboDiffusion_Logo.png width=\"30%\"\u002F>\n\u003C\u002Fdiv>\n\n本仓库提供了 **TurboDiffusion** 的官方实现，这是一个视频生成加速框架，在单张 RTX 5090 显卡上可将端到端扩散模型生成速度提升 $100 \\sim 200\\times$，同时保持视频质量。  \nTurboDiffusion 主要使用 [SageAttention](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSageAttention)、[SLA（稀疏线性注意力）](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSLA) 进行注意力机制加速，并采用 [rCM（时间步蒸馏）](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Frcm) 来进一步优化。\n\n论文：[TurboDiffusion: 将视频扩散模型加速 100–200 倍](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2512.16093)\n\n**注意**：当前的模型仅在 **长英文提示词** 上进行训练。若使用其他类型的提示词，请对其进行扩充以获得更好的效果。\n\n检查点和论文尚未最终定稿，后续会持续更新以提升质量。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_cff75b7ca19d.png\" width=\"99%\"\u002F>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_cfac6466162c.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;\">原始，端到端耗时：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d9563b454add.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，端到端耗时：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_00c993916091.gif\" width=\"387\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n一个由 Wan-2.1-T2V-1.3B-480P 在单张 \u003Cb>RTX 5090\u003C\u002Fb> 上生成的 \u003Cb>5秒视频\u003C\u002Fb> 示例。\n\u003C\u002Fdiv>\n\n## 可用模型\n\n|              模型名称               |                       检查点链接                        | 最佳分辨率 |\n| :-----------------------------------: | :----------------------------------------------------------: | :-------------: |\n| `TurboWan2.2-I2V-A14B-720P` | [Huggingface 模型](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.2-I2V-A14B-720P) | 720p            |\n| `TurboWan2.1-T2V-1.3B-480P` | [Huggingface 模型](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-1.3B-480P) | 480p            |\n| `TurboWan2.1-T2V-14B-480P`  | [Huggingface 模型](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-14B-480P) | 480p            |\n| `TurboWan2.1-T2V-14B-720P`  | [Huggingface 模型](https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-14B-720P) | 720p            |\n\n\n\n注意：所有检查点均支持生成 480p 或 720p 分辨率的视频。“最佳分辨率”一栏表示该模型在该分辨率下能提供最佳的视频质量。\n\n\n## 安装\n\n**基础环境**：`python>=3.9`，`torch>=2.7.0`。建议使用 `torch==2.8.0`，因为更高版本可能导致显存不足（OOM）。\n\n通过 pip 安装 TurboDiffusion：\n\n```bash\nconda create -n turbodiffusion python=3.12\nconda activate turbodiffusion\n\npip install turbodiffusion --no-build-isolation\n```\n\n或从源码编译：\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\n若需启用 SageSLA——基于 SageAttention 的快速 SLA 前向传播——请先安装 [SpargeAttn](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSpargeAttn)：\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSpargeAttn.git --no-build-isolation\n```\n\n\n## 推理\n对于显存大于 40GB 的 GPU，**例如 H100，请使用未量化检查点（不含 `-quant`），并在命令中移除 `--quant_linear`。而对于 RTX 5090、RTX 4090 或类似显卡，请使用量化检查点（含 `-quant`），并在命令中添加 `--quant_linear`。**\n\n1. 下载 VAE（适用于 Wan2.1 和 Wan2.2）以及 umT5 文本编码器检查点：\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. 下载我们的量化模型检查点（适用于 RTX 5090 或类似显卡）：\n\n    ```bash\n    # 对于 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    # 对于 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    **或者**下载我们的未量化模型检查点（适用于 H100 或类似显卡）：\n    ```bash\n    # 对于 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    # 对于 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. 使用 **T2V** 模型的推理脚本：\n    ```bash\n    export PYTHONPATH=turbodiffusion\n    \n    # 参数说明：\n    # --dit_path            微调后的 TurboDiffusion 检查点路径\n    # --model               使用的模型：Wan2.1-1.3B 或 Wan2.1-14B（默认：Wan2.1-1.3B）\n    # --num_samples         生成视频的数量（默认：1）\n    # --num_steps           采样步数，1–4 步（默认：4）\n    # --sigma_max           rCM 的初始 sigma 值（默认：80）；数值越大（如 1600），多样性会降低，但可能提升质量\n    # --vae_path            Wan2.1 VAE 的路径（默认：checkpoints\u002FWan2.1_VAE.pth）\n    # --text_encoder_path   umT5 文本编码器的路径（默认：checkpoints\u002Fmodels_t5_umt5-xxl-enc-bf16.pth）\n    # --num_frames          生成的帧数（默认：81）\n    # --prompt              视频生成的文本提示\n    # --resolution          输出分辨率：“480p” 或 “720p”（默认：480p）\n    # --aspect_ratio        宽高比，格式为 W:H（默认：16:9）\n    # --seed                随机种子，用于结果可重复性（默认：0）\n    # --save_path           输出文件路径及扩展名（默认：output\u002Fgenerated_video.mp4）\n    # --attention_type      使用的注意力模块：原生、SLA 或 SageSLA（默认：SageSLA）\n    # --sla_topk            SLA\u002FSageSLA 注意力的 top-k 比例（默认：0.1），建议设置为 0.15 以获得更好的视频质量\n    # --quant_linear        启用线性层量化，使用量化检查点时需传递此参数\n    # --default_norm        使用 Wan 模型原有的 LayerNorm 和 RMSNorm\n\npython 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 \"一位时尚的女性走在东京的一条街道上，街道上布满了温暖明亮的霓虹灯和动态的城市广告牌。她身穿黑色皮夹克、红色长裙和黑色靴子，手提黑色手袋，戴着太阳镜和红唇膏。她步伐自信而随意。街道湿润发亮，倒映着五彩斑斓的灯光，宛如一面镜子。街上行人来来往往。\" \\\n        --num_samples 1 \\\n        --num_steps 4 \\\n        --quant_linear \\\n        --attention_type sagesla \\\n        --sla_topk 0.1\n    ```\n\n    或者用于 **I2V** 模型的脚本：\n    ```bash\n    export PYTHONPATH=turbodiffusion\n\n    # --image_path              输入图像的路径\n    # --high_noise_model_path   高噪声 TurboDiffusion 检查点的路径\n    # --low_noise_model_path    低噪声 TurboDiffusion 检查点的路径\n    # --boundary                切换高噪声模型与低噪声模型的时间步边界（默认：0.9）\n    # --model                   使用的模型：Wan2.2-A14B（默认：Wan2.2-A14B）\n    # --num_samples             生成视频的数量（默认：1）\n    # --num_steps               采样步数，1–4步（默认：4）\n    # --sigma_max               rCM 的初始 sigma 值（默认：200）；较大的值（如 1600）会降低多样性，但可能提升质量\n    # --vae_path                Wan2.2 VAE 的路径（默认：checkpoints\u002FWan2.2_VAE.pth）\n    # --text_encoder_path       umT5 文本编码器的路径（默认：checkpoints\u002Fmodels_t5_umt5-xxl-enc-bf16.pth）\n    # --num_frames              生成的帧数（默认：81）\n    # --prompt                  视频生成的文本提示\n    # --resolution              输出分辨率：“480p”或“720p”（默认：720p）\n    # --aspect_ratio            宽高比，格式为 W:H（默认：16:9）\n    # --adaptive_resolution     根据输入图像大小启用自适应分辨率\n    # --ode                     使用 ODE 进行采样（更清晰但不如 SDE 稳健）\n    # --seed                    随机种子，用于结果的可重复性（默认：0）\n    # --save_path               输出文件路径，包含扩展名（默认：output\u002Fgenerated_video.mp4）\n    # --attention_type          使用的注意力模块：original、sla 或 sagesla（默认：sagesla）\n    # --sla_topk                SLA\u002FSageSLA 注意力的 top-k 比例（默认：0.1），建议设置为 0.15 以获得更好的视频质量\n    # --quant_linear            启用线性层量化，若使用量化检查点则需传递此参数\n    # --default_norm            使用 Wan 模型原有的 LayerNorm 和 RMSNorm\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 \"第一人称自拍视角视频，极其凌乱且速度极快。一只戴着太阳镜的白猫站在冲浪板上，神情淡定，突然冲浪板猛地侧滑，猫和相机一同跌入水中；画面急剧下坠，被汹涌的气泡、旋转的湍流和模糊的水痕吞没，仿佛相机仍在下沉。阴影渐浓，压力波使画面边缘扭曲变形，松散的气泡从镜头旁飞速向上涌动，显示相机仍在继续下落。随后，猫猛然跃起，带着镜头穿过翻滚的气泡和迅速变亮的水面，阳光重新洒满四周；相机急速上升，水流从镜头上飞溅而下，最终在一阵耀眼的光芒和水花中冲出水面，画面瞬间恢复成歪斜而狂乱的自拍，猫也重新浮出水面。\" \\\n        --num_samples 1 \\\n        --num_steps 4 \\\n        --quant_linear \\\n        --attention_type sagesla \\\n        --sla_topk 0.1 \\\n        --ode\n    ```\n\n    通过终端进行的交互式推理可在 `turbodiffusion\u002Fserve\u002F` 中使用。这允许进行多轮视频生成，而无需重新加载模型。\n\n\n\n\n## 评估\n\n我们在 **单块 RTX 5090 显卡** 上对视频生成进行了评估。E2E 时间指端到端扩散生成延迟，不包括文本编码和 VAE 解码。\n\n### 万-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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_351cd8e06b31.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fdf19c8f3c24.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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_dc11ded9f4a2.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_bca4fc320579.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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_319a0e272378.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_5a150fcce35d.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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_915f5c92c43a.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_7c4623497fbd.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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3f4a03b5ab55.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fa522e0960b5.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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_c1b2de208602.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8abf388702b2.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;\">原版，端到端时间：4549秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_409e09453b1a.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，端到端时间：\u003Cb>38秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_91d65fb440e2.gif\" width=\"360\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 万-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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_354edf5efd3e.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8088c8fc4b42.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fac5493afa19.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8c2f2c7ec2db.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3574226067be.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d60b8a60151a.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_ba730d99456a.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3a3332d07929.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fea00fa3700c.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_22694e146067.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_a378db31e534.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_503d5f877aae.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_927e4bd45bc9.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_39a8fbe2dd24.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_135cf6e48cec.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d9563b454add.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3ee6849307b5.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_00c993916091.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8333b04f47b8.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_56b2a624f239.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_739fdad22721.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;\">原版，端到端时间：184秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_b1520185ca55.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，端到端时间：5.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_7a75d264198d.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，端到端时间：\u003Cb>1.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_756ad75b0e3a.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 万-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;\">原版，端到端时间：4767秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_f88d7fad1245.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，端到端时间：72.6秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_9b0a70b33c9d.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，端到端时间：\u003Cb>24秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_274324db6102.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;\">原版，端到端时间：4767秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_90964d1b6349.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，端到端时间：72.6秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_937019765a66.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，端到端时间：\u003Cb>24秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_b82ffe454d04.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;\">原版，端到端时间：4767秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_a7005d9773ee.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，端到端时间：72.6秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_d96b4287f9c5.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，端到端时间：\u003Cb>24秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_1c46342b67fa.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n### 万-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;\">原版，端到端时间：1676秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_fa73e46dd4ad.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，端到端时间：26.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_542db9db31ab.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，端到端时间：\u003Cb>9.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_60b6ac3e263e.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;\">原版，端到端时间：1676秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_3f067b53dbda.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，端到端时间：26.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_6d9ee582bb03.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，端到端时间：\u003Cb>9.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_4cec8426a8e2.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;\">原版，端到端时间：1676秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8f21cc09c57e.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，端到端时间：26.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_8576034253d6.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，端到端时间：\u003Cb>9.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_29f9a093a307.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;\">原版，端到端时间：1676秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_540d27aed99e.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，端到端时间：26.3秒\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_9b5fc454b206.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，端到端时间：\u003Cb>9.9秒\u003C\u002Fb>\u003C\u002Fdiv>\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_readme_9037c4cc6563.gif\" width=\"249\"\u002F>\u003C\u002Fdiv>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 训练\n\n在这个仓库中，我们提供了基于Wan2.1及其合成数据的训练代码。训练基于rCM代码库（https:\u002F\u002Fgithub.com\u002FNVlabs\u002Frcm），并得到了FSDP2、Ulysses CP和选择性激活检查点（SAC）等基础设施的支持。有关rCM训练的说明，请参阅原始rCM仓库；[SLA（稀疏线性注意力）](https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSLA)的训练指南则在此处提供。\n\n#### 额外安装\n对于rCM\u002FSLA训练，还需运行以下命令：\n\n```bash\npip install megatron-core hydra-core wandb webdataset\npip install --no-build-isolation transformer_engine[pytorch]\n```\n\n#### 检查点下载\n将Wan2.1预训练检查点以`.pth`格式以及VAE\u002F文本编码器下载至`assets\u002Fcheckpoints`目录：\n\n```bash\n# 确保已安装git lfs\ngit clone https:\u002F\u002Fhuggingface.co\u002Fworstcoder\u002FWan assets\u002Fcheckpoints\n```\n\nFSDP2依赖于[分布式检查点（DCP）](https:\u002F\u002Fdocs.pytorch.org\u002Ftutorials\u002Frecipes\u002Fdistributed_checkpoint_recipe.html)来加载和保存检查点。在开始训练之前，需先将`.pth`格式的教师检查点转换为`.dcp`格式：\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\n训练结束后，保存的`.dcp`检查点可以使用脚本`scripts\u002Fdcp_to_pth.py`转换回`.pth`格式。\n\n#### 数据集下载\n\n我们提供了Wan2.1-14B合成数据集。使用以下命令将其下载至`assets\u002Fdatasets`目录：\n\n```bash\n# 确保已安装git lfs\ngit clone https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fworstcoder\u002FWan_datasets assets\u002Fdatasets\n```\n\n#### 开始训练\n我们通过使启用SLA的模型预测与全注意力预训练模型的预测相一致，实现了白盒SLA训练。与原始论文中的黑盒训练不同——后者是利用扩散损失对预训练模型进行调优——白盒训练能够缓解分布偏移问题，并且对训练数据的敏感度较低。\n\n单节点训练示例：\n\n```bash\nWORKDIR=\"\u002Fpath\u002Fto\u002FTurboDiffusion\"\ncd $WORKDIR\nexport PYTHONPATH=turbodiffusion\n\n# 环境变量 \"IMAGINAIRE_OUTPUT_ROOT\" 是用于保存实验输出文件的路径\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# 您的 Wandb 信息\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\n请参考 `turbodiffusion\u002Frcm\u002Fconfigs\u002Fexperiments\u002Fsla\u002Fwan2pt1_t2v.py` 中的 14B 配置，或根据需要进行修改。\n\n#### 模型合并\n\n可以通过 `turbodiffusion\u002Fscripts\u002Fmerge_models.py` 将 SLA 训练得到的参数更新合并到 rCM 检查点中，从而使 rCM 能够执行稀疏注意力推理。请将 `--base` 指定为 rCM 模型，`--diff_base` 指定为预训练模型，`--diff_target` 指定为经过 SLA 微调的模型。\n\n## ComfyUI 集成\n\n我们感谢社区的努力 [Comfyui_turbodiffusion](https:\u002F\u002Fgithub.com\u002Fanveshane\u002FComfyui_turbodiffusion)，他们将 TurboDiffusion 集成到了 ComfyUI 中。\n\n## 路线图\n\n我们正在积极开发以下功能和改进：\n\n- [x] 整理并发布训练代码\n- [x] 优化基础设施以支持扁平化上下文并行\n- [ ] vLLM-Omni 集成\n- [ ] 支持更多视频生成模型\n- [ ] 支持自回归视频生成模型\n- [ ] 更多硬件级算子优化\n\n\n我们欢迎社区成员帮助维护和扩展 TurboDiffusion。欢迎加入 TurboDiffusion 团队，共同贡献！\n\n## 引用\n**如果您使用了本代码或认为我们的工作有价值，请引用：**\n```\n@article{zhang2025turbodiffusion,\n  title={TurboDiffusion: 加速视频扩散模型 100-200 倍},\n  author={张金涛、郑凯文、蒋凯、王浩旭、斯托伊卡、冈萨雷斯、陈建飞、朱俊},\n  journal={arXiv 预印本 arXiv:2512.16093},\n  year={2025}\n}\n\n@software{turbodiffusion2025,\n  title={TurboDiffusion: 加速视频扩散模型 100-200 倍},\n  author={TurboDiffusion 团队},\n  url={https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion},\n  year={2025}\n}\n\n@inproceedings{zhang2025sageattention,\n  title={SageAttention: 精确的 8 位注意力机制，用于即插即用的推理加速},\n  author={张金涛、魏佳、张鹏乐、朱俊、陈建飞},\n  booktitle={国际表征学习大会 (ICLR)},\n  year={2025}\n}\n\n@article{zhang2025sla,\n  title={SLA: 通过可微调的稀疏线性注意力超越扩散 Transformer 中的稀疏性},\n  author={张金涛、王浩旭、蒋凯、杨硕、郑凯文、奚浩成、王子腾、朱洪洲、赵敏、斯托伊卡等},\n  journal={arXiv 预印本 arXiv:2509.24006},\n  year={2025}\n}\n\n@article{zheng2025rcm,\n  title={基于分数正则化的连续时间一致性的大规模扩散蒸馏},\n  author={郑凯文、王宇基、马千里、陈华宇、张金涛、巴拉吉、陈建飞、刘明宇、朱俊、张钦生},\n  journal={arXiv 预印本 arXiv:2510.08431},\n  year={2025}\n}\n\n@inproceedings{zhang2024sageattention2,\n  title={Sageattention2: 高效注意力机制，具有彻底的异常值平滑处理和每线程 int4 定点量化},\n  author={张金涛、黄浩峰、张鹏乐、魏佳、朱俊、陈建飞},\n  booktitle={国际机器学习大会 (ICML)},\n  year={2025}\n}\n```","# TurboDiffusion 快速上手指南\n\nTurboDiffusion 是一个视频生成加速框架，能够在单张 RTX 5090 上将端到端扩散生成速度提升 **100~200 倍**，同时保持视频质量。它主要利用 SageAttention、SLA (Sparse-Linear Attention) 进行注意力加速，并使用 rCM 进行时间步蒸馏。\n\n> **注意**：当前模型仅在**长英文提示词**上进行了训练。若使用其他类型的提示词，建议先对其进行扩充优化以获得更佳效果。\n\n## 1. 环境准备\n\n*   **操作系统**: Linux (推荐)\n*   **Python 版本**: >= 3.9 (推荐 3.12)\n*   **PyTorch 版本**: >= 2.7.0 (推荐 `torch==2.8.0`，更高版本可能导致显存溢出 OOM)\n*   **硬件要求**:\n    *   **消费级显卡 (如 RTX 4090\u002F5090)**: 需使用量化模型 checkpoints。\n    *   **数据中心显卡 (如 H100, 显存>40GB)**: 可使用非量化模型 checkpoints。\n\n## 2. 安装步骤\n\n### 2.1 创建虚拟环境并安装基础依赖\n\n```bash\nconda create -n turbodiffusion python=3.12\nconda activate turbodiffusion\n\n# 安装 TurboDiffusion (推荐使用国内镜像源加速，如清华源)\npip install turbodiffusion --no-build-isolation -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2.2 (可选) 源码编译安装\n\n如果需要最新功能或修改代码，可从源码安装：\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 -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2.3 启用 SageSLA 加速 (推荐)\n\n为了获得最佳加速效果，建议安装基于 SageAttention 的 fast SLA 前端：\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FSpargeAttn.git --no-build-isolation\n```\n\n## 3. 基本使用\n\n### 3.1 下载必要模型文件\n\n首先创建目录并下载 VAE 和文本编码器（通用于 Wan2.1 和 Wan2.2）：\n\n```bash\nmkdir checkpoints\ncd checkpoints\n\n# 下载 VAE\nwget https:\u002F\u002Fhuggingface.co\u002FWan-AI\u002FWan2.1-T2V-1.3B\u002Fresolve\u002Fmain\u002FWan2.1_VAE.pth\n\n# 下载 umT5 文本编码器\nwget https:\u002F\u002Fhuggingface.co\u002FWan-AI\u002FWan2.1-T2V-1.3B\u002Fresolve\u002Fmain\u002Fmodels_t5_umt5-xxl-enc-bf16.pth\ncd ..\n```\n\n接着根据你的显卡类型下载对应的模型权重：\n\n*   **方案 A：RTX 4090\u002F5090 等消费级显卡 (使用量化模型)**\n    ```bash\n    # 以 Wan2.1-T2V-1.3B 为例\n    wget -P checkpoints https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-1.3B-480P\u002Fresolve\u002Fmain\u002FTurboWan2.1-T2V-1.3B-480P-quant.pth\n    ```\n\n*   **方案 B：H100 等大显存显卡 (使用非量化模型)**\n    ```bash\n    # 以 Wan2.1-T2V-1.3B 为例\n    wget -P checkpoints https:\u002F\u002Fhuggingface.co\u002FTurboDiffusion\u002FTurboWan2.1-T2V-1.3B-480P\u002Fresolve\u002Fmain\u002FTurboWan2.1-T2V-1.3B-480P.pth\n    ```\n\n### 3.2 运行文生视频 (T2V) 示例\n\n以下是在 **RTX 5090\u002F4090** 上运行 `Wan2.1-1.3B` 量化模型的命令。请确保已设置 `PYTHONPATH`。\n\n```bash\nexport PYTHONPATH=turbodiffusion\n\npython 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**关键参数说明：**\n*   `--quant_linear`: 使用量化模型时必须添加此参数。\n*   `--attention_type`: 推荐使用 `sagesla` 以获得最快推理速度。\n*   `--sla_topk`: 稀疏注意力比例，默认 0.1，推荐设为 `0.15` 以提升画质。\n*   `--num_steps`: 采样步数，范围 1-4，默认 4。\n\n### 3.3 运行图生视频 (I2V) 示例\n\n对于 I2V 任务（基于 Wan2.2），需要下载高噪声和低噪声两个 checkpoint。以下是运行示例：\n\n```bash\nexport PYTHONPATH=turbodiffusion\n\npython 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\n> **提示**：项目支持终端交互式推理 (`turbodiffusion\u002Fserve\u002F`)，可实现多轮视频生成而无需重新加载模型。","某短视频创作团队需要为电商大促快速生成大量高质量商品展示视频，以测试不同营销文案的视觉转化效果。\n\n### 没有 TurboDiffusion 时\n- **迭代周期漫长**：在单张 RTX 4090\u002F5090 显卡上生成一个 5 秒高清视频需耗时约 3 分钟（184 秒），一天仅能产出少量样本，无法应对紧急的营销节点。\n- **创意验证受阻**：由于单次生成成本过高，策划人员不敢随意尝试长篇幅或复杂的英文提示词，导致创意被局限在安全但平庸的范围内。\n- **硬件资源瓶颈**：若要并行生成多个视频进行 A\u002FB 测试，必须租用昂贵的多卡集群，大幅推高了初创团队的运营成本。\n- **反馈链路断裂**：从“构思文案”到“看到画面”的等待时间过长，打断了创作者的心流，难以根据即时效果微调视频细节。\n\n### 使用 TurboDiffusion 后\n- **实时生成体验**：借助 SageAttention 和 rCM 蒸馏技术，同一硬件环境下生成时间从 184 秒骤降至 1.9 秒，实现近乎实时的视频产出。\n- **创意自由爆发**：极速反馈让团队可以大胆使用详细的长英文提示词，快速遍历数十种分镜风格，精准锁定最佳视觉方案。\n- **单机胜任量产**：单张消费级显卡即可承担原本需要集群的任务，团队无需额外投入硬件预算，即可完成大规模视频素材制作。\n- **工作流无缝闭环**：创作者可像调整图片参数一样即时调整视频内容，实现了“修改提示词 - 即刻预览 - 再次优化”的高效闭环。\n\nTurboDiffusion 将视频扩散模型的推理速度提升了 100 至 200 倍，彻底打破了 AI 视频生成的时效壁垒，让高质量视频创作真正进入“秒级”时代。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fthu-ml_TurboDiffusion_cff75b7c.png","thu-ml","TSAIL group","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fthu-ml_852ca511.jpg","Tsinghua Statistical Artificial Intelligence & Learning Group",null,"https:\u002F\u002Fml.cs.tsinghua.edu.cn","https:\u002F\u002Fgithub.com\u002Fthu-ml",[80,84,88,92],{"name":81,"color":82,"percentage":83},"Python","#3572A5",94.4,{"name":85,"color":86,"percentage":87},"C++","#f34b7d",4.2,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0.7,{"name":93,"color":94,"percentage":91},"Cuda","#3A4E3A",3452,250,"2026-04-14T03:10:29","Apache-2.0",4,"未说明","必需 NVIDIA GPU。推荐 RTX 5090\u002F4090（需使用量化模型，显存需求较低）或 H100（需使用非量化模型，显存需 >40GB）。",{"notes":103,"python":104,"dependencies":105},"1. 显存大于 40GB 的显卡（如 H100）请使用非量化检查点并移除命令中的 '--quant_linear' 参数；RTX 5090\u002F4090 等消费级显卡请使用量化检查点并添加 '--quant_linear' 参数。2. 当前模型仅在长英文提示词上训练，其他类型提示词需增强以获得更好效果。3. 安装 SpargeAttn 以启用 SageSLA 加速功能。4. 模型检查点和论文尚未最终定稿，后续将更新以提升质量。",">=3.9 (推荐 3.12)",[106,107,108,109,110],"torch>=2.7.0 (推荐 2.8.0)","SageAttention","SLA (Sparse-Linear Attention)","rCM","SpargeAttn",[112,14,15],"视频",[114,115,116,117,118,119,120,121,122,123],"ai-infra","diffusion-models","inference-acceleration","rcm","sageattention","sparse-linear-attention","video-generation","mlsystem","consistency-model","distillation","2026-03-27T02:49:30.150509","2026-04-15T03:29:48.163901",[127,132,137,142,147,152,157,162],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},33500,"在 RTX 4090\u002F5090 等消费级显卡上运行出现 OOM（显存溢出）怎么办？","对于 RTX 5090、RTX 4090 或类似显卡，请使用量化后的检查点（文件名带 -quant），并在启动命令中添加 --quant_linear 参数。虽然可以使用 CPU offloading 避免 OOM，但这会引入 CPU-GPU 切换开销，导致推理速度变慢。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F18",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},33501,"为什么在 A800 等专业计算卡上提速效果不明显（仅约 4 倍）？","目前的推理代码未支持多卡并行加速。此外，项目中的量化和注意力加速优化（如 SpargeAttention）主要针对 RTX 4090\u002F5090 等消费级显卡架构设计，因此在 A800 等计算卡上效果不显著。官方建议不要在使用计算卡时强行使用量化模型。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F88",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},33502,"目前支持图像生成视频（i2v）模型吗？","目前团队只训练了 wan2.1 的文本生成视频（t2v）模型，尚未推出官方的 i2v TurboDiffusion 模型。现有的脚本和权重仅针对 t2v 任务，不同任务类型（如 t2v 和 i2v）之间的模型权重无法直接合并。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F60",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},33503,"是否支持 Wan2.1-FLF2V-14B 模型或与 DiffSync-Studio 训练的 LoRA 兼容？","目前 TurboDiffusion 不支持 FLF2V 模型，因为这需要额外的训练而不仅仅是修改推理代码。关于兼容性，可以尝试使用 rCM LoRA，它通常能与 ComfyUI 及其他 LoRA 兼容。若需自行修改代码以支持首尾帧控制，可参考修改 `wan2.2_i2v_infer.py` 中 `frames_to_encode` 的拼接逻辑，将末尾填充的零替换为结束帧图像张量。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F22",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},33504,"基于 Turbo 模型融合社区 LoRA 后效果异常（如人物不旋转）如何解决？","这可能是由 `adaptive_resolution` 设置引起的。建议检查数据预处理逻辑，尝试将输入图等比缩放并进行 center-crop，使其匹配训练时的 bucket size（通常为标准 720p）。此外，部分社区 LoRA 可能与 rCM 权重不完全兼容，尝试使用 SDE 采样器代替 ODE 采样器可能会提高稳定性，减少伪影。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F36",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},33505,"能否基于 LightX2V 进行训练或替代当前的 rCM 方案？","目前的稀疏注意力机制是直接合并的，并未与 rCM 强绑定。理论上可以通过相减 TurboDiffusion 权重和 rCM 权重来提取稀疏注意力 LoRA。但在测试中，LightX2V 的某些版本在动态效果和提示词遵循上并未明显优于 rCM。如果用户在非官方环境下使用，需注意效果可能无法保证，且画质因稀疏注意力可能会有所损失。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F47",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},33506,"rCM 步数蒸馏能否与基于 SLA 的稀疏化一起训练？","目前不可行。rCM 需要特殊的 JVP (Jacobian-Vector Product) kernel，暂时无法与 SLA (Sparse Linear Attention) 兼容进行联合训练。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F74",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},33507,"在 H100 GPU 上安装时报错 \"Unsupported gpu architecture 'compute_120a'\" 如何解决？","该错误通常是因为编译环境中的 CUDA 版本或 nvcc 编译器不支持 H100 的计算能力架构（compute_120a）。需要确保安装的 CUDA Toolkit 版本足够新以支持 H100，或者在编译时指定正确的 GPU 架构标志。如果使用的是预编译包，请确认其是否包含针对 H100 的构建版本。","https:\u002F\u002Fgithub.com\u002Fthu-ml\u002FTurboDiffusion\u002Fissues\u002F32",[]]