System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 序列处理方法和装置制造方法及图纸_技高网

序列处理方法和装置制造方法及图纸

技术编号:41979984 阅读:16 留言:0更新日期:2024-07-12 12:11
本公开提出一种序列处理方法和装置,涉及计算机领域。序列处理方法,包括:按照多个计算机处理单元的数量,将待处理的序列向量划分成相同数量的多个子序列向量;多个计算机处理单元对多个子序列向量并行地执行如下处理:第i个计算机处理单元在注意力层获取序列向量的第i个子序列向量,i为正整数;第i个计算机处理单元在注意力层确定第i个子序列向量相应的第i个查询向量;第i个计算机处理单元在注意力层基于第i个查询向量进行注意力计算,得到注意力层输出的第i组注意力计算结果。从而,降低计算机处理单元处理长序列时自注意力机制计算的时间复杂度,提高计算机处理单元对长序列的处理效率。

【技术实现步骤摘要】

本公开涉及计算机领域,特别涉及一种序列处理方法和序列处理装置。


技术介绍

1、随着人工智能技术与算力的快速发展,在一些特定领域,如长文本摘要、多轮对话、音视频生成等领域,长序列数据的加速处理正变得越来越重要。

2、图1示出了一种相关技术的序列并行的加速处理技术的示意图。如图1所示的基于transformer模型(简称模型)并行度例如为2的序列并行处理过程,输入的原序列被均等的划分两个子序列,两个子序列分散输入到两个计算机处理单元(简称处理单元),每个计算机处理单元独立的计算隐藏层(如正则化、残差连接、随机失活),在计算注意力层和前向反馈网络时将各个子序列聚合为原序列进行计算,计算完输出时仍然重新划分子序列进行处理。

3、假设原序列的长度为sl,注意力头的数量为nh,每个注意力头的维度为d,隐藏层维度为h=nh×d。注意力计算过程需要对每个查询向量(记为query)和键向量(记为key)进行内积操作,注意力计算的时间复杂度为o(sl2×h),其余计算的时间复杂度为o(sl×h2)。当sl>h时,注意力层的时间复杂度就会高于其他层的计算的时间复杂度。

4、由于自注意力机制计算的时间复杂度与序列长度的平方成正比,因此序列长度越长,计算机处理单元的自注意力机制计算的时间复杂度越高。这使得计算机处理单元处理长序列时自注意力机制计算的时间复杂度非常高,影响计算机处理单元对长序列的处理效率。和前向反馈网络层


技术实现思路

1、本公开实施例所要解决的其中一个技术问题是,计算机处理单元处理长序列时自注意力机制计算的时间复杂度高,影响计算机处理单元对长序列的处理效率的问题。

2、本公开实施例按照多个计算机处理单元的数量,将待处理的序列向量划分成相同数量的多个子序列向量,然后通过注意力机制的查询向量分块以及基于多块查询向量的多计算机处理单元并行注意力计算,降低计算机处理单元处理长序列时自注意力机制计算的时间复杂度,提高计算机处理单元对长序列的处理效率。

3、本公开一些实施例提出一种序列处理方法,包括:按照多个计算机处理单元的数量,将待处理的序列向量划分成相同数量的多个子序列向量;多个计算机处理单元对多个子序列向量并行地执行如下处理:第i个计算机处理单元在注意力层获取序列向量的第i个子序列向量,i为正整数;第i个计算机处理单元在注意力层确定第i个子序列向量相应的第i个查询向量;第i个计算机处理单元在注意力层基于第i个查询向量进行注意力计算,得到注意力层输出的第i组注意力计算结果。

4、在一些实施例中,序列处理方法还包括:第i个计算机处理单元在注意力层聚合多个子序列向量得到序列向量;第i个计算机处理单元在注意力层确定序列向量相应的键向量和值向量;其中,第i个计算机处理单元在注意力层基于第i个查询向量进行注意力计算,得到注意力层输出的第i组注意力计算结果包括:第i个计算机处理单元在注意力层基于第i个查询向量、所述序列向量相应的键向量和值向量进行注意力计算,得到注意力层输出的第i组注意力计算结果。

5、在一些实施例中,序列处理方法还包括:在处理的是因果模型的情况下,处理前半部分的子序列向量的第一计算机处理单元,从处理后半部分的子序列向量的第二计算机处理单元,获取第二计算机处理单元所处理的子序列向量相应的查询向量,并基于获取的查询向量帮助第二计算机处理单元进行部分注意力计算。

6、在一些实施例中,第一计算机处理单元帮助第二计算机处理单元进行部分注意力计算包括:在p是奇数、i<[p/2]’的情况下,或者,在p是偶数、i≤[p/2]’的情况下:作为第一计算机处理单元的第i个计算机处理单元从作为第二计算机处理单元的第p-i个计算机处理单元获取第p-i个查询向量,并基于第p-i个查询向量帮助第p-i个计算机处理单元进行部分注意力计算,i∈[1,…,p],p表示多个计算机处理单元的数量,[ ]’表示向上取整。

7、在一些实施例中,所述第i个计算机处理单元在注意力层基于第i个查询向量进行注意力计算包括:第i个计算机处理单元在注意力层,确定第j个子序列向量相应的第j个键向量,0<j≤i,基于第i个查询向量和各个第j个键向量进行注意力计算,得到注意力层输出的第i组注意力计算结果;所述第i个计算机处理单元基于第p-i个查询向量帮助第p-i个计算机处理单元进行部分注意力计算包括:第i个计算机处理单元基于第p-i个查询向量帮助第p-i个计算机处理单元进行[p/2]’-i个注意力计算。

