一、基础概念区分
- UNet:经典扩散模型降噪主干(Stable Diffusion 初代图像生成核心),编码器下采样提取特征、解码器上采样还原图像,跳跃连接保留细节;属于CNN 卷积型扩散主干GitCode。
- DiT(Diffusion Transformer):Transformer 架构扩散主干,现在主流文生图 / 视频模型(FLUX、Wan、Qwen-Image)使用,vLLM-Omni 优先优化 DiT。
- vLLM-Omni:vLLM 官方扩展,新增DiffusionEngine,同时兼容 UNet、DiT 两类扩散主干,负责图像 / 视频 / 音频生成推理,与处理文本 LLM 的 AR 引擎并行运行vLLM。

vLLM-Omni整体架构
二、UNet 在 vLLM-Omni 中的定位
1. 所属模块
UNet 完全由 DiffusionEngine 承载,不经过 AR LLM 引擎:
- AR 引擎:文本、多模态理解、对话(PagedAttention、KV 缓存优化)
- Diffusion 引擎:UNet / DiT + Scheduler + VAE,负责图像降噪生成
- OmniConnector:跨引擎传输嵌入(LLM 文本特征传给 UNet 做文生图)GitCode
2. 支持场景
所有基于 UNet 的经典 SD 系列模型:
- Stable Diffusion 1.4/1.5/2.1、SDXL UNet、SDXL Turbo
- 图生图、局部重绘、ControlNet(ControlNet 底层依赖 UNet)
- 小分辨率音频扩散模型(音频 UNet)
三、vLLM-Omni 对 UNet 的核心优化(DiffusionEngine)
1. 分层并行拆分 UNet 计算
原生 UNet 分为下采样块、中间层、上采样块;vLLM-Omni 将多层 UNet 块并行调度,多 batch 请求分层批处理,GPU 利用率从 28% 提升至 85%GitCode。
2. 块级 CPU 内存卸载(Layerwise Offloading)
超大 UNet/SDXL UNet 显存不足时,仅单块 UNet 常驻 GPU,其余块预取至显存、计算后释放,解决大分辨率爆显存问题vLLM。
3. 批量降噪调度优化
传统逐图串行跑扩散步;DiffusionEngine 统一管理 timestep 调度、CFG 并行,多请求共享文本编码器嵌入,大幅提升吞吐量。
4. 量化支持
UNet 原生支持 FP8 / W4A16 / MXFP4 量化,兼容 NVIDIA Blackwell、AMD ROCm、Intel XPU 硬件后端NewRelease…。
5. 多阶段流水线联动
完整文生图链路:
文本输入 → AR LLM/CLIP编码器 → OmniConnector传递prompt embedding → DiffusionEngine(UNet+Scheduler+VAE) → 输出图像
各阶段流水线并行,不用串行等待上一阶段完全结束。

vLLM-Omni多模态数据流
四、UNet vs DiT 在 vLLM-Omni 的取舍
表格
| 维度 | UNet(CNN) | DiT(Transformer) |
|---|---|---|
| 代表模型 | SD1.5/SD2.1/SDXL | FLUX、Wan2.2、Qwen-Image、视频模型 |
| 计算特性 | 卷积密集、显存占用低、老显卡友好 | 全局注意力、高画质、高算力消耗 |
| vLLM-Omni 优化优先级 | 兼容维护,基础加速 | 深度专项优化,MoE 专家并行支持 |
| 适用场景 | 老 SD 模型、ControlNet、低显存部署 | 高清图、长视频、多模态原生生成 |
五、UNet 启动部署示例(vLLM-Omni)
1. 服务启动(OpenAI 兼容 API,加载 SD UNet)
bash
运行
# 启用--omni开启扩散引擎,自动识别UNet主干
vllm serve stabilityai/stable-diffusion-xl-base-1.0 \
--omni \
--diffusion-model-type unet \
--tensor-parallel-size 1 \
--quantization fp8
2. 离线推理代码片段
python
运行
from vllm_omni import OmniEngine
engine = OmniEngine(
model="runwayml/stable-diffusion-v1-5",
enable_diffusion=True,
diffusion_backend="unet"
)
output = engine.generate(
prompt="a cat sitting on grass",
modality="text2img",
num_inference_steps=20
)
六、常见问题
- vLLM-Omni 默认优先 DiT 还是 UNet? 自动识别模型权重结构:SD 系列自动加载 UNet;FLUX/Wan 自动启用 DiT。可通过
--diffusion-model-type unet/dit强制指定。 - UNet 可以和 LLM 多模态模型联合部署吗? 可以。通过 OmniStage 拆分双阶段:Stage1 AR LLM 理解、Stage2 Diffusion UNet 绘图,共享 GPU 资源调度。
- ControlNet 搭配 UNet 支持吗? 完全支持,DiffusionEngine 内置 ControlNet 分支并行计算,适配 SD UNet 全套控制方案。
- UNet 视频生成支持? 原生 2D UNet 仅图像;视频使用 3D UNet 或 Wan DiT,vLLM-Omni 对 3D UNet 做时序维度并行加速。
正文完
可以使用微信扫码关注公众号(ID:xzluomor)