System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及人工智能,尤其涉及一种算子执行方法、设备、存储介质及程序产品。
技术介绍
1、随着人工智能技术的快速发展,大语言模型(large language models,llm)在自然语言处理、计算机视觉、语音识别等领域被广泛使用。目前,大语言模型普遍以transformer结构为核心基础架构,transformer结构的核心计算部分是注意力机制(attention)算子。
2、在大语言模型对多个批次任务进行推理时,attention算子可以依次针对各个批次任务执行矩阵计算和矢量计算,但是当待推理的批次任务太多,这将会带来巨大的时间开销,如何降低推理大量批次任务所带来的时间开销,是目前亟需解决的技术问题。
技术实现思路
1、本申请实施例提供了一种算子执行方法、设备、存储介质及程序产品,用于降低推理大量批次任务所带来的时间开销。
2、一方面,本申请实施例提供了一种算子执行方法,应用于包括s个张量计算核和w个矢量计算核的人工智能芯片,所述人工智能芯片用于采用注意力机制算子对n个批次任务进行处理;所述注意力机制算子至少包括对所述n个批次任务中任一批次任务进行依序执行的第一矩阵算子、矢量算子和第二矩阵算子;s、w均为正整数,n为大于2的整数;
3、在第二线程束组采用所述矢量算子对所述n个批次任务中第n批次任务进行矢量计算时,第一线程束组采用所述第一矩阵算子对所述n个批次任务中第n+1批次任务进行矩阵计算,且第三线程束组采用所述第二矩阵算子对所
4、可选地,所述第二线程束组采用所述矢量算子对所述n个批次任务中第n批次任务进行矢量计算,包括:
5、所述第二线程束组接收所述第一线程束组发送的所述第n批次任务对应的第一指令且所述第二线程束组对所述第n-1批次任务的矢量计算结束,则所述第二线程束组采用所述矢量算子对所述第n批次任务进行矢量计算;所述第n批次任务对应的第一指令用于标识所述第一线程束组采用所述第一矩阵算子对所述第n批次任务的矩阵计算结束。
6、可选地,所述第二线程束组采用所述矢量算子对所述第n批次任务进行矢量计算,包括:
7、所述第二线程束组获取所述第n批次任务对应的第一中间结果;所述第n批次任务对应的第一中间结果为所述第一线程束组采用所述第一矩阵算子对所述第n批次任务进行矩阵计算的结果;
8、所述第二线程束组采用所述矢量算子对所述第n批次任务对应的第一中间结果进行矢量计算,获得所述第n批次任务对应的第二中间结果。
9、可选地,所述第一线程束组采用所述第一矩阵算子对所述n个批次任务中第n+1批次任务进行矩阵计算,包括:
10、所述第一线程束组采用所述第一矩阵算子对所述第n批次任务的矩阵计算结束,则所述第一线程束组采用所述第一矩阵算子对所述第n+1批次任务进行矩阵计算。
11、可选地,所述第三线程束组采用所述第二矩阵算子对所述n个批次任务中第n-1批次任务进行矩阵计算,包括:
12、所述第三线程束组接收所述第二线程束组发送的所述第n-1批次任务对应的第二指令且所述第三线程束组采用所述第二矩阵算子对第n-2批次任务的矩阵计算结束,则所述第三线程束组采用所述第二矩阵算子对所述第n-1批次任务进行矩阵计算;所述第n-1批次任务对应的第二指令用于标识所述第二线程束组采用所述矢量算子对所述第n-1批次任务的矢量计算结束。
13、可选地,所述第三线程束组采用所述第二矩阵算子对所述第n-1批次任务进行矩阵计算,包括:
14、所述第三线程束组获取所述第n-1批次任务对应的第二中间结果;所述第n-1批次任务对应的第二中间结果为所述第二线程束组采用所述矢量算子对所述第n-1批次任务进行矢量计算的结果;
15、所述第三线程束组采用所述第二矩阵算子对所述第n-1批次任务对应的第二中间结果进行矩阵计算,获得所述第n-1批次任务的结果。
16、可选地,所述第二线程束组采用所述矢量算子对所述n个批次任务中第n批次任务进行矢量计算之前,还包括:
17、所述第一线程束组采用所述第一矩阵算子对所述第n批次任务的矩阵计算结束,并且所述第一线程束组向所述第二线程束组发送所述第n批次任务对应的第一指令。
18、一方面,本申请实施例提供了一种算子执行装置,包括:
19、矩阵计算模块,用于在第二线程束组采用矢量算子对n个批次任务中第n批次任务进行矢量计算时,通过第一线程束组采用第一矩阵算子对所述n个批次任务中第n+1批次任务进行矩阵计算,且通过第三线程束组采用第二矩阵算子对所述n个批次任务中第n-1批次任务进行矩阵计算;所述第二线程束组包括w个矢量计算核,所述第一线程束组包括s个张量计算核中s1个张量计算核,所述第三线程束组包括所述s个张量计算核中s2个张量计算核;n的取值范围为[2,n],n为大于2的整数,s1和s2均小于s,s1与s2之和小于或等于s。
20、可选地,矢量计算模块,用于在所述第二线程束组接收所述第一线程束组发送的所述第n批次任务对应的第一指令且所述第二线程束组对所述第n-1批次任务的矢量计算结束时,通过所述第二线程束组采用所述矢量算子对所述第n批次任务进行矢量计算;所述第n批次任务对应的第一指令用于标识所述第一线程束组采用所述第一矩阵算子对所述第n批次任务的矩阵计算结束。
21、可选地,所述矢量计算模块,具体用于:
22、通过所述第二线程束组获取所述第n批次任务对应的第一中间结果;所述第n批次任务对应的第一中间结果为所述第一线程束组采用所述第一矩阵算子对所述第n批次任务进行矩阵计算的结果;
23、通过所述第二线程束组采用所述矢量算子对所述第n批次任务对应的第一中间结果进行矢量计算,获得所述第n批次任务对应的第二中间结果。
24、可选地,所述矩阵计算模块,具体用于:
25、在所述第一线程束组采用所述第一矩阵算子对所述第n批次任务的矩阵计算结束时,通过所述第一线程束组采用所述第一矩阵算子对所述第n+1批次任务进行矩阵计算。
26、可选地,所述矩阵计算模块,具体用于:
27、在所述第三线程束组接收所述第二线程束组发送的所述第n-1批次任务对应的第二指令且所述第三线程束组采用所述第二矩阵算子对第n-2批次任务的矩阵计算结束时,通过所述第三线程束组采用所述第二矩阵算子对所述第n-1批次任务进行矩阵计算;所述第n-1批次任务对应的第二指令用于标识所述第二线程束组采用所述矢量算子对所述第n-1批次任务的本文档来自技高网...
【技术保护点】
1.一种算子执行方法,其特征在于,应用于包括S个张量计算核和W个矢量计算核的人工智能芯片,所述人工智能芯片用于采用注意力机制算子对N个批次任务进行处理;所述注意力机制算子至少包括对所述N个批次任务中任一批次任务进行依序执行的第一矩阵算子、矢量算子和第二矩阵算子;S、W均为正整数,N为大于2的整数;
2.如权利要求1所述的方法,其特征在于,所述第二线程束组采用所述矢量算子对所述N个批次任务中第n批次任务进行矢量计算,包括:
3.如权利要求2所述的方法,其特征在于,所述第二线程束组采用所述矢量算子对所述第n批次任务进行矢量计算,包括:
4.如权利要求1所述的方法,其特征在于,所述第一线程束组采用所述第一矩阵算子对所述N个批次任务中第n+1批次任务进行矩阵计算,包括:
5.如权利要求1所述的方法,其特征在于,所述第三线程束组采用所述第二矩阵算子对所述N个批次任务中第n-1批次任务进行矩阵计算,包括:
6.如权利要求5所述的方法,其特征在于,所述第三线程束组采用所述第二矩阵算子对所述第n-1批次任务进行矩阵计算,包括:
< ...【技术特征摘要】
1.一种算子执行方法,其特征在于,应用于包括s个张量计算核和w个矢量计算核的人工智能芯片,所述人工智能芯片用于采用注意力机制算子对n个批次任务进行处理;所述注意力机制算子至少包括对所述n个批次任务中任一批次任务进行依序执行的第一矩阵算子、矢量算子和第二矩阵算子;s、w均为正整数,n为大于2的整数;
2.如权利要求1所述的方法,其特征在于,所述第二线程束组采用所述矢量算子对所述n个批次任务中第n批次任务进行矢量计算,包括:
3.如权利要求2所述的方法,其特征在于,所述第二线程束组采用所述矢量算子对所述第n批次任务进行矢量计算,包括:
4.如权利要求1所述的方法,其特征在于,所述第一线程束组采用所述第一矩阵算子对所述n个批次任务中第n+1批次任务进行矩阵计算,包括:
5.如权利要求1所述的方法,其特征在于,所述第三线程束组采用所述第二矩阵算子对所述n个批次任务中第n-1批次任务进行矩阵计算,包括:
6.如权利要求...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:上海壁仞科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。