StreamDiffusion
扩散模型实时推理加速框架,实现 SD-Turbo 106fps 图像生成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
扩散模型实时推理加速框架,实现 SD-Turbo 106fps 图像生成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用 Stable Diffusion 生成一张图,通常需要等待 5-30 秒——对于需要反复调整提示词、迭代几十次的创作者来说,这个等待时间会迅速累积成巨大的认知负担。而当你想要实时生成(比如接摄像头做 AI 换脸直播)时,传统 Pipeline 根本跑不动。
StreamDiffusion 要解决的就是这个问题:把扩散模型的推理速度,从「秒级」直接拉到「实时级(>30fps)」。
StreamDiffusion 由 Berkeley BAIR 实验室(Berkeley AI Research)联合 Amazon 研究团队开发,核心作者包括 Akio Kodaira、Zhijian Liu(MIT 博士、LoRA 联合作者)等多位 Diffusion 领域的一线研究者。2023 年 12 月论文发布后迅速在 GitHub 获得过万星标,成为扩散模型加速领域的标杆工作之一。
想象一下:一个短跑选手,穿上了一套专门为他量身定制的气动紧身服——StreamDiffusion 就是在扩散模型的「跑道」上,给它装上了这套装备。
StreamDiffusion 并不是换了一个更快的模型,而是在** Pipeline 层面**做了系统性的工程优化。它包含六个核心技术模块:
1. Stream Batch(流式批处理) 传统扩散模型一次处理一张图,而 StreamDiffusion 将输入队列化,通过高效的批处理最大化 GPU 利用率。相当于把单车道变成了流水线。
2. Residual CFG(残差无分类引导) 传统 CFG 需要对每个噪声步都计算一次「引导」,计算量翻倍。StreamDiffusion 提出了残差版本的 CFG,在保持生成质量的同时大幅减少冗余计算。
3. Stochastic Similarity Filter(随机相似度过滤) 这是一个智能「守门员」:当两帧图像高度相似时,跳过不必要的重新生成,直接复用上一帧结果。GPU 不再浪费时间在微调上。
4. IO Queues(输入输出队列) 将 CPU 和 GPU 的工作解耦,通过队列缓冲让两者并行运转,避免互相等待。
5. KV-Cache 预计算 对不依赖文本条件的部分(VAE、模型主干)提前计算并缓存,后续帧直接复用,省去重复计算。
6. Model Acceleration(模型加速工具) 支持加载 TinyVAE(体积缩小 5 倍)、LCM(少步数 LoRA)、SD-Turbo(单步生成)等加速模型,配合 TensorRT 推理引擎可进一步提速 2-3 倍。
实测性能(RTX 4090 + CUDA 11.8):
| 模型 | 去噪步数 | Txt2Img fps | Img2Img fps |
|---|---|---|---|
| SD-Turbo | 1 | 106.16 | 93.90 |
| LCM-LoRA + KohakuV2 | 4 | 38.02 | 37.13 |
也就是说,SD-Turbo 模式下 StreamDiffusion 每秒能生成近 100 张图——已经接近实时视频的帧率。

图1:实时 Txt2Img 演示,提示词实时输入,图像即时生成

图2:实时 Img2Img 演示,接入摄像头实现实时风格迁移
StreamDiffusion 的设计哲学是**「Pipeline 层面的端到端优化」**,而不是单独优化某个模块。关键创新在于:传统 Pipeline 是「串行」的,每一步都依赖前一步完成。StreamDiffusion 通过 IO 队列让「用户输入 → 模型推理 → 图像输出」形成流水线,各环节并行运转,GPU 始终满载。
代码结构上,核心实现在 src/streamdiffusion/ 目录,使用 PyTorch + Diffusers 库,与现有 Stable Diffusion 生态完全兼容——只需几行代码就能将普通 Pipeline 包装成实时版本。
门槛说明:
两种安装方式:
pip install git+https://github.com/cumulo-autumn/StreamDiffusion.git@main#egg=streamdiffusion[tensorrt]
python -m streamdiffusion.tools.install-tensorrt
git clone https://github.com/cumulo-autumn/StreamDiffusion.git
cd StreamDiffusion
docker build -t stream-diffusion:latest -f Dockerfile .
docker run --gpus all -it -v $(pwd):/home/ubuntu/streamdiffusion stream-diffusion:latest
Docker 镜像内置了 CUDA 11.8 + TensorRT,开箱即用。
运行 Demo:
demo/realtime-txt2img/(浏览器交互)demo/realtime-img2img/(接摄像头或屏幕捕捉)StreamDiffusion 的出现,标志着扩散模型从「静态图生成」向「实时交互」演进的趋势已经明确。在此之前,T2V(如 Runway Gen-2)和 Live2D 等方向已在视频生成领域探索实时化;StreamDiffusion 则证明了图片生成同样可以实时化,且实现路径更加直接。
它的技术思路——Pipeline 级系统优化而非仅靠模型压缩——对整个 Diffusion 加速领域具有方法论层面的借鉴意义。随着 TensorRT-LM、vLLM 等推理引擎的成熟,「 Diffusion 模型实时化」将成为 AI 应用的下一个基础设施方向。