阅读论文1_b

DistriFusion: Distributed Parallel Inference for High-Resolution Diffusion Models

上一篇进行论文的摘要解析,现在读introduction、Related Work和Background


Introduction

对这部分的内容进行解析、学习(对一个想找方向、找创新点的人来说这两部分完全可以不看,只看方法部分,但我第一篇论文,就洗品一下)
共5段内容

第一段:扩散模型经过各种开放网络数据的训练,可以仅凭文本描述生成逼真的图像。
但是主要面临的问题生成高分辨率图像的延迟增加对实时应用构成了巨大障碍。
第二段:加速扩散模型推理的努力主要集中在两种方法上:减少采样步骤优化神经网络推理。在自然语言处理 (NLP) 中,大型语言模型已成功利用跨 GPU 的张量并行性,显著降低了延迟。然而,对于扩散模型,多个 GPU 通常仅用于批量推理。生成单个图像时,通常只涉及一个 GPU。由于激活尺寸较大,张量并行性等技术不太适合扩散模型,因为通信成本超过了分布式计算的节省。因此,即使有多个 GPU 可用,也无法有效利用它们来进一步加速单幅图像生成。
这段话的意思是扩散模型中一个gpu负责生成一个图像,并不会生成一个图像利用多个gpu,多个gpu负责批量推理,感觉像流水线操作
引出该方法的动机:这促使开发一种可以利用多个 GPU 来加速扩散模型的单幅图像生成的方法。


第三段:
一种简单的方法是将图像分成几个块,将每个块分配给不同的设备进行生成,这种方法允许跨设备进行独立和并行操作。 然而,由于各个块之间缺乏交互,因此每个块的边界处都有明显的接缝。然而,引入块之间的交互来解决这个问题又会产生过多的同步成本,从而抵消并行处理的好处。
介绍能利用多个 GPU 来加速扩散模型的单幅图像生成的简单方法,但它存在一个通信开销问题,同步问题

第四段:
在本研究中,我们提出了 DistriFusion,这种方法能够在多个设备上并行运行扩散模型,以减少单样本生成的延迟,而不会损害图像质量。我们的方法也是基于块并行,将图像划分为多个块,每个块分配给不同的设备。我们的主要观察结果是,扩散模型中相邻去噪步骤的输入相似(没懂)。因此,我们仅在第一步采用同步通信。对于后续步骤,我们重用上一步中预先计算的激活,为当前步骤提供全局上下文和块交互。我们进一步共同设计了一个推理框架来实现我们的算法。具体而言,我们的框架通过异步通信有效地隐藏了计算中的通信开销。它还在分配的区域上稀疏地运行卷积层和注意层,从而按比例减少每个设备的计算。我们的方法不同于数据、张量或管道并行,引入了一种新的并行化机会:位移块并行。
*提出了一个新方法,介绍本文的方法,目的就是为了**在多个设备上更好的并行运行扩散模型。*该方法基于块并行,又利用其他技术(没懂,方法部分应该会详细介绍),完成一个新的并行,叫做块位移并行

第五段:
DistriFusion 仅需要现成的预训练扩散模型,适用于大多数少步采样器。我们在 COCO Captions 的子集 [5] 上对其进行了基准测试。 在不损失视觉保真度的情况下,它反映了原始稳定扩散 XL (SDXL) [43] 的性能,同时根据使用的设备数量按比例减少了计算量*。此外,我们的框架还分别使用 2、4 和 8 个 A100 GPU 将 SDXL U-Net 生成单个图像的延迟降低了 1.8 倍、3.4 倍和 6.1 倍。当与无分类器指导的批量分割相结合时 [12],我们分别使用 4 和 8 个 A100 GPU 对 3840 × 3840 图像实现了总共 3.6 倍和 6.6 倍的加速。有关我们方法的一些示例,请参见图 1。
展示实验结果和实验一些配置


Related Work

该部分主要分为三个部分进行介绍

Diffusion models

扩散模型极大地改变了内容生成的格局 [2, 13, 39, 43]。 这些模型的核心是通过迭代去噪过程合成内容。虽然这种迭代方法为内容生成提供了前所未有的能力,但它需要更多的计算资源,并导致生成速度变慢。这个问题在高维数据(如高分辨率 [9, 14] 或 360◦ 图像 [71])的合成中更加严重。研究人员已经研究了加速扩散模型的各种观点。第一条路线是设计更高效的去噪过程。Rombach 等人 [51] 和 V ahdat 等人 [62] 建议将高分辨率图像压缩为低分辨率潜在表示,并在潜在空间中学习扩散模型。另一条路线是通过设计高效的免训练采样算法来改进采样。沿着这条思路,一大类研究建立在扩散模型和微分方程之间的联系之上 [59],并利用成熟的指数积分器 [32, 69, 70] 来减少采样步骤,同时保持数值精度。第三种策略是从预先训练的扩散模型中提取更快的生成模型。 尽管在这一领域取得了重大进展,但这些加速生成器和扩散模型之间仍然存在质量差距 [19, 34, 54]。除了上述方案外,一些研究还研究了如何优化扩散模型的神经推理 [23, 25, 26]。在这项工作中,我们探索了一种通过利用多台设备上的神经网络并行性来加速扩散的新范式。
扩散模型核心是通过迭代去噪过程合成内容,但这种迭代需要非常大的计算开销,,产生高维数据带来的计算开销更大。


这段内容基本读不懂,想办法搞明白以下几个问题有助于理解

1、什么是去噪过程
2、什么是潜在空间学习扩散模型
3、什么是免训练采样算法
4、采样步骤到底说的是什么

Parallelism

