数据处理方法、装置、计算设备及程序产品与流程

摘要: 本技术涉及人工智能(artificialintelligence,ai)领域,尤其涉及一种数据处理方法、装置、计算设备及程序产品。背景技术:1、近年来,ai技术...
数据处理方法、装置、计算设备及程序产品与流程

本技术涉及人工智能(artificial intelligence,ai)领域,尤其涉及一种数据处理方法、装置、计算设备及程序产品。

背景技术:

1、近年来,ai技术的飞速发展推动了生成式模型的突破,尤其是扩散模型与变换(transformer)架构的结合,使得视频生成技术取得了显著进展。在视频生成任务中,随着输入序列的长度增加,注意力的计算量呈指数级增长。较大的计算开销使得当前视频生成模型往往只能输出低分辨率、短时长的片段,严重制约了实际应用。基于此,如何优化注意力计算效率,成为突破视频生成技术瓶颈的关键所在。

技术实现思路

1、本技术提供一种数据处理方法、装置、计算设备及程序产品,用于缓解注意力计算开销较大,时延较长的问题,以提高注意力计算效率。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,提供一种数据处理方法,所述方法包括:获取目标模型中第一变换层的至少一个注意力头的稀疏模式,所述稀疏模式是基于注意力头的注意力头模式确定的,用于指示通过注意力头进行注意力稀疏处理的方式;基于所述至少一个注意力头的稀疏模式,通过所述第一变换层对第一序列进行注意力稀疏处理。

4、其中,所述第一序列为视频包括的多个视频帧对应的序列,例如,视频中的一个视频帧通过一个子序列来表示,第一序列可以包括用于表征视频中的多个视频帧的多个子序列。或者,所述第一序列为图像包括的多个图像区域对应的序列。例如,图像中的一个图像区域通过一个子序列来表示,第一序列可以包括用于表示图像中的多个图像区域的多个子序列。

5、在本技术中,针对模型中的任一个变换层中的注意力头,确定注意力头的稀疏模式,进而基于注意力头的稀疏模式,对输入的第一序列进行注意力稀疏处理。其中,稀疏模式是根据注意力头的注意力头模式确定的,而注意力头模式用于指示注意力头对输入序列的关注方式,也即,用于指示注意力头关注的是输入序列中的哪些依赖关系。由此可见,在本技术中,对于模型中不同的注意力头,基于注意力头对输入序列的关注方式,采用对应的稀疏模式来进行注意力稀疏处理,这样,可以在尽可能的保证计算精度的同时,降低计算开销,缩短计算时长,为生成更高质量、更长时长的视频或者是高质量的图像提供了支持。

6、可选地,在本技术中,所述注意力头模式包括空间头模式、时序头模式和纹理头模式。

7、所述空间头模式是指注意力头关注输入序列中的多个子序列的依赖关系以及每个子序列内的元素之间的依赖关系的模式。例如,在待处理的序列如第一序列包括多个视频帧对应的多个子序列的情况下,通过空间头模式的注意力头,可以捕捉多个视频帧之间的依赖关系以及每个视频帧内的图像区域的依赖关系。

8、所述时序头模式是指注意力头关注输入序列中的多个子序列中处于相同位置的序列片段之间的关系的模式。例如,在待处理的序列如第一序列包括多个视频帧对应的多个子序列的情况下,通过时序头模式的注意力头,可以捕捉多个视频帧中相同位置上的图像区域之间的依赖关系。

9、所述纹理头模式是指除所述空间头模式和所述时序头模式之外的模式。或者,所述纹理头模式是指用于捕捉序列中的非规则依赖关系的模式。

