这篇来自谷歌的AI论文提出了一系列优化措施,通过在各种设备上执行大型扩散模型,共同实现了突破性的延迟指标

随着大型扩散模型在图像生成中变得更加普遍,模型大小和推理工作量已经大幅增长。由于资源限制,在移动环境中优化设备上的ML推理性能是一个微妙的平衡。由于这些模型的巨大内存需求和计算要求,特别是考虑到成本效益和用户隐私的需要,设备上运行大型扩散模型(LDM)的推理面临着更大的困难。

基础模型的快速创建和广泛使用已经彻底改变了人工智能。由于其多功能性和产生逼真图像的能力,大型扩散模型引起了很多关注。降低服务器成本、离线功能和增强用户隐私只是在用户设备上部署这些模型的优点之一。由于设备上的计算和内存资源有限,典型的大型扩散模型具有超过10亿个参数,这带来了困难。来自谷歌的研究人员提供了一组对大型扩散模型实现的修改,允许在带GPU的移动设备上获得迄今为止最快的推理延迟。这些更新改善了各种设备上的整体用户体验,并扩大了生成AI的使用范围。

由于与基于服务器的方法相比具有更低的延迟、增加的隐私和更大的可扩展性等许多优点,最近引起了很多关注的是设备上模型推理加速。在深度学习中经常使用的softmax运算的复杂性激发了优化工作,导致了几种不同的加速策略。Winograd卷积是为了通过最小化所需的乘法次数来提高卷积计算的效率,这对于图形处理单元(GPU)尤其有帮助。

Transformer设计的广泛成功和采用引发了加速注意机制的研究。Reformer使用稀疏近似来降低计算成本,而其他作品使用低秩或组合逼近技术。另一方面,FlashAttention是一种精确的注意算法,考虑硬件配置以实现更好的性能。

主要关注的是使用大规模扩散模型从书面描述中创建视觉效果的挑战。尽管这种解释侧重于所提出的改进如何与稳定扩散架构配合使用,但重要的是要注意这些优化很容易移植到其他大型扩散模型。从文本推断需要额外的条件,基于所需的文本描述来引导反向扩散过程。

LDM中噪声去除器模型广泛使用的注意块是改进的主要领域。通过在输入中赋予注意块更多的权重,该模型可以确定相关信息。注意模块可以通过多种方式进行优化;研究人员通常只使用以下两个优化中的一个,以产生最佳结果。

第一个优化称为部分融合softmax,通过将其与矩阵乘法合并来减少注意模块的softmax读取和写入的内存量。另一种调整使用一种名为FlashAttention的I/O感知精确注意方法。该方法减少了来自GPU的高带宽内存访问次数,使其成为内存带宽受限应用的理想选择。需要大量寄存器,并且他们发现该方法仅适用于SRAM的特定大小。因此,他们仅在一组特定大小的注意力矩阵的GPU子集上使用此方法。

此外,团队发现LDM中常用的层和单元的融合窗口需要比商用GPU加速的ML推理引擎当前提供的要大得多。鉴于标准融合规则的限制,他们设计了能够运行更广泛的神经算子的自定义实现。他们的注意力集中在两个子领域上:高斯误差线性单元(GELU)和组归一化层。

当对设备本身的大型模型进行ML推断时,模型文件大小限制、大量运行时内存需求和推理延迟的持续存在已被证明是重大障碍。研究人员意识到内存带宽使用是主要约束。因此,他们专注于提高内存带宽利用率,同时保持良好的ALU/内存效率比。总之,他们展示的优化使得能够在各种设备上执行大型扩散模型,并实现了创纪录的延迟值。由于这些增强功能,该模型的适用性得到了扩展,并提高了各种设备的用户体验。