8、在一些实施例中,第i个计算机处理单元基于第p-i个查询向量帮助第p-i个计算机处理单元进行[p/2]’-i个注意力计算包括:第i个计算机处理单元帮助第p-i个计算机处理单元进行第p-i个查询向量与第[p/2]’-i个键向量至第1个键向量的注意力计算。

9、在一些实施例中,序列处理方法还包括:第i个计算机处理单元和第p-i个计算机处理单元在进行注意力计算的同时,异步并行进行第p-i个查询向量和帮助计算的注意力计算结果的通信。

10、在一些实施例中,每个计算机处理单元维护并行的计算流和通信流,第i个计算机处理单元和第p-i个计算机处理单元在进行注意力计算的同时,异步并行进行第p-i个查询向量和帮助计算的注意力计算结果的通信,包括:第i个计算机处理单元的计算流基于第i个查询向量进行注意力计算的同时,第i个计算机处理单元的通信流和第p-i个计算机处理单元的通信流通信,以使得第i个计算机处理单元从第p-i个计算机处理单元获取第p-i个查询向量;第i个计算机处理单元的计算流每帮助第p-i个计算机处理单元计算一个注意力计算结果,在帮助计算下一个注意力计算结果的同时,第i个计算机处理单元的通信流和第p-i个计算机处理单元的通信流通信,以使得第p-i个计算机处理单元从第i个计算机处理单元获取帮助计算的前一个注意力计算结果。

11、在一些实施例中,序列处理方法还包括:多个计算机处理单元在除注意力层之外的其他层进行多个子序列向量的并行处理,所述其他层包括前向反馈网络层。

12、在一些实施例中,序列处理方法还包括:通过在注意力层设置的梯度检查点将注意力层的前向输出保存到显存;利用保存的注意力层的前向输出,计算除注意力层之外的其他层的前向输出和梯度。

13、在一些实施例中,序列向量包括:音频序列向量、视频序列向量、或者文本序列向量。

14、在一些实施例中,计算机处理单元包括图形处理单元。

15、本公开一些实施例提出一种序列处理装置,包括:多个计算机处理单元,被配置为协同执行序列处理方法。

16、在一些实施例中,序列处理装置还包括:显存,用于存储序列处理方法执行过程产生的数据。

17、本公开一些实施例提出一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理单元执行时实现序列处理方法的步骤。

18、本公开一些实施例提出一种计算机程序产品本文档来自技高网...

【技术保护点】

1.一种序列处理方法,其特征在于,包括:

2.根据权利要求1所述的序列处理方法,其特征在于,还包括:

3.根据权利要求1所述的序列处理方法,其特征在于,还包括:

4.根据权利要求3所述的序列处理方法,其特征在于,第一计算机处理单元帮助第二计算机处理单元进行部分注意力计算包括:

5.根据权利要求4所述的序列处理方法,其特征在于,其中:

6.根据权利要求5所述的序列处理方法,其特征在于,其中:第i个计算机处理单元基于第P-i个查询向量帮助第P-i个计算机处理单元进行[P/2]’-i个注意力计算包括:

7.根据权利要求3-6任一项所述的序列处理方法,其特征在于,还包括:

8.根据权利要求7所述的序列处理方法,其特征在于,每个计算机处理单元维护并行的计算流和通信流,

9.根据权利要求1-6任一项所述的序列处理方法,其特征在于,还包括:

10.根据权利要求1-6任一项所述的序列处理方法,其特征在于,还包括:

11.根据权利要求1-6任一项所述的序列处理方法,其特征在于,所述序列向量包括:音频序列向量、视频序列向量、或者文本序列向量。

12.根据权利要求1-6任一项所述的序列处理方法,其特征在于,计算机处理单元包括图形处理单元。

13.一种序列处理装置,其特征在于,包括:多个计算机处理单元,被配置为协同执行权利要求1-12中任一项所述的序列处理方法。

14.根据权利要求13所述的序列处理装置,其特征在于,还包括:显存,用于存储序列处理方法执行过程产生的数据。

15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机处理单元执行时实现权利要求1-12任一项所述的序列处理方法的步骤。

16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被计算机处理单元执行时实现权利要求1-12中任一项所述的序列处理方法的步骤。

...

【技术特征摘要】

1.一种序列处理方法,其特征在于,包括:

2.根据权利要求1所述的序列处理方法,其特征在于,还包括:

3.根据权利要求1所述的序列处理方法,其特征在于,还包括:

4.根据权利要求3所述的序列处理方法,其特征在于,第一计算机处理单元帮助第二计算机处理单元进行部分注意力计算包括:

5.根据权利要求4所述的序列处理方法,其特征在于,其中:

6.根据权利要求5所述的序列处理方法,其特征在于,其中:第i个计算机处理单元基于第p-i个查询向量帮助第p-i个计算机处理单元进行[p/2]’-i个注意力计算包括:

7.根据权利要求3-6任一项所述的序列处理方法,其特征在于,还包括:

8.根据权利要求7所述的序列处理方法,其特征在于,每个计算机处理单元维护并行的计算流和通信流,

9.根据权利要求1-6任一项所述的序列处理方法,其特征在于,还包括:

10.根据权利要求1-6任...

【专利技术属性】
技术研发人员:张良旭裴杨舒俊华桑青园邢召龙陈震包勇军
申请(专利权)人:北京沃东天骏信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1