现有研究已探索了各种并行策略来加速大型语言模型 (LLM) 的训练和推理,包括数据、管道 [15、27、36]、张量 [17、37、67、68、74] 和零冗余并行 [44、47、48、73]。特别是张量并行已被广泛用于加速 LLM [28],LLM 的特点是模型规模大,而激活规模相对较小。在这种情况下,张量并行引入的通信开销与增加内存带宽带来的巨大延迟优势相比相对较小。然而,扩散模型的情况有所不同,扩散模型通常比 LLM 小,但由于空间维度较大,通常会因激活规模过大而成为瓶颈,尤其是在生成高分辨率内容时。张量并行的通信开销成为一个重要因素,掩盖了实际计算时间。因此,到目前为止,只有数据并行性被用于扩散模型服务,这并没有提供任何延迟改进。唯一的例外是 ParaDiGMS [56],它使用 Picard 迭代并行运行多个步骤。然而,这个采样器往往会浪费大量计算,生成的结果与原始扩散模型有显著偏差。我们的方法基于补丁并行性,它通过将输入分成小补丁来将计算分布在多个设备上。与张量并行性相比,这种方案具有更高的独立性,减少了通信需求。此外,它更倾向于使用 AllGather 而不是 AllReduce 进行数据交互,从而显著降低开销(有关完整比较,请参阅第 5.3 节)。从并行计算中异步通信的成功中汲取灵感 [63],我们进一步重用上一步中的特征作为当前步骤的上下文,以重叠通信和计算,称为位移补丁并行性。这是第一个针对扩散模型的顺序特征量身定制的并行策略,同时避免了传统技术(如张量并行性)的高通信成本
现在已经有各种并行策略来加速模型训练,有听过的,有没听过的。本方法主要引用张量并行技术。扩散模型不同于大模型,扩散模型的空间维度大。现在只有数据并行性用于扩散模型,但对延迟问题没解决

1、激活规模小中什么是激活规模
2、什么是空间维度
3、什么是补丁并行
	比张量并行具有更大的独立性,减少通信开销
4、all-gather通信和all-reduce通信
5、怎么实现关于并行计算的异步通信

Sparse computation 稀疏计算

稀疏计算已在各个领域得到广泛研究,包括权重 [10, 16, 21, 31]、输入 [50, 60, 61] 和激活 [7, 18, 23, 24, 40, 49, 49, 55]。在激活域中,为了促进硬件加速,一些研究建议使用结构化稀疏性。SBNet [49] 使用空间掩码来稀疏激活以加速 3D 物体检测。此掩码可以从先前的问题知识或辅助网络中得出。在图像生成的背景下,SIGE [23] 利用用户编辑的高度结构化稀疏性,选择性地在编辑区域执行计算以加速 GAN [8] 和扩散模型。MCUNetV2[29] 采用基于块的推理来减少图像分类和检测的内存使用量。在我们的工作中,我们还将输入划分为多个块,每个块由不同的设备处理。 但是,我们专注于通过并行化来减少图像生成的延迟。每个设备将单独处理分配的区域以减少每个设备的计算量。
不太懂

Background

为了生成高质量的图像,扩散模型通常训练噪声预测神经模型(例如,U-Net [52]) ϵθ。从纯高斯噪声xT ~ N (0, I)开始,经过数十到数百个迭代去噪步骤,得到最终的干净图像x0,其中T为总步数。具体来说,给定时间步长为t的噪声图像xt,模型ϵθ将xt, t和附加条件c(例如,文本)作为输入,以预测xt中相应的噪声ϵt(右边的公式生成,通过三个变量,得到预测的噪音)。在每个去噪步骤中,**xt−1(这是去噪过程,x0代表没有噪音,变成干净的图像,就是成为完美,高质量的图像)**可由下式导出:
在这里插入图片描述
这里的“Update”指的是特定于采样器的函数,它通常包括元素的加法和乘法。

因此,此过程中延迟的主要来源是前向传递模型ϵθ(这个是模型名称)。例如,Stable Diffusion XL[43]每步需要6763 gmac来生成1024 × 1024的图像。随着分辨率的增加,这种计算需求会以超过二次的速度增长,这使得生成单个高分辨率图像的延迟对于实际应用程序来说高得不切实际。此外,考虑到xt−1依赖于xt, ϵt和ϵt−1的并行计算是具有挑战性的。因此,即使有多个空闲gpu,加速生成单个高分辨率图像仍然很棘手。最近,Shih等人引入了paradigm[56],采用Picard迭代以数据并行的方式并行化去噪步骤。然而,paradigm将计算浪费在无法达到质量阈值的推测上。它还依赖于大的总步数T来利用多gpu数据并行性,限制了其潜在的应用。另一种传统方法是在多个设备上对模型进行分片,并使用张量并行性进行推理。然而,这种方法有难以忍受的通信成本,使得它不适合实际应用。除了这两种方案之外,是否有其他策略可以跨多个GPU设备分配工作负载,以便单图像生成也可以享受来自多个设备的免费午餐加速?
扩散模型的核心是通过对噪音操作来实现,对一个模型如bert加了噪音、解噪,就可以说是基于bert的扩散模型;扩散模型的延迟主要来自前向传播,由于xt−1依赖于xt,所以利用并行加速单个图像有难度。paradigm方法利用数据并行,缺点计算开销有点多,依赖整体T;传统的方法,利用模型并行+张量并行,实现了加速,缺点通信开销很大。

1.什么是预测神经模型
2.Stable Diffusion XL[43]每步需要6763 gmac来生成1024 × 1024的图像,gmac什么意思
3.什么是paradigm?采用Picard迭代以数据并行的方式并行化去噪步骤?什么是质量阈值?

总结

写的整体格式是 对论文相对位置的翻译,斜体是自己的理解部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值