10、可选地,所述获取目标模型中第一变换层的至少一个注意力头的稀疏模式的实现过程可以包括:获取多种稀疏模式,所述多种稀疏模式包括所述空间头模式对应的空间头稀疏模式、所述时序头模式对应的时序头稀疏模式和所述纹理头模式对应的纹理头稀疏模式;通过所述至少一个注意力头中的第一注意力头计算目标序列在所述空间头稀疏模式下的第一注意力召回率以及在所述时序头稀疏模式下的第二注意力召回率,所述目标序列在任一稀疏模式下的注意力召回率用于指示所述目标序列在相应稀疏模式下的稀疏注意力相较于所述目标序列的全量注意力的精度损失;基于所述第一注意力召回率和所述第二注意力召回率,确定所述第一注意力头的稀疏模式。

11、在本技术中,稀疏模式对应的注意力召回率可以用于表征该注意力头在相应稀释模式下的稀疏注意力相较于全量注意力的精度损失。基于此,本技术中通过计算空间头稀疏模式和时序头稀疏模式下的注意力召回率,来确定空间头稀疏模式和时序头稀疏模式的精度损失程度,进而基于这两种稀疏模式下的精度损失程度的大小来决定注意力头采样哪种稀疏模式,这样,在降低计算开销的同时,尽可能的减小注意力稀疏处理所带来的精度损失。

12、可选地,所述目标序列为离线标定序列,所述离线标定序列与所述第一序列不同。在此基础上,通过所述至少一个注意力头中的第一注意力头计算目标序列在所述空间头稀疏模式下的第一注意力召回率以及在所述时序头稀疏模式下的第二注意力召回率的实现过程可以包括:通过所述第一注意力头计算所述离线标定序列的全量注意力分数矩阵、在所述空间头稀疏模式下的第一稀疏注意力分数矩阵以及在所述时序头稀疏模式下的第二稀疏注意力分数矩阵;基于所述离线标定序列的全量注意力分数矩阵和所述第一稀疏注意力分数矩阵,计算所述空间头稀疏模式对应的第一注意力召回率,基于所述离线标定序列的全量注意力分数矩阵和所述第二稀疏注意力分数矩阵,计算所述时序头稀疏模式对应的第二注意力召回率。

13、可选地,所述获取目标模型中第一变换层的至少一个注意力头的稀疏模式之后,还包括:存储所述至少一个注意力头的稀疏模式;相应地,所述基于所述至少一个注意力头的稀疏模式,通过所述第一变换层对待处理的第一序列进行注意力稀疏处理的实现过程可以包括:在第t个时间步中,读取存储的所述至少一个注意力头的稀疏模式,并基于读取到的所述至少一个注意力头的稀疏模式,通过所述第一变换层对所述第一序列进行注意力稀疏处理。

14、在本技术中,可以预先利用离线标定序列,离线确定目标模型中的各个注意力头的稀疏模式。在此基础上,在通过目标模型进行在线推理时,可以直接应用预先标定的各个注意力头的稀疏模式进行稀疏处理,快捷方便。

15、可选地,所述目标序列包括所述第一序列对应的第一采样序列和第二采样序列,所述第一采样序列是对所述第一序列进行间隔采样得到,所述第二采样序列为所述第一序列中的一个序列片段;所述通过所述至少一个注意力头中的第一注意力头计算目标序列在所述空间头稀疏模式下的第一注意力召回率以及在所述时序头稀疏模式下的第二注意力召回率的实现过程可以包括:在第t个时间步中,通过所述第一注意力头,计算所述第一采样序列在所述空间头稀疏模式下的第一注意力召回率,并计算所述第二采样序列在所述时序头稀疏模式下的第二注意力召回率。

16、在本技术中,在目标模型在线推理过程中,可以利用对待处理的第一序列进行采样所获得的采样序列来计算注意力头在不同稀疏模式下的注意力召回率,进而根据注意力召回率来确定注意力头的稀疏模式,这样,减小了在线判定稀疏模式的计算量,更易于实现在线部署。并且,由于是采用待处理的第一序列的采样序列来判定注意力头的稀疏模式,因此,确定出的稀疏模式与当前待处理的第一序列更为适配,方案适应性更好,鲁棒性更强。

