System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及人工智能,尤其涉及一种算子执行方法、装置、设备及存储介质。
技术介绍
1、人工智能模型通常指被训练用来进行推理预测的神经网络模型,例如图像推理模型、语音推理模型等。人工智能模型的运算可以由计算图(computation graph)中的算子(operator)来实现。计算图是一种用于表示人工智能模型的计算任务和数据流过程的多图结构。算子指的是对人工智能模型中各层的张量所做的各种运算,例如人工智能模型的卷积层对人工智能模型的输入数据所做的卷积运算即为卷积算子。张量(tensor)可以理解为多维数组,其可以具有任意多的维度,不同的张量可以具有不同的数据类型和形状。人工智能模型的计算图可以包括对张量进行众多种类运算的算子。
2、在实际应用中,采用人工智能芯片实现人工智能模型的运算。为了使人工智能芯片达到较好的性能,人工智能芯片支持多种布局(layout)类型的张量的处理。相应地,为了提升算子的泛化性,算子通常也需要支持多种布局类型的张量的输入和输出。
3、相关技术下,针对某个算子,基于输入的多种布局类型和输出的多种布局类型,构建多个布局类型组合,然后针对每种布局类型组合单独开发相应的核函数。上述方法需要针对算子开发多个核函数,这样导致开发工作量较大,且该算子中包含的核函数较多,导致算子维护难度较大。
技术实现思路
1、本申请实施例提供了一种算子执行方法、装置、设备及存储介质,用于提升算子的泛化性,降低算子的开发工作量以及维护难度。
2、
3、通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量,所述第一元张量支持读取多种布局类型的张量;
4、通过所述算子中的核函数对所述待处理张量进行计算,获得输出张量;
5、通过所述算子中的第二元张量,采用第二布局类型将所述输出张量写入物理存储中,所述第二元张量支持写多种布局类型的张量。
6、一方面,本申请实施例提供了一种算子执行装置,应用于人工智能芯片,包括:
7、数据读取单元,用于通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量,所述第一元张量支持读取多种布局类型的张量;
8、数据计算单元,用于通过所述算子中的核函数对所述待处理张量进行计算,获得输出张量;
9、数据写单元,用于通过所述算子中的第二元张量,采用第二布局类型将所述输出张量写入物理存储中,所述第二元张量支持写多种布局类型的张量。
10、可选地,所述第一元张量中包括:支持读取的多种布局类型各自对应的物理存储特征信息;所述第二元张量包括:支持写的多种布局类型各自对应的物理存储特征信息。
11、可选地,所述第一布局类型和所述第二布局类型为相同的布局类型或者不同的布局类型。
12、可选地,所述多种布局类型包括以下至少两种类型:激活矩阵类型、权重矩阵类型、矩阵类型、向量类型。
13、可选地,还包括调度单元;
14、所述调度单元具体用于:
15、所述通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量之前,基于所述第一布局类型和所述第二布局类型组成的布局类型组合,从任务调度策略集合中,获得匹配的目标调度策略,所述任务调度策略集合中包括:多种布局类型组合各自对应的任务调度策略;
16、按照所述目标调度策略对所述算子的算子任务进行切分,获得多个子任务,并为每个子任务分配相应的处理资源,每个子任务与多个待处理张量关联。
17、可选地,还包括调度单元;
18、所述调度单元具体用于:
19、通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量之前,接收中央处理器发送的所述算子的算子任务的任务调度结果,所述任务调度结果包括:所述算子任务被切分后获得的多个子任务,以及为每个子任务分配的处理资源,每个子任务与多个待处理张量关联;所述任务调度结果是所述中央处理器基于所述第一布局类型和所述第二布局类型组成的布局类型组合,从任务调度策略集合中,获得匹配的目标调度策略,并按照所述目标调度策略对所述算子的算子任务进行调度获得的,所述任务调度策略集合中包括:多种布局类型组合各自对应的任务调度策略。
20、可选地,所述数据读取单元具体用于:
21、从子任务中获取所述待处理张量的编号,并对所述编号进行映射,获得所述待处理张量在所述物理存储中的存储位置;
22、通过所述算子中的第一元张量,基于所述待处理张量的存储位置,从所述物理存储中读取第一布局类型的所述待处理张量。
23、一方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一算子执行方法的步骤。
24、一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在电子设备上运行时,使得所述电子设备执行上述任一算子执行方法的步骤。
25、本申请实施例中,算子中的第一元张量支持读取多种布局类型的张量,算子中的第二元张量支持写多种布局类型的张量,算子中的核函数只专注对读取的待处理张量进行计算,获得输出张量,故在算子中实现了张量读写与张量计算的解耦,这样,通过一次核函数的开发即可支持多种布局类型的输入和输出,而不需要针对每种布局类型组合单独开发核函数以及相应的优化策略,将开发复杂度从m*n降低为m+n,大大降低了开发工作量和维护成本。其次,通过开发算子中的第一元张量和第二元张量,使算子支持任意布局类型的张量的读写,提高了算子的泛化性,同时,避免了人工智能芯片上执行reorder等操作带来的额外性能开销,从而提升人工智能模型的性能。
本文档来自技高网...【技术保护点】
1.一种算子执行方法,应用于人工智能芯片,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述第一元张量中包括:支持读取的多种布局类型各自对应的物理存储特征信息;所述第二元张量包括:支持写的多种布局类型各自对应的物理存储特征信息。
3.如权利要求1所述的方法,其特征在于,所述第一布局类型和所述第二布局类型为相同的布局类型或者不同的布局类型。
4.如权利要求1所述的方法,其特征在于,所述多种布局类型包括以下至少两种类型:激活矩阵类型、权重矩阵类型、矩阵类型、向量类型。
5.如权利要求1所述的方法,其特征在于,所述通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量之前,还包括:
6.如权利要求1所述的方法,其特征在于,所述通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量之前,还包括:
7.如权利要求5或6所述的方法,其特征在于,所述通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量,包括:
8.一种算子执行装置,应用于人工智能芯片,其特征在于,包
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在电子设备上运行时,使得所述电子设备执行权利要求1~7任一所述方法的步骤。
...【技术特征摘要】
1.一种算子执行方法,应用于人工智能芯片,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述第一元张量中包括:支持读取的多种布局类型各自对应的物理存储特征信息;所述第二元张量包括:支持写的多种布局类型各自对应的物理存储特征信息。
3.如权利要求1所述的方法,其特征在于,所述第一布局类型和所述第二布局类型为相同的布局类型或者不同的布局类型。
4.如权利要求1所述的方法,其特征在于,所述多种布局类型包括以下至少两种类型:激活矩阵类型、权重矩阵类型、矩阵类型、向量类型。
5.如权利要求1所述的方法,其特征在于,所述通过算子中的第一元张量,从物理存储中读取第一布局类型的待处理张量之前,还包括:
6.如...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:上海壁仞科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。