学习在高通AI 100加速器上优化Stable Diffusion
发表于 2025-07-03 09:53:20

深入了解我们如何通过将创新型DeepCache技术应用到文本生成图像任务中,从而在高通云AI 100 Ultra加速器上实现1.4倍的延迟降低。此外,将DeepCache与一种新型多设备调度技术相结合,可以将吞吐量进一步提高3倍。请继续阅读了解更多!

背景

Stable Diffusion XL(SDXL)是一种文本生成图像工作负载,可以将正向和负向文本提示作为输入,并生成与提示相对应的1024 × 1024图像作为输出。自2024年以来,该工作负载已被纳入到在业界领先的MLPerf推理基准测试套件中(有时候被称为“机器学习基准测试的奥林匹克”)。

SDXL的整体计算流水线由四个组件组成:文本编码器、文本编码器2、UNet和VAE解码器。UNet是计算最密集的部分(占执行时间的90-95%),需要分别处理正向提示和负向提示,并执行20次迭代。

多设备调度

在最初实现过程中,我们利用高通Cloud AI 100 SDK将四个组件分别编译成一个单独的二进制文件。在执行之前,将二进制文件加载到设备上。利用一种名为“模型切换”的机制,在处理单个输入示例时实现在组件二进制文件之间切换。切换速度相对较快(只有100-200毫秒),但确实增加了流水线的开销。

在比较“MLPerf推理”的“单流”和“离线”场景时,这种切换开销的影响尤为明显。在“单流”场景中,系统一次处理一个示例,因此需要在单个请求的组件之间和多个请求之间进行模型切换。在“离线”场景中,系统处理大量的样本(例如:5,000个提示),从而提供了减少频繁模型切换需求并实现更有效处理的机会。

我们进一步发现,通过编译使用4个内核并运行4个并行激活(实例),可以提高计算效率,从而使UNet的吞吐量提高50%。

为了应对这些挑战,我们开发了一种先进的调度技术,将计算分布在系统中的多个加速器设备之间。我们将少量的“主”设备用于文本编码和VAE解码,而将大量的“工作”设备用于UNet。这一简单的调整对输出没有影响,但是带来了实质性的性能改进。

让我们用具体数字进行分析。在Pro卡上,UNet处理的时间是VAE解码的20倍。考虑到这种差异,我们发现在配备8个Pro卡(8个设备)的系统中,如主节点与工作节点的比例为1:7,则会产生最佳结果。也就是说,一个主节点处理文本编码和VAE解码,而七个工作节点则专注于并行UNet执行。这种配置实现了切换开销最小化,同时实现了计算效率的最大化。

同样的原理也适用于配备Ultra卡的系统,其中UNet处理时间比VAE解码时间长26倍。在具有2张Ultra卡(8台设备)的系统上,已经证明相同的主节点与工作节点比例1:7最为有效。在拥有4张或更多Ultra卡的系统中,已经证明1:13的比例最为有效。

我们根据每个系统的具体特征定制流水线调度,从而能够在不同的硬件配置中实现最大性能。

DeepCache技术

在优化“单流”延迟的专项工作中,我们探索了DeepCache技术[1]。这是一种最新开发并且无需训练的技术,可以利用序列去噪过程中的时间冗余来加速各种扩散模型。DeepCache技术利用了在相邻去噪步骤之间的高级特征中所观察到的高度相似性。通过缓存这些缓慢变化的特征并在各个步骤中重新使用,DeepCache技术消除了冗余计算。我们发现,如果在使用一次深层迭代后再使用两次浅层迭代,则仍然可以满足有关封闭组的MLPerf推理精度约束条件。

结果

为了进行评估,我们使用了配备2张Ultra卡和8张Pro卡(所用SDK版本为v1.18.2.0)的技嘉R282-Z93服务器,与用于提交官方MLPerf推理v4.0版(所用SDK版本为v1.12.2.0)的服务器相同。

离线

附表12张高通云AI 100 Ultra卡(8台设备)上的SDXL离线

里程碑

每秒样品数量

加速

基线

0.35

1.00

多设备

0.533

1.50

DeepCache技术

0.830

2.33

多设备+DeepCache技术

1.077

3.03

附表28张高通云AI 100 Pro卡(8台设备)上的SDXL离线

里程碑

每秒样品数量

加速

基线

0.608

1.00

多设备

0.827

1.36

DeepCache技术

1.195

1.97

多设备+DeepCache技术

不适用

不适用

单流

附表31张高通云AI Ultra卡(2台设备)上的SDXL单流

里程碑

每秒样品数量

加速

基线

11,669

1.00

DeepCache技术

8,335

1.40

 

附表42张高通云AI Pro卡(2台设备)上的SDXL单流

里程碑

每秒样品数量

加速

基线

7,429

1.00

DeepCache技术

4,633

1.60

可视化工具

为了真正理解和优化我们的系统,我们开发了一种交互式可视化工具。这款基于网络的演示平台可以针对搭载了高通 Cloud AI 100加速器的系统实现节点利用率、任务分配和性能指标的实时洞察。用户可以浏览执行时间轴,观察各个节点的任务分布情况,并深入了解单个加速器的性能图表。该工具不仅展示了我们的分布式架构的效率,而且还为进一步的优化和调试提供了宝贵的帮助。

后续步骤

我们的工作代表了高通Cloud AI 100加速器在文本生成图像的性能和效率方面取得的进步。

展望未来,我们正在探索更先进的优化技术。我们正在开发一种基于编译模型运行时信息的自动调度系统,利用贪心算法动态分配任务,以实现最大效率。这种方法有望进一步推动高通Cloud AI 100加速器上SDXL推理性能的极限。

尝试使用高通AI推理套件,包括本公司的SDXL文本生成图像推理。

  

[1] 马欣尹,方功凡,王新超。“DeepCache:免费加速扩散模型。”计算机视觉与模式识别IEEE/国际计算机视觉与模式识别会议论文集。2024年。

在所发布内容中表达的观点仅为原作者的个人观点,并不代表高通技术公司或其子公司(以下简称为“高通技术公司”)的观点。所提供的内容仅供参考之用,而并不意味着高通技术公司或任何其他方的赞同或表述。本网站同样可以提供非高通技术公司网站和资源的链接或参考。高通技术公司对于可能通过本网站引用、访问、或链接的任何非高通技术公司网站或第三方资源并没有做出任何类型的任何声明、保证、或其他承诺。

高通品牌产品均为高通技术公司和/或其子公司的产品。

关于作者

纳塔拉扬·威德哈亚纳坦

阅读更多

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】