Diffusion+生成式模型在GPU上的高效部署-17页_1mb
报告摘要
Stable Diffusion推理优化分析与总结
技术背景
- Generative模型面临多样性、效率与质量的三元悖论。
- 将Diffusion模型与GANs结合构建DiffusionGANs,通过简单正向扩散逐步将数据映射到噪声,并通过反向去噪将噪声映射回数据。
- 针对Stable Diffusion推理流程进行优化,包括使用CLIP文本编码、U-Net去噪网络、VAE解码器三个主要模型。
Stable Diffusion 推理流程
- ** CLIP文本编码**:将输入文本转为77个token的768维嵌入向量。
- ** U-Net去噪网络**:
- 输入:文本嵌入 + 噪声张量 + 时间步长
- 输出:处理后的信息张量
- 包含LayerNorm/MHA/FeedForward等复杂层,需大量浮点操作(约83.976万亿次FP16)。
- ** VAE解码器**:将处理后的低维张量还原为高分辨率图像(512x512)。
TensorRT优化策略
Myelin插件应用
- 注意力机制优化
- 转换MHA/MHCA为Fused版本
- 合并重复的Swish操作
- 消除冗余的Cast操作
LayerNorm处理
- 将LayerNorm替换为原始插件,而非Myelin处理
- 使用GroupNorm插件进行并行计算优化
其他低级优化
- SplitGeLU + SeqLen2Spatial插件融合
- 常见算子融合:biasadd+residualadd+reshape+transpose模式
- Myelin与原生TensorRT编译器策略兼容
性能测试结果
UNet模型优化效果
| 优化层级 | 执行时间(ms) |
|---|---|
| OOTB基准 | 2288.14 |
| RemoveCast + RemoveInstanceNorm | 1282.32 |
| +fMHA + fMHCA | 1047.26 |
| +LayerNorm | 979.72 |
| +GroupNorm | 874.51 |
| +SplitGeLU + Seq2Spatial | 856.47 |
| +完整图优化 | 805.97 |
| +Preview Feature 0805插件 | 792.26 |
其他组件优化
| 组件 | 最小时间(ms) | 响应项 |
|---|---|---|
| CLIP | ~3 | OOTB |
| VA | ~20 | OOTB |
| Pipeline | 4651 | 8层插件 |
结论与备注
- 优化路径支持动态形状,最高支持1024x1024图生
- 优化主要由NVIDIA中国团队与NVIDIA核心开发人员合作完成
- 针对A100/A30/T4等多种GPU的性能数据均显著提升
- 早期版本存在动态形状支持限制,当前版本持续优化更新
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载