17、可选地,所述方法还包括:缓存在第t个时间步中确定的所述第一变换层的至少一个注意力头的稀疏模式;在第t+1个时间步,获取缓存的所述第一变换层的至少一个注意力头的稀疏模式,并基于所述至少一个注意力头的稀疏模式,通过所述第一变换层对输入序列进行注意力稀疏处理。

18、在视频或图像生成任务中,由于模型推理过程中相邻时间步所处理的数据具有相似性,因此,在本技术中,在第t个时间步在线判定出注意力头的稀疏模式之后,还可以缓存确定的各个注意力头的稀疏模式,这样,在第t+1个时间步中,可以直接复用各个注意力头的稀疏模式来执行稀疏处理。省去了在线识别各个注意力头的稀疏模式的操作,减少了计算开销。

19、可选地,所述基于所述第一注意力召回率和所述第二注意力召回率,确定所述第一注意力头的稀疏模式的实现方式可以包括:若所述第一注意力召回率和所述第二注意力召回率中存在至少一个注意力召回率大于召回率阈值,则将所述至少一个注意力召回率中的最大召回率对应的稀疏模式确定为所述第一注意力头的稀疏模式。

20、在本技术中,若第一注意力召回率和第二注意力召回率中存在至少一个注意力召回率大于召回率阈值,则说明该至少一个注意力召回率对应的至少一个稀疏模式的精度满足要求,也即,该至少一个稀疏模式的精度损失较小。在这种情况下,可以从该至少一个稀疏模式中选择精度损失最小的稀疏模式作为第一注意力头的稀疏模式,这样,可以在尽可能小的精度损失下,实现注意力的稀疏处理,降低计算开销。

21、可选地,若所述第一注意力召回率和所述第二注意力召回率均不大于所述召回率阈值,则确定所述第一注意力头的稀疏模式为所述纹理头稀疏模式。

22、可选地,所述纹理头稀疏模式包括第一稀疏模式。所述第一稀疏模式用于指示对应的注意力头按照预设采样参数对输入序列的键矩阵和值矩阵进行采样,得到稀疏键矩阵和稀疏值矩阵,并基于所述稀疏键矩阵和所述稀疏值矩阵计算所述输入序列的注意力。

23、在本技术中,在第一稀疏模式下,可以对输入序列的键矩阵和值矩阵进行间隔采样,在输入序列包括多个视频帧对应的多个子序列或图像中的多个图像区域对应的多个子序列的情况下,键矩阵和值矩阵中的每个行向量用于表示视频帧或图像中的一个区域,因此,对键矩阵和值矩阵进行间隔采样,相当于是对视频帧或图像进行间隔采样。而在视频帧或图像中,相邻的图像区域往往具有较高的相似性,因此,通过对键矩阵和值矩阵进行间隔采样,在尽可能小的精度损失下,实现了对键矩阵和值矩阵的压缩,从而降低了计算开销。

24、可选地,所述纹理头稀疏模式还包括第二稀疏模式。所述第二稀疏模式用于指示对应的注意力头基于当前时间步中的输入序列的查询矩阵中的部分查询向量计算对应的部分注意力,并获取当前时间步之前的目标时间步中计算得到的输入序列的查询矩阵中的部分查询向量对应的部分注意力,基于自身计算得到的部分注意力和获得的目标时间步中的部分注意力确定当前时间步中的输入序列的注意力。

25、其中,当前时间步与目标时间步之间的步数差值不大于预设的复用次数。

26、在本技术中,在第二稀疏模式下,注意力头计算当前时间步中部分查询向量对应的注意力,对于剩余部分查询向量对应的注意力,可以复用之前时间步的计算结果,这样,可以降低计算开销。

27、可选地,所述确定所述第一注意力头的稀疏模式为所述纹理头稀疏模式的实现过程可以包括:若当前时间步为第i个时间步,则确定所述第一注意力头的稀疏模式为所述第二稀疏模式,所述i大于第一数值且小于第二数值,所述第一数值大于或等于1,所述第二数值小于或等于所述目标模型推理所需的时间步总数;若当前时间步为第j个时间步,则确定所述第一注意力头的稀疏模式为所述第一稀疏模式,所述j不大于所述第一数值或不小于所述第二数值。

