基于算力资源优化的神经网络模型生成方法及相关装置与流程

文档序号:35248066发布日期:2023-08-25 19:59阅读:26来源:国知局
基于算力资源优化的神经网络模型生成方法及相关装置与流程

本技术涉及异构计算平台建模,尤其涉及基于算力资源优化的神经网络模型生成方法及相关装置。


背景技术:

1、针对异构芯片不同算力资源,算法通常要在体积适配算力的同时,还要兼顾准确率。常见做法是针对算力资源限制,采用体积和算力需求相当的比较成熟的算法模型;另一种做法是在算力不足以支撑算法模型体积时,对模型进行压缩。在芯片算力资源限制下,通常针对算力资源小的芯片采用占用较少的算力的轻量化模型,常用的轻量化模型有squeezenet、mobilenet、xception、yolo等;针对算力资源充足的芯片采用精确度更高的大模型,如vgg,fasterrcnn。在算力不足以支撑算法模型体积所需的计算量时,通常对模型进行压缩,以满足芯片算力限制。常用的模型压缩方式是模型剪枝操作,通过减少网络结构的宽度(w)、高度(h)和深度(d),来减少算力消耗,以适配芯片算力。

2、但是,异构芯片算力资源大小呈多样化,而固定的轻量化模型通常是固定的体积和算力需求,缺乏适配算力资源的体积弹性,在满足算力资源限制的前提下,超出需求的芯片算力容易形成浪费。在算力不足以支撑算法模型体积时,现有的模型剪枝操作太过简单直接,并未考虑剪枝后网络结构的变化,忽略了模型算子之间的搭配问题,这样很有可能会破坏模型网络结构,模型精度必然也会随之降低。


技术实现思路

1、本技术提供了基于算力资源优化的神经网络模型生成方法及相关装置,用于解决现有技术的固定模型算力资源缺乏适配弹性,模型剪枝操作则忽略了模型算子间的搭配问题,导致构建的模型缺乏可靠性和准确性的技术问题。

2、有鉴于此,本技术第一方面提供了基于算力资源优化的神经网络模型生成方法,包括:

3、采用预置测试用例测试神经网络模型算子在不同芯片上的占用算力资源量,并构建算子算力占用表,所述算子算力占用表包括算子名称、芯片型号、执行时间和所述占用算力资源量;

4、在基于所述算子算力占用表确定搜索约束项的基础上,依据网络结构算子选择的动作构建强化学习状态空间,所述强化学习状态空间包括状态向量;

5、基于预置奖励函数和预置损失函数,采用策略梯度算法训练预置策略网络在所述强化学习状态空间中迭代搜索最优网络结构,得到最优神经网络模型,所述预置损失函数包括actor损失函数和critic损失函数。

6、优选地,所述采用预置测试用例测试神经网络模型算子在不同芯片上的占用算力资源量,并构建算子算力占用表,所述算子算力占用表包括算子名称、芯片型号、执行时间和所述占用算力资源量,包括:

7、采用预置测试用例测试神经网络模型中每个算子在不同芯片上的执行时间和占用算力资源量;

8、根据算子名称、芯片型号、所述执行时间和所述占用算力资源量构建算子算力占用表。

9、优选地,所述在基于所述算子算力占用表确定搜索约束项的基础上,依据网络结构算子选择的动作构建强化学习状态空间,所述强化学习状态空间包括状态向量,之后还包括:

10、以根据当前动作状态预测下一刻动作概率为目标定义预置策略网络;

11、依据动作概率构建actor损失函数,并根据动作状态构建critic损失函数;

12、结合所述actor损失函数和所述critic损失函数生成预置损失函数。

13、优选地,所述以根据当前动作状态预测下一刻动作概率为目标定义预置策略网络,之后还包括:

14、通过预置正则化项对所述预置策略网络进行搜索优化操作。

15、本技术第二方面提供了基于算力资源优化的神经网络模型生成装置,包括:

16、算力测试单元,用于采用预置测试用例测试神经网络模型算子在不同芯片上的占用算力资源量,并构建算子算力占用表,所述算子算力占用表包括算子名称、芯片型号、执行时间和所述占用算力资源量;

17、空间构建单元,用于在基于所述算子算力占用表确定搜索约束项的基础上,依据网络结构算子选择的动作构建强化学习状态空间,所述强化学习状态空间包括状态向量;

18、迭代寻优单元,用于基于预置奖励函数和预置损失函数,采用策略梯度算法训练预置策略网络在所述强化学习状态空间中迭代搜索最优网络结构,得到最优神经网络模型,所述预置损失函数包括actor损失函数和critic损失函数。

19、优选地,所述算力测试单元,具体用于:

20、采用预置测试用例测试神经网络模型中每个算子在不同芯片上的执行时间和占用算力资源量;

21、根据算子名称、芯片型号、所述执行时间和所述占用算力资源量构建算子算力占用表。

22、优选地,还包括:

23、策略制定单元,用于以根据当前动作状态预测下一刻动作概率为目标定义预置策略网络;

24、第一损失单元,用于依据动作概率构建actor损失函数,并根据动作状态构建critic损失函数;

25、第二损失单元,用于结合所述actor损失函数和所述critic损失函数生成预置损失函数。

26、优选地,还包括:

27、正则优化单元,用于通过预置正则化项对所述预置策略网络进行搜索优化操作。

28、本技术第三方面提供了基于算力资源优化的神经网络模型生成设备,所述设备包括处理器以及存储器;

29、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

30、所述处理器用于根据所述程序代码中的指令执行第一方面所述的基于算力资源优化的神经网络模型生成方法。

31、本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的基于算力资源优化的神经网络模型生成方法。

32、从以上技术方案可以看出,本技术实施例具有以下优点:

33、本技术中,提供了基于算力资源优化的神经网络模型生成方法,包括:采用预置测试用例测试神经网络模型算子在不同芯片上的占用算力资源量,并构建算子算力占用表,算子算力占用表包括算子名称、芯片型号、执行时间和占用算力资源量;在基于算子算力占用表确定搜索约束项的基础上,依据网络结构算子选择的动作构建强化学习状态空间,强化学习状态空间包括状态向量;基于预置奖励函数和预置损失函数,采用策略梯度算法训练预置策略网络在强化学习状态空间中迭代搜索最优网络结构,得到最优神经网络模型,预置损失函数包括actor损失函数和critic损失函数。

34、本技术提供的基于算力资源优化的神经网络模型生成方法,通过迭代优化算法在强化学习状态空间中搜索最优网络结构,即通过优化选取模型算子的方式灵活生成最优神经网络模型,而不是采用固定轻量化模型;而且强化学习状态空间基于搜索约束项构建,能够适配实际的异构芯片算力资源;此外,在优化搜索过程中,通过预置奖励函数、预置损失函数和预置策略网络共同作用搜索出最优的模型算子,能够考虑模型算子之间的搭配问题,在压缩模型的同时兼顾模型精度。因此,本技术能够解决现有技术的固定模型算力资源缺乏适配弹性,模型剪枝操作则忽略了模型算子间的搭配问题,导致构建的模型缺乏可靠性和准确性的技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1