用于AI加速器的数据批处理方法、装置、计算机设备、介质及程序产品与流程
本公开涉及计算机,尤其涉及人工智能硬件加速等领域,特别是涉及一种用于ai加速器的数据批处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品。
背景技术:
1、在人工智能加速器技术领域,高效执行神经网络模型推理始终是行业追求的核心目标。ai加速器通常采用静态图执行模式,即编译器将ai模型编译为由一系列算子组成的静态计算图,ai加速器按序执行各算子完成推理。然而,在实际的ai推理部署场景中,服务端通常需要支持批处理,即一次处理多个输入样本以提高吞吐率。这要求ai加速器能够对同一模型、不同输入数据批量执行推理,但编译器通常仅生成单个批次(batch)的静态图配置,因此,亟需一种能够在单批次静态图配置下扩展为多批次硬件执行配置的方案,以提升ai加速器运行时的效率。
技术实现思路
1、本公开提供了一种用于ai加速器的数据批处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品。
2、根据本公开的一方面,提供了一种用于ai加速器的数据批处理方法,包括:获取编译器针对单个批次生成的静态图配置,其中,静态图配置包括由多个算子按执行顺序排列构成的算子序列以及每个算子的配置信息,配置信息用于指示ai加速器执行该算子对应的数据传输和计算操作,包括同步标志位、直接存储器访问的描述信息以及操作码序列,同步标志位用于指示该算子的数据就绪信号的推送状态和获取状态;基于目标批次的数量n,以针对单个批次生成的静态图配置为模板进行n-1次复制操作,以生成n-1个副本静态图配置,其中,每个副本静态图配置具有对应的批次标识,n为大于1的正整数;基于每个副本静态图配置对应的批次标识,更新每个副本静态图配置中的每个算子的配置信息,以得到每个副本静态图配置中每个算子的目标配置信息;基于算子序列中每个算子的同步标志位以及每个副本静态图配置中每个算子的目标配置信息,确定算子序列中每个算子的配置信息与每个副本静态图配置中每个算子的目标配置信息之间的排列顺序,以生成目标配置信息序列;以及控制ai加速器基于目标配置信息序列执行对应的数据传输和计算操作。
3、在一些实施例中,基于每个副本静态图配置对应的批次标识,更新每个副本静态图配置中的每个算子的配置信息,以得到每个副本静态图配置中每个算子的目标配置信息,包括:针对每个副本静态图配置中的每个算子,遍历该算子的配置信息中直接存储器访问的描述信息中的每条传输记录,针对每条传输记录,获取该条传输记录的数据类型;基于该条传输记录的数据类型和该条传输记录所属的副本静态图配置的批次标识,查询预建的内存布局映射表,获取对应的地址偏移量;基于地址偏移量与基准地址相加后的结果,更新该条传输记录中的地址值,以得到该算子的目标配置信息。
4、在一些实施例中,内存布局映射表记录每种数据类型在对应的批次标识下相对于基准地址的地址偏移量,数据类型包括输入激活数据、权重数据、计算结果回写数据和辅助参数数据。
5、在一些实施例中,目标配置信息序列包括第一目标配置信息序列和第二目标配置信息序列,基于算子序列中每个算子的同步标志位以及每个副本静态图配置中每个算子的目标配置信息,确定算子序列中每个算子的配置信息与每个副本静态图配置中每个算子的目标配置信息之间的排列顺序,以生成目标配置信息序列,包括:基于预设筛选规则,从算子序列中确定是否存在至少一个目标子序列,其中,在每个目标子序列中,同步标志位指示推送状态的算子的数量与同步标志位指示获取状态的算子的数量相等;响应于存在至少一个目标子序列,针对每个目标子序列,确定该目标子序列中各算子的配置信息和每个副本静态图配置中与该目标子序列中各算子位于相同位置的算子的目标配置信息之间的排列顺序,以得到第一目标配置信息序列;以及针对算子序列中不属于任何至少一个目标子序列的每个算子,将该算子的配置信息与每个副本静态图配置中与该算子位于相同位置的算子的目标配置信息按批次标识的顺序依次排列,以得到第二目标配置信息序列。
6、在一些实施例中,基于预设筛选规则,从算子序列中确定是否存在至少一个目标子序列,包括:按照算子序列的执行顺序依次遍历每个算子的同步标志位,并设置一个计数器,计数器的初始值为零;针对每个算子,响应于该算子的同步标志位指示获取状态,将计数器的值减一,以及响应于该算子的同步标志位指示推送状态,将计数器的值加一;以及针对每个算子,响应于计数器的值由零变为非零,则将该算子的位置标记为起始位置,响应于计数器的值由非零变为零,则将该算子的位置标记为终止位置,以确定存在目标子序列,其中,目标子序列为从起始位置到终止位置的连续的算子组成的序列。
7、在一些实施例中,第一目标配置信息序列包括第一子目标配置信息序列和第二子目标配置信息序列,响应于存在至少一个目标子序列,针对每个目标子序列,确定该目标子序列中各算子的配置信息和每个副本静态图配置中与该目标子序列中各算子位于相同位置的算子的目标配置信息之间的排列顺序,以得到第一目标配置信息序列,包括:针对每个目标子序列,响应于该目标子序列中同步标志位为推送状态的算子与对应的同步标志位为获取状态的算子相邻,针对该目标子序列中的每个算子,从n-1个副本静态图配置中的每个副本静态图配置中提取与该算子处于相同位置的算子的目标配置信息,以得到与该算子对应的n-1个目标配置信息,将该算子的配置信息和该算子对应的n-1个目标配置信息按批次标识的顺序依次排列,以得到第一子目标配置信息序列;以及针对每个目标子序列,响应于该目标子序列中同步标志位为推送状态的算子与对应的同步标志位为获取状态的算子不相邻,对n-1个副本静态图配置中的每个副本静态图配置,将该副本静态图配置中与该目标子序列中各算子处于相同位置的算子的目标配置信息按照执行顺序排列为一个副本配置信息序列,以得到n-1个副本配置信息序列,将该目标子序列中各算子的配置信息按照执行顺序排列为初始配置信息序列,将初始配置信息序列与n-1个副本配置信息序列按照批次标识的顺序依次排列,以得到第二子目标配置信息序列。
8、根据本公开的一方面,提供了一种用于ai加速器的数据批处理装置,包括:静态图配置生成模块,被配置为获取编译器针对单个批次生成的静态图配置,其中,静态图配置包括由多个算子按执行顺序排列构成的算子序列以及每个算子的配置信息,配置信息用于指示ai加速器执行该算子对应的数据传输和计算操作,包括同步标志位、直接存储器访问的描述信息以及操作码序列,同步标志位用于指示该算子的数据就绪信号的推送状态和获取状态;静态图配置复制模块,被配置为基于目标批次的数量n,以针对单个批次生成的静态图配置为模板进行n-1次复制操作,以生成n-1个副本静态图配置,其中,每个副本静态图配置具有对应的批次标识,n为大于1的正整数;配置信息更新模块,被配置为基于每个副本静态图配置对应的批次标识,更新每个副本静态图配置中的每个算子的配置信息,以得到每个副本静态图配置中每个算子的目标配置信息;目标序列生成模块,被配置为基于算子序列中每个算子的同步标志位以及每个副本静态图配置中每个算子的目标配置信息,确定算子序列中每个算子的配置信息与每个副本静态图配置中每个算子的目标配置信息之间的排列顺序,以生成目标配置信息序列;以及操作执行模块,被配置为控制ai加速器基于目标配置信息序列执行对应的数据传输和计算操作。
9、根据本公开的另一方面,提供了一种计算机设备,包括:至少一个处理器;以及存储器,其上存储有计算机程序,计算机程序在被该至少一个处理器执行时,使该至少一个处理器执行本公开如上所提供的方法。
10、根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行本公开如上所提供的方法。
11、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行本公开如上所提供的方法。
12、根据本公开的一个或多个实施例,通过对单批次静态图配置进行复制、更新和排列顺序的确定,从而实现多批次推理的自动扩展,提升ai加速器的批处理效率。
13、根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com