28、在本技术中,在视频或图像生成任务中,中间时间步处理的数据的相似性往往较高,因此,该第二稀疏模式可以应用于中间时间步的注意力稀疏处理,这样,能够在尽可能小的精度损失下,降低注意力计算的计算开销。

29、可选地,所述多种稀疏模式中任意两种稀疏模式的之间的稀疏度的差值小于稀疏度差异阈值。其中,稀疏模式的稀疏度可以用于表征该稀疏模式下计算量减小的比例,也即,也可以用于表征该稀疏模式下的计算效率收益,或者说,该稀疏模式下的加速比例。基于此,在所述多种稀疏模式中任意两种稀疏模式的之间的稀疏度的差值小于稀疏度差异阈值的情况下,该多种稀疏模式的稀疏度接近或相同。这样,在通过多个计算单元如多个gpu来实现一个transformer层中的多个注意力头的注意力计算的情况下,虽然不同注意力头的稀疏模式不同,但是由于各个稀疏模式的稀疏度接近或相同,因此,各个计算单元的加速比例(也即计算效率的收益)基本接近或相同,这样,可以避免由于不同计算单元的加速比例不同所导致的快慢卡问题。

30、可选地,所述获取多种稀疏模式的实现过程可以包括:获取多个稀疏模式组,每个稀疏模式组包括所述多种稀疏模式,其中,一个稀疏模式组中的多种稀疏模式中任意两种稀疏模式的稀疏度差值小于稀疏度差异阈值,不同的稀疏模式组中的任意两个稀疏模式之间的稀疏度的差值不小于所述稀疏度差异阈值。

31、在本技术中,也可以配置多个稀疏模式组,不同的稀疏模式组中稀疏模式的稀疏度相差较大,相同的稀疏模式组中的稀疏模式的稀疏度接近。基于此,可以同时结合不同稀疏模式的注意力召回率和稀疏度来确定第一注意力头的稀疏模式,也即,结合不同稀疏模式的精度损失和计算效率收益来确定合适的稀疏模式,以此来实现注意力计算的效率和精度的平衡。

32、可选地,所述基于所述第一注意力召回率和所述第二注意力召回率,确定所述第一注意力头的稀疏模式的实现过程可以包括:若所述多个稀疏模式组中的多个空间头稀疏模式对应的第一注意力召回率以及多个时序头稀疏模式对应的第二注意力召回率中存在至少一个注意力召回率大于召回率阈值,则将所述至少一个注意力召回率对应的至少一个稀疏模式中稀疏度最大的稀疏模式,确定为所述第一注意力头的稀疏模式。

33、在本技术中,在配置有多个稀疏模式组的情况下,首先可以根据各个稀疏模式组中的空间头稀疏模式和时序头稀疏模式的注意力召回率,查找精度损失满足要求的至少一个稀疏模式。在精度损失满足要求的稀疏模式有多个的情况下,可以从中选择稀疏度最大的稀疏模式,也即选择计算效率收益最大的稀疏模式。这样,在保证计算精度的前提下,实现计算效率收益的最大化。

34、第二方面,提供一种数据处理装置,所述数据处理装置包括至少一个模块,所述至少一个模块用于执行上述第一方面所述的数据处理方法。

35、第三方面,提供一种计算设备,所述计算设备包括处理器,所述处理器用于执行存储器中存储的至少一条程序指令或代码,以实现上述第一方面所述的数据处理方法。

36、第四方面,提供一种计算集群,所述计算集群包括多个计算设备,所述多个计算设备用于执行上述第一方面所述的数据处理方法。

37、第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算设备上运行时,使得所述计算设备执行上述第一方面所述的数据处理方法。

38、第六方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算设备上运行时,使得计算设备执行上述第一方面所述的数据处理方法。

39、上述第二方面至第六方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。