CN116863012A - 基于扩散模型的文图生成任务推理加速方法和系统 - Google Patents
基于扩散模型的文图生成任务推理加速方法和系统 Download PDFInfo
- Publication number
- CN116863012A CN116863012A CN202310598298.XA CN202310598298A CN116863012A CN 116863012 A CN116863012 A CN 116863012A CN 202310598298 A CN202310598298 A CN 202310598298A CN 116863012 A CN116863012 A CN 116863012A
- Authority
- CN
- China
- Prior art keywords
- steps
- hidden
- error
- variable
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 151
- 238000009792 diffusion process Methods 0.000 title claims abstract description 76
- 230000001133 acceleration Effects 0.000 title claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 67
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000010845 search algorithm Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000000354 decomposition reaction Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 6
- 238000012549 training Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000002441 reversible effect Effects 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000010422 painting Methods 0.000 description 2
- 239000000049 pigment Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000282421 Canidae Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种基于扩散模型的文图生成任务推理加速方法和系统。该方法包括:运行完整生成过程以采集中间变量;从完整过程中选择n个步骤,并且在这n个步骤的迭代计算中:将在前隐变量与所述输出中间变量的线性组合作为当前步骤获取的隐变量的估计值;通过最小化所述估计值与对应隐中间变量的均分误差求取所述线性组合中的系数;以及基于求取的系数,生成作为所述文图生成任务的推理结果的图像。本发明通过分析完整生成过程,将调度器的设计问题转化成若干参数的确定,并进一步将加速的生成过程转化成线性子空间的张成过程,由此通过重构短步数的近似过程,将成百上千步的迭代减少到几十步,甚至几步,在显著提升效率的同时,保证生成效果。
Description
技术领域
本公开涉及深度学习领域,尤其涉及一种基于扩散模型的文图生成任务推理加速方法和系统。
背景技术
文图生成任务是指给定一段文本内容,使用计算机程序生成符合文本内容描述的图像。近年来随着扩散模型(Diffusion Model)相关研究的发展,文图生成的研究取得了重大进展,本领域领先的模型通过大规模的预训练,已经能够生成媲美人类画师的精美图像。然而,扩散模型在大幅度提升了生成图像质量的同时,由于需要调用模型迭代式地进行多次前向推理,才能生成足够清晰的图像,这带来了严重的计算效率问题。
为此,需要一种能够加速扩散模型推理,从而加速文图生成任务完成的方法。
发明内容
本公开要解决的一个技术问题是提供一种基于扩散模型的文图生成任务推理加速方法和系统,该方法通过分析完整生成过程,将调度器的设计问题转化成若干参数的确定,并进一步将加速的生成过程转化成线性子空间的张成过程,由此通过重构短步数的近似过程,将成百上千步的迭代减少到几十步,甚至几步,在显著提升效率的同时,保证生成效果。该方法极其轻量化且具有适应性,通过几分钟的训练即可适配到一个扩散模型中,带来效率的显著提升。
根据本公开的第一个方面,提供了一种基于扩散模型的文图生成任务推理加速方法,包括:运行完整生成过程的T个步骤,以采集从所述扩展模型获取的中间变量,其中,所述中间变量包括一组隐中间变量和一组输出中间变量;从所述T个步骤中选择n个步骤,其中,n<T(可选地,n<<T);在所述n个步骤的迭代计算中:将在前隐变量与所述输出中间变量的线性组合,作为当前步骤获取的隐变量的估计值;通过最小化所述估计值与对应隐中间变量的均分误差,求取所述线性组合中的系数;以及基于求取的系数,生成作为所述文图生成任务的推理结果的图像。
可选地,将在前隐变量与所述输出中间变量的线性组合,作为当前步骤获取的隐变量的估计值包括:将最终隐变量与所述当前步骤之前的输出中间变量的线性组合作为所述当前步骤获取的隐变量的估计值。
可选地,采集的所述中间变量包括与所述n个步骤相对应的一组隐中间变量和一组输出中间变量。
可选地,通过最小化所述估计值与对应隐中间变量的均分误差,求取所述线性组合中的参数包括:使用正交三角分解法求解最小二乘问题,以最小化所述估计值与对应隐中间变量的均分误差。
可选地,以均匀间隔从所述T个步骤中选择所述n个步骤。
可选地,通过优化路径搜索从所述T个步骤中选择所述n个步骤。其中,通过优化路径搜索从所述T个步骤中选择所述n个步骤可以包括:以所述n个步骤中的每一步的误差不超过误差阈值且每一步的误差逐步降低为优化目标,进行所述优化路径搜索。其中,以所述n个步骤中的每一步的误差不超过误差阈值且每一步的误差逐步降低为优化目标来进行所述优化路径搜索可以包括:基于第一二分搜索算法获取所述优化路径。其中,通过优化路径搜索从所述T个步骤中选择所述n个步骤还可以包括:基于第二二分搜索算法,计算路径存在时的所述误差阈值的最小值。
根据本公开的第二个方面,提供了一种基于扩散模型的文图生成任务推理加速系统,包括:存储节点,用于存储经训练的扩散模型;以及图像生成节点,用于加载所述经训练的扩散模型;获取来自用户的文本输入;使用如第一方面所述的方法,生成作为所述文图生成任务的推理结果的图像;以及将所述图像作为推理结果返回给对应用户。
根据本公开的第三个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。
根据本公开的第四个方面,提供了一种计算机程序产品,包括可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述第一方面所述的方法。
根据本公开的第五个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。
由此,在本公开中,首先提出了一种基于调度器的扩散模型生成过程的详细理论和实证分析。将调度器的设计问题转化成若干参数的确定,并进一步将加速的生成过程转化成线性子空间的张成过程。基于这些分析,本公开提出了一种基于扩散模型的文图生成任务推理加速方案,通过在隐变量张成的线性子空间中搜索完整生成过程的最佳近似过程来对生成过程进行加速。本公开的加速方案能够以极少的步骤生成高质量图像。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了物理学中扩散过程的示意。
图2示出了前向链添加噪声和反向链生成图像的示意图。
图3示出了记录了完整生成过程的隐变量相关系数热图。
图4示出了利用在前隐变量生成当前隐变量的三种方法。
图5示出了基于扩散模型的文图生成任务推理加速方法的示意性流程图。
图6示出了根据本发明一个实施例的n个步骤迭代计算的具体操作例。
图7示出了使用本发明的推理加速方法和现有模型基于输入的文本提示生成图像的例子。
图8示出了根据本发明一个实施例的基于扩散模型的文图生成任务推理加速系统的组成示意图。
图9示出了根据本发明一实施例可用于实现上述基于扩散模型的文图生成任务推理加速方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
近年来,扩散模型在图像生成领域大放异彩,基于从互联网上获取的大量图像和文本数据,通过大规模的训练,扩散模型已经能够根据给定的文本内容生成与之相关的清晰图像,甚至达到了能够媲美人类画师的水准,扩散模型的出现开启了图像生成的新时代。
然而,扩散模型目前面临着极其严重的计算效率问题,与基于生成对抗网络(GAN)的方法不同,扩散模型在生成图像时需要调用模型多次进行前向推理,这种迭代式的生成过程保证了图像的质量,但也是其计算效率低下的根源。为了解决扩散模型的计算效率问题,业界相关研究相继被提出,包括通过蒸馏减少推理步数和基于数学理论设计调度器(scheduler)控制生成过程等两大类。通过蒸馏减少步数的方法虽然生成效果能够得到保证,但需要额外的训练,易用性大打折扣,在多数应用场景下需要计算资源才能完成训练,不适合大规模推广;利用调度器控制生成过程从而减少推理步数的方法,虽然不需要额外的训练,但由于无法根据具体模型做出适应性的调整,使得生成效果不佳。另外,虽然调度器能够在无需训练的情况下降低步数,但在使用小步数时会引入新的噪声,因此仍然面临着计算效率与生成质量的权衡问题。
基于相关的研究工作,本公开聚焦于设计一种仅需要极少时间用于学习的适应性调度器。但为了方便理解,首先将对扩散模型的生成过程进行理论分析。使用给定的步数,大多数现有的调度器在由在前样本和模型输出张成的线性子空间中生成下一样本,因此生成过程本质上是线性子空间的张成过程。另外,本发明实施例还分析了图像生成时中间变量的相关性,并且观察到模型输出在每一步上都包含冗余的重复信息。因此,具备通过减少步数来避免冗余计算的基础。基于如上分析,本公开使用可训练参数替换了迭代公式中的系数以控制线性子空间的张成,并且使用简单最小二乘法来求解这些参数。本公开还可以利用路径优化算法,通过调整实际采用的步(steps)来进一步改进性能。路径优化和参数求解可以在几分钟内完成,因此易于训练和部署。
由此,本发明提出了一个新的轻量适应性调度器,即OLSS(Optimal LinearSubspace Search,优化线性子空间搜索),该方法对完整生成过程进行分析,在每一步隐空间的中间变量张成的线性子空间中进行搜索,重构完整生成过程的近似过程,大幅度降低了步数,进而提升计算效率。
为了方便对本公开原理的理解,首先对扩散模型的相关知识进行介绍,并总结调度器设计中的中心问题。随后,将对通用扩散模型的生成过程进行实证分析。最后,将基于现有的工作,提出本公开所设计的调度器。
1.扩散模型的相关知识介绍
扩散模型的理论源于物理学中的扩散过程。图1示出了物理学中扩散过程的示意。扩散过程本质上是微粒从高浓度区域流向低浓度区域的过程。如图所示,颜料分子在滴入水中时呈高分布,随后开始向低浓度区域运动,并最终呈现均匀扩散,即实现平衡。
扩散模型是一种图像生成模型,并且包括正向的扩散过程和反向的逆扩散过程。扩散过程也称为“前向过程”,指逐步向图像中增加高斯噪声的过程。模型是被训练用来消除噪声的,因此其生成过程(也称为“反向过程”)是扩散过程的逆过程,即逐步去噪的过程。
更具体地说,扩散模型是一种隐变量模型,使用马尔可夫链映射到隐空间(LatentSpace)。隐空间是扩散模型迭代式生成过程的中间变量所属的线性空间。去噪扩散概率模型(DDPM)由两个参数化的马尔可夫链组成,并使用变分推理在有限时间后生成与原始数据匹配的样本。前向链(即,“扩散过程”)通过使用预先设计的时间表逐渐添加高斯噪声来扰乱数据分布,直到数据分布收敛到给定的先验,即标准高斯分布。反向链(即,“生成过程”)从给定的先验开始,使用参数化的高斯转换核,学习如何去逐步恢复未受干扰的数据结构。形式上,给定一个数据分布x0~q0,定义一个前向噪声过程q,通过马尔可夫链,在每一个时间步t中逐渐将噪声添加到数据xi中以获得后验概率q(x1:T|x0),其中x1,x2,…,xT代表输入数据的同时也是隐空间。也就是说,扩散模型的隐空间与输入数据x0具有相同维度。
图2示出了前向链添加噪声和反向链生成图像的示意图。如图上部所示,从x0到最后的xT对应一个马尔可夫链。马尔可夫链每一步的转移概率,本质上都是在加噪声。这就是扩散模型中“扩散”的由来:噪声在马尔可夫链演化的过程中,逐渐进入扩散体系。随着时间的推移,加入的噪声(类似于图1中加入水中作为溶质的颜料分子)越来越少,而体系中的噪声(这个时刻前的所有的溶质)逐渐在体系中扩散,直至均匀。最终,从x0输入的真实图像被渐近变换为纯高斯噪声的图片xT。模型训练主要集中在如图2下部所示的逆扩散过程。训练扩散模型的目标是学习正向的反过程:即训练概率分布pθ(xt-1|xt)。通过沿着马尔可夫链向后遍历,可以重新生成新的数据x0。
与基于GAN的生成模型不同,基于扩散的模型需要多步推理。而扩散模型的迭代生成过程显著的增加了计算时间。在训练阶段,步数可以很多,例如,一种领先模型在训练时的常用步数通常被设为1000。
联合分布pθ(x0:T)称为生成过程(或反向过程)。在完整生成过程中,从随机高斯噪声xT开始,需要逐步计算xT-1,…,x0。在每一步t,扩散模型∈θ使用xt作为输入并且输出et=∈θ(xt,t),在此,et是由扩散模型预测出的噪声值。于是,可经由下式得到xt-1:
其中,αt和σt是用于训练的超参数。注意到是用于增加生成结果多样性的额外随机噪声σt∈t,其中,∈t是不带权重的多维随机高斯噪声。在针对调度器的现有方法A中,超参数σt被设为0,使得这一过程由给定xT的决定。
为了缩减步数,在现有的大多数调度器中,会选择少量步骤t(1),…,t(n)作为{T,T-1,…,0}的子序列,并且调度器仅调用模型在这n个步骤计算et(i)。例如,现有方法A直接将式(1)转化成一个n步生成过程:
注意此时式(1)中的超参数σt为0,并且i∈{1,2,…,n}的增量方向与{T,T-1,…,0}的增量方向相反,因此式(2)中是由xt(i)求取xt(i+1)。
由方法A获取的最终隐变量x0是完整生成过程的近似结果。另一方法B则聚焦于将生成过程建模成常微分方程(ODE)。因此,可以使用前向欧拉(一种数值ODE算法)计算x0的数值解:
方法C是一种基于ODE的调度器,它利用线性多步法并且构造一种伪数值方法。因此可将迭代方程简化为:
其中
在采用方法A的式(2)和方法B的式(3)中,xt(i+1)是{xt(i),et(i)}的线性组合。在采用方法C的式(4)中,xt(i+1)是{xt(i),et(i),et(i-1),et(i-2),et(i-3)]的线性组合。概括而言,所有这些调度器都满足:
xt(i+1)∈span{xt(i),et(1),...,et(i)). (7)
于是,递归地,可以很容易证明:
xt(i+1)∈span{xt(1),et(1),...,et(i)}. (8)
即,xt(i+1)处于xt(i),et(1),…,et(i)张成(span)的线性子空间中。
由上可知,生成过程是线性子空间的张成过程。该线性子空间由初始高斯噪声和在前模型输出所张成。在每一步中,获取模型输出并将其添加到矢量集中。调度器设计的核心问题在于确定迭代方程的系数。非零系数的数量不超过
2.生成过程的实证分析
为了对整个生成过程中发生了什么进行实证分析,发明人使用已有的潜扩散模型生成若干图像并存储隐变量,包括xT,…,x0,eT,…,e1。图3示出了记录了完整生成过程的隐变量相关系数热图。根据图3,有如下发现:
1)xt与相邻步骤的x近似但与非相邻步骤的x不同。随着去噪过程的行进,xt被持续更新。
2)xt与预测噪声et之间的在开始时强相关,并在结束时变为弱相关。这是因为xt在最后几个步时包含的噪声很少。
3)eT,…,e1之间的相关性相当强,指示了模型输出包含冗余重复信息。
3.构造更快的调度器
根据现有的调度器和如上分析,本公开提出了一种新的扩散调度器OLSS。在此方法中,首先运行完整生成过程以采集中间变量并在随后使用这些变量构造一个近似过程,而不是利用数学理论设计迭代方程。
3.1跳过步骤的评估
假设已经选择了作为{T,T-1,…,0}的一个子序列的n个步骤t(1),…,t(n),其中t(1)=T。仅允许在这n个步骤处调用扩散模型用于推理。在n个步骤t(1),…,t(n)中的第i步,已经获取了中间变量xt(1),…,xt(i)和et(1),…,et(i)。
图4示出了利用在前隐变量生成当前隐变量的三种方法。其中,第三种方法,即方法(c)是本发明所提出的推理加速方案所采用的方法。
具体地,图4给出提出了用于生成xt(i+1)的三种方法。完整生成方法如方法(a)所示。它需要调用模型t(i+1)-t(i)-1次。为了减少时间消耗,发明人想到一种朴素方法。如上基于图3的分析所示,eT,…,e1之间的相关性相当强,于是发明人想到可以使用由中间变量训练的简单线性模型来估计模型的输出et(i)-1。形式上,使得
其中,可行域为:
ε=span{xt(1),et(1),...,et(i)}. (10)
换句话说,可以使用et(i)-1在ε中的正交投射作为et(i)-1的估计值。类似地,可以获取t(i+1)之前跳过步骤中所有估计的中间变量。这种朴素方法的流程图如图4中的方法(b)所示。根据如上式(8)-(10),可以显见的是,估计的xt(i+1)仍然满足式(8)。
然而,注意到估计值可能存在不可忽略的误差并且误差会在后续的步骤中累积。为了解决这个问题,本发明设计一种简化的端到端的方法,用于xt(i+1)的直接估计。图4中的方法(c)中的简化方法仅包含一个线性模型,该模型具有i+1个系数wi,0,wi,1,...,wi,i于是,估计出的xt(i+1)被公式表示为:
由此,本公开使用可训练参数替换了迭代公式中的系数以控制线性子空间的张成,通过系数wi,0,wi,1,...,wi,i的求解就可以实现基于扩散模型的文图生成任务推理加速。
图5示出了基于扩散模型的文图生成任务推理加速方法的示意性流程图。在步骤S510,运行完整生成过程的T个步骤以采集从所述扩展模型获取的中间变量,其中,所述中间变量包括一组隐中间变量和一组输出中间变量。在步骤S520,从所述T个步骤中选择n个步骤,其中n<T。在步骤S530,通过所述n个步骤的迭代计算,生成作为所述文图生成任务的推理结果的图像。
在图5所示的方法中,n个步骤的选取可以基于预定规则,例如,均匀选取,也可以如本公开如下可选实施例所述通过优化路径的求解来确定。并且如上n个步骤的选取可以在采集中间变量的步骤S510之前或是同时完成,本发明对此不作限制。
在基于本发明实现的推理加速方法中,着重是基于如上式(11)所示,使用可训练参数替换了迭代公式中的系数以控制线性子空间的张成,通过系数wi,0,wi,1,...,wi,i的求解实现基于扩散模型的文图生成任务推理加速。为此,图6示出了根据本发明一个实施例的n个步骤迭代计算的具体操作例。具体地,在所述n个步骤的迭代计算中:在步骤S610,将在前隐变量与所述输出中间变量的线性组合作为当前步骤获取的隐变量的估计值;在步骤S620,通过最小化所述估计值与对应隐中间变量的均分误差求取所述线性组合中的系数;以及在步骤S630,基于求取的系数,生成作为所述文图生成任务的推理结果的图像。如上步骤S610~S630可以看作是步骤S530中操作的细化,由此,通过将调度器的设计问题转化成若干参数的确定问题,构建了扩散模型的短步数近似生成过程,能够大幅度减少扩散模型的推理步数,提升计算效率的同时保证生成质量。
在当前步骤隐变量估计值的求取步骤S610中,具体可以将最终隐变量(即xT,此时t(1)=T)与所述当前步骤之前的输出中间变量(即et(j)中j={1,…,i})的线性组合作为所述当前步骤获取的隐变量的估计值。此时,采集的所述中间变量包括与所述n个步骤相对应的一组隐中间变量和一组输出中间变量。具体地,采集的中间变量可以是xt(1),…,xt(i)和et(1),…,et(i)。
在常规的基于调度器的推理加速中,虽然n<T,但n的取值仍然需要相当大才能保证生成图像的质量。而在本发明中,n的取值可以远小于T,即,n<<T。具体地,n的取值可以小于T至少一个数量级,甚至两个数量级。例如,在如下图5的例子中,T=1000,而n=5。
为了求取线性组合中的参数,可以利用最小二乘法,可以很容易地最小化均方误差。注意到在式(11)中仅使用xt(1)(即,xT)来代替{xt(1),…,xt(i)},因为{xT,et(1),…,et(i)}是一个线性独立集,并且{xt(2),…,xt(i)}可由这些矢量线性表示。另外,线性独立使得能够利用QR(正交三角)分解算法来求解最小二乘问题。这比直接计算伪逆矩阵更快并且更数值稳定。为此,在一个可选实施例中,步骤S620可以包括:使用正交三角分解法求解最小二乘问题,以最小化所述估计值与对应隐中间变量的均分误差。由此利用QR分解算法来求解最小二乘问题,并获得wi,0,wi,1,...,wi,i的值。
3.2路径优化
另一个需要解决的问题是在步骤S520中如何选择这n个步骤t(1),…,t(n)。如上基于图3的分析所示,我们观察到xt与et之间的相关性在每步不同,指示生成低误差的xt的难度级别也各不相同。在大多数现有调度器中,以相等的间隔从{T,T-1,…,0}中选取这n个步骤。例如,在方法C中,式(5)利用需要强制均匀选择步骤的线性多步法。然而,在本发明中,对这n个步骤的选择不做限制。在一个实施例中,可以以均匀间隔从所述T个步骤中选择所述n个步骤。在另一个实施例中,则可以搜索包括n个步骤的优化路径(例如,最优路径)来生成高质量图像。在一个可选实施例中,通过优化路径搜索从所述T个步骤中选择所述n个步骤可以包括:以所述n个步骤中的每一步的误差不超过误差阈值(例如,如下的误差上限D)且每一步的误差逐步降低为优化目标来进行所述优化路径搜索。优化路径的搜索可以基于二分搜索算法获取。类似地,还可以基于二分搜索算法计算路径存在时的所述误差阈值的最小值,换句话说,误差上限D的取值也可以通过二分搜索算法确定。此时,为了加以区别,可以将获取优化路径的二分搜索算法称为“第一”二分搜索算法;将计算误差阈值最小值的二分搜索算法称为“第二”二分搜索算法。在此,“第一”和“第二”仅用于对同类对象的不同实例加以区分,而非对重要性或是次序的暗示。
为了方便理解,可以使用d(t(1),…,t(i+1))表示从xt(i+1)到其在{xt(1),et(1),…,et(i)}张成的子空间中的正交投影的距离(即,相比于xt(i+1)的误差)。在此,可以添加一个额外步骤t(n+1)=0。设误差上限为D,并且希望每一步的误差不超过D。另一方面,需要降低误差以生成高质量图像;还需要确保路径以0结束。于是,步骤搜索问题被建模为如下的优化问题:
基于图3的分析结论,跳过的步骤越多,误差越大。因此,可以使用简单的二分搜索算法来解决由式(12)表征的这一优化问题。基于这种步进搜索算法,本发明设计了一种路径搜索算法。如下所示的算法1给出了寻找误差限制路径的伪代码。如果D足够大,这样的路径总是存在的,因此可以使用另一种二分搜索算法来计算路径存在时的最小误差上限。最终,我们获得了构建生成过程的优化路径。
4.效率分析
在此对构建OLSS调度程序的时间复杂度进行分析。最耗时的部分是解决最小二乘问题。如果路径固定,需要解决最小二乘问题是次,执行路径优化则是次,其中∈是最优D的绝对误差。根据经验,当使用OLSS以提高扩散模型(例如,在实验中可以使用领域内领先的某一种特定扩散模型)的效率时,在从完整生成过程中收集到所有需要的中间变量之后,通常在CPU上计算几分钟就足以计算出最优路径并求解所有参数{wi,j}。
综上可知,本发明设计了一种新的调度器,先使用现有调度器进行完整的生成过程,将其中的中间变量捕获并存储,进行分析后重构一个短步数的近似过程。具体地,完整生成过程包括T步,我们使用算法I从中选出n步,然后使用算法II构造这n步的生成过程。
首先考虑算法II(对应于图6所示的步骤S610~S630),假设n步已经选好,仅在这n步上调用模型进行前向推理,构建近似的生成过程。一个朴素的方法是使用线性模型补充缺失的中间步骤,并沿用原来的调度器补齐。但由于发明人发现析这一方法中会出现误差累积的现象,为了避免这个缺陷,本发明进而提出了一种更为简单直接的方法,即,直接使用线性模型预测下一个步骤的中间变量,这两个方法得到的结果是由中间变量张成的线性子空间中的向量,因此我们的方法能够保证极低的误差。
然后考虑算法I,即如何选择T步中的n步。我们希望这n步产生的误差的最大值最小,因此设计了一个启发式的算法。给定误差上限D,跳过的步骤越多,误差越大,根据这个单调性,用二分搜索法可以得到下一步骤的最大跳跃距离;使用另一个二分搜索算法搜索误差上限D,即可得到误差最小的n步。
图7示出了使用本发明的推理加速方法和现有模型基于输入的文本提示生成图像的例子。在此,模型1和2以及本发明的OLSS模型都是在接收文本提示作为输入的情况下,通过多步迭代生成对应图像的扩散模型。图7示出了两个例子。如图上部的(a)所示,例如用户输入的提示为“Fantasy magic castle on floating island.A very beautiful artpainting.”(漂浮岛上的梦幻魔法城堡。非常美丽的艺术画作)。模型1在不计成本的完整生成过程下,可以生成具有理论上的最佳效果的图像,例如最右侧的1000步迭代所示。而常用的模型1和2在n取值较小时,例如在图示的n=5时,图像的生成效果不佳,相比之下,本发明的OLSS模型在n=5时,能够生成远好于常规模型在5步时的图像,甚至可以媲美最右侧的理论最佳图像。类似地,在第二个例子中,如图下部的(b)所示,例如用户输入的提示为“Theleader of the wolves bared its ferocious fangs.High-resolution digitalpainting.”(狼群首领露出凶猛的獠牙。高清数字画作)。模型1在不计成本的完整生成过程下生成的图像同样如由此所示。同样地,本发明的OLSS模型在n=5时,能够生成远好于常规模型在5步时的图像,甚至可以媲美最右侧的理论最佳图像。
在一个实施例中,本发明还可以实现为一种基于扩散模型的文图生成任务推理加速系统。图8示出了根据本发明一个实施例的基于扩散模型的文图生成任务推理加速系统的组成示意图。如图所示,系统800包括存储节点810和图像生成节点820。存储节点810可以用于存储经训练的扩散模型。图像生成节点820则可用于执行文图生成任务推理。具体地,图像生成节点820用于:加载所述经训练的扩散模型;获取来自用户的文本输入(例如,图7中(a)或(b)所示的文本提示);使用如上所述的基于扩散模型的文图生成任务推理加速方法,生成作为所述文图生成任务的推理结果的图像(例如,图7中(a)或(b)所示的OLSS通过5步迭代生成的图像),并将所述图像作为推理结果返回给对应用户。
图9示出了根据本发明一实施例可用于实现上述基于扩散模型的文图生成任务推理加速方法的计算设备的结构示意图。
参见图9,计算设备900包括存储器910和处理器920。
处理器920可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器920可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器920可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)或是具有强大并行计算能力的GPU。
存储器910可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器920或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器910可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器910可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器910上存储有可执行代码,当可执行代码被处理器920处理时,可以使处理器920执行上文述及的基于扩散模型的文图生成任务推理加速方法。
上文中已经参考附图详细描述了根据本发明的基于扩散模型的文图生成任务推理加速方法和系统。
具体地,本发明的OLSS与需要训练的方法相比,所需的计算量小得多(例如,仅需花费几分钟的时间),因此具有轻量化的特点;而与不需要训练的其他调度器相比,OLSS可以直接对完整生成过程进行近似,具有极佳的生成效果。
本发明构建了扩散模型的短步数近似生成过程,能够大幅度减少扩散模型的推理步数,提升计算效率的同时保证生成质量。广泛的实验结果表明,我们的方法在相同步数上的生成质量明显优于其他加速方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种基于扩散模型的文图生成任务推理加速方法,包括:
运行完整生成过程的T个步骤,以采集从所述扩展模型获取的中间变量,其中,所述中间变量包括一组隐中间变量和一组输出中间变量;
从所述T个步骤中选择n个步骤,其中,n<T;
在所述n个步骤的迭代计算中:
将在前隐变量与所述输出中间变量的线性组合,作为当前步骤获取的隐变量的估计值;
通过最小化所述估计值与对应隐中间变量的均分误差,求取所述线性组合中的系数;以及
基于求取的系数,生成作为所述文图生成任务的推理结果的图像。
2.如权利要求1所述的方法,其中,将在前隐变量与所述输出中间变量的线性组合,作为当前步骤获取的隐变量的估计值包括:
将最终隐变量与所述当前步骤之前的输出中间变量的线性组合,作为所述当前步骤获取的隐变量的估计值。
3.如权利要求1所述的方法,其中,采集的所述中间变量包括与所述n个步骤相对应的一组隐中间变量和一组输出中间变量。
4.如权利要求1所述的方法,其中,n<<T。
5.如权利要求1所述的方法,其中,通过最小化所述估计值与对应隐中间变量的均分误差,求取所述线性组合中的参数包括:
使用正交三角分解法求解最小二乘问题,以最小化所述估计值与对应隐中间变量的均分误差。
6.如权利要求1所述的方法,其中,以均匀间隔从所述T个步骤中选择所述n个步骤。
7.如权利要求1所述的方法,其中,通过优化路径搜索从所述T个步骤中选择所述n个步骤。
8.如权利要求7所述的方法,其中,通过优化路径搜索从所述T个步骤中选择所述n个步骤包括:
以所述n个步骤中的每一步的误差不超过误差阈值且每一步的误差逐步降低为优化目标,进行所述优化路径搜索。
9.如权利要求8所述的方法,其中,以所述n个步骤中的每一步的误差不超过误差阈值且每一步的误差逐步降低为优化目标,进行所述优化路径搜索包括:
基于第一二分搜索算法获取所述优化路径。
10.如权利要求8所述的方法,其中,通过优化路径搜索从所述T个步骤中选择所述n个步骤还包括:
基于第二二分搜索算法,计算路径存在时的所述误差阈值的最小值。
11.一种基于扩散模型的文图生成任务推理加速系统,包括:
存储节点,用于存储经训练的扩散模型;以及
图像生成节点,用于
加载所述经训练的扩散模型;
获取来自用户的文本输入;
使用如权利要求1-10中任一项所述的方法,生成作为所述文图生成任务的推理结果的图像;以及
将所述图像作为推理结果返回给对应用户。
12.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-10中任一项所述的方法。
13.一种计算机程序产品,包括可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-10中任一项所述的方法。
14.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310598298.XA CN116863012A (zh) | 2023-05-24 | 2023-05-24 | 基于扩散模型的文图生成任务推理加速方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310598298.XA CN116863012A (zh) | 2023-05-24 | 2023-05-24 | 基于扩散模型的文图生成任务推理加速方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116863012A true CN116863012A (zh) | 2023-10-10 |
Family
ID=88232936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310598298.XA Pending CN116863012A (zh) | 2023-05-24 | 2023-05-24 | 基于扩散模型的文图生成任务推理加速方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116863012A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371433A (zh) * | 2023-11-09 | 2024-01-09 | 北京邮电大学 | 一种标题预测模型的处理方法和装置 |
CN117951605A (zh) * | 2024-03-26 | 2024-04-30 | 苏州元脑智能科技有限公司 | 扩散模型的量化方法、装置、计算机设备及存储介质 |
-
2023
- 2023-05-24 CN CN202310598298.XA patent/CN116863012A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371433A (zh) * | 2023-11-09 | 2024-01-09 | 北京邮电大学 | 一种标题预测模型的处理方法和装置 |
CN117951605A (zh) * | 2024-03-26 | 2024-04-30 | 苏州元脑智能科技有限公司 | 扩散模型的量化方法、装置、计算机设备及存储介质 |
CN117951605B (zh) * | 2024-03-26 | 2024-06-07 | 苏州元脑智能科技有限公司 | 扩散模型的量化方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503192B (zh) | 资源有效的神经架构 | |
Campos et al. | Skip rnn: Learning to skip state updates in recurrent neural networks | |
Volpi et al. | Continual adaptation of visual representations via domain randomization and meta-learning | |
Li et al. | Pams: Quantized super-resolution via parameterized max scale | |
Wan et al. | Efficient large language models: A survey | |
CN116863012A (zh) | 基于扩散模型的文图生成任务推理加速方法和系统 | |
US20200184327A1 (en) | Automated generation of machine learning models | |
Young et al. | Learning neurosymbolic generative models via program synthesis | |
JP6521440B2 (ja) | ニューラルネットワーク及びそのためのコンピュータプログラム | |
KR102405578B1 (ko) | 지식 그래프를 이용한 상황 인지형 다중 문장 관계 추출 방법 및 장치 | |
Lin et al. | Tiny machine learning: progress and futures [feature] | |
CN113222998B (zh) | 基于自监督低秩网络的半监督图像语义分割方法及装置 | |
Weissenbacher et al. | Koopman q-learning: Offline reinforcement learning via symmetries of dynamics | |
CN113609284A (zh) | 一种融合多元语义的文本摘要自动生成方法及装置 | |
Abnar et al. | Gradual domain adaptation in the wild: When intermediate distributions are absent | |
CN113496248A (zh) | 训练计算机实施的模型的方法和设备 | |
Hedegaard et al. | Continual 3D convolutional neural networks for real-time processing of videos | |
Kachris | A survey on hardware accelerators for large language models | |
CN110913229B (zh) | 基于rnn的解码器隐状态确定方法、设备和存储介质 | |
Deck et al. | Easing color shifts in score-based diffusion models | |
CN111582444B (zh) | 一种矩阵数据的处理方法、装置、电子设备及存储介质 | |
CN117197268A (zh) | 图像生成方法、装置及存储介质 | |
Shen et al. | Learning regularizer for monocular depth estimation with adversarial guidance | |
Lu et al. | Quantization through search: A novel scheme to quantize convolutional neural networks in finite weight space | |
CN115803753A (zh) | 用于高效推理的多阶段机器学习模型合成 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |