DistriFusion:可以在多个 GPU 之间处理来加速图像生成
实现了在八个NVIDIA A100 GPU上比单个GPU 生成速度快6.1倍。且不会降低图像质量。
论文简介:
提出了一种名为DistriFusion的新方法。该方法通过在多个GPU之间实现并行处理来加速图像生成。具体来说,我们将输入的图像分割成多个小块,每块分配给一个GPU处理。
不过,简单地这样做会导致不同块之间缺乏有效交互,影响图像的整体质量。而想要增加这些块之间的交互,又会带来巨大的通信负担。
为了解决这个矛盾,我们发现相邻扩散步骤中输入数据的高度相似,于是提出了一种“移位块并行机制”。这种机制利用了扩散过程的连续特性,通过重用上一步计算好的特征图为当前步骤提供背景信息。
因此,我们的方法能够支持异步通信,并且能够与计算过程并行运行。通过广泛的实验,我们证明了这种方法可以应用于最新的Stable Diffusion XL模型,而且不会降低图像质量,并且在八个NVIDIA A100 GPU上比单个GPU快达6.1倍。