Home

Awesome

天池 NVIDIA TensorRT Hackathon 2023 —— 生成式AI模型优化赛

初赛 第三名 比赛方案

美迪康-北航AI Lab

大赛介绍

TensorRT 作为 NVIDIA 英伟达 GPU 上的 AI 推理加速库,在业界得到了广泛应用与部署。与此同时,TensorRT 开发团队也在持续提高产品的好用性:一方面让更多模型能顺利通过 ONNX 自动解析得到加速,另一方面对常见模型结构(如 MHA)的计算进行深度优化。这使得大部分模型不用经过手工优化,就能在 TensorRT 上跑起来,而且性能优秀。

过去的一年,是生成式 AI(或称“AI生成内容”) 井喷的一年。大量的图像和文本被计算机批量生产出来,有的甚至能媲美专业创作者的画工与文采。可以期待,未来会有更多的生成式AI模型大放异彩。在本届比赛中,我们选择生成式AI模型作为本次大赛的主题。

今年的 TensorRT Hackathon 是本系列的第三届比赛。跟往届一样,我们希望借助比赛的形式,提高选手开发 TensorRT 应用的能力,因此重视选手的学习过程以及选手与 NVIDIA 英伟达专家之间的沟通交流。我们期待选手们经过这场比赛,在 TensorRT 编程相关的知识和技能上有所收获。

初赛补充说明

比赛使用的Trick

使用的Trick分数时间
CLIP(Pytorch FP32)+VAE(FP16)+ControlNet(FP16)+UNet(FP16)4883.30852023-08-03 10:20:25
CLIP(TensorRT FP32)+VAE(FP16+后处理 BS=2)+ControlNet(FP16 BS=2)+UNet(FP16 BS=2) No CudaGraph5156.86502023-08-04 01:06:32
CLIP(TensorRT FP32)+VAE(FP16+后处理 BS=2)+Combine (FP16 BS=2) + DDIM PostNet(FP32) Add CudaGraph + GrroupNorm Plugin5434.82832023-08-05 17:52:20
CLIP(TensorRT FP16)+VAE(FP16+后处理 BS=2)+Combine (FP16 BS=2) + DDIM PostNet(FP32) Add CudaGraph<br />DDIM PostNet No CudaGraph + GroupNorm Plugin5570.28502023-08-05 20:50:43
CLIP(TensorRT FP16)+VAE(FP16+后处理 BS=2)+Combine (FP16 BS=2) + DDIM PostNet(FP32) Add CudaGraph<br />DDIM PostNet No CudaGraph + GroupNorm Plugin + step=106892.16752023-08-08 00:15:29
CLIP(TensorRT FP16)+VAE(FP16+后处理 BS=2)+Combine (FP16 BS=2) + DDIM PostNet(FP32) Add CudaGraph<br />DDIM PostNet No CudaGraph + GroupNorm Plugin + step=10 + 代码逻辑优化7149.96672023-08-10 07:41:51
CLIP(TensorRT FP16)+VAE(FP16+后处理 BS=2)+Combine (FP16 BS=2) + DDIM PostNet(FP32) Add CudaGraph<br />DDIM PostNet No CudaGraph + GroupNorm Plugin + step=9 + 代码逻辑优化7412.11612023-08-11 06:47:07

最终初赛排名第三:

比赛过程中的无用的尝试

Plugin对Latency无用的尝试:

代码上的尝试:

TensorRT 8.6将SD中的一些优化Trick集成到了内部,留给开发者的优化远没有TensorRT8.5要多。

Demo