一种模型训练方法、模型确定方法以及装置与流程

文档序号:37470417发布日期:2024-03-28 18:53阅读:13来源:国知局
一种模型训练方法、模型确定方法以及装置与流程

本技术涉及人工智能领域,尤其涉及一种模型训练方法、模型确定方法以及装置。


背景技术:

1、模型量化为将浮点计算转成低比特定点计算的技术,可以有效降低模型计算强度、参考大小和内存消耗,又由于其简单性和适应性,被广泛应用于深度神经网络的压缩和加速。对于给定的一个神经网络模型,量化比特宽度通常都是预先定义好的。然而,在不同的硬件设备和不同的传输需求中,比特宽度应该被设置为不同的,这就导致了很大的训练和存储成本。

2、通常,根据网络层的敏感度不同,采用不同的量化比特对全精度神经网络模型的网络层进行量化,并对量化后的神经网络模型进行训练,得到混合比特量化模型。然而,基于全精度神经网络模型进行量化,需要存储全精度的神经网络模型,占用内存较大,不利于模型的存储。


技术实现思路

1、本技术提供了一种模型训练方法、模型确定方法以及装置,用于对基于两次量化得到的多个不同精度的量化模型进行训练,得到训练后的混合比特超网络,通过存储最高比特量化模型,从而减小存储模型占用的内存大小。

2、有鉴于此,第一方面,本技术提供一种模型训练方法,包括:首先,获取第一量化模型,该第一量化模型可以预先已存储于存储器中,因此第一量化模型可以是直接从存储器中读取得到,此外,还可以是对获取的全精度神经网络模型的参数进行量化得到;在第一量化模型的基础上,对该第一量化模型的参数进行量化,得到更低精度的第二量化模型,随后,对得到的第一量化模型和第二量化模型进行联合训练,进而得到训练后的混合比特超网络,该训练后的混合比特超网中包括多个子网络,该多个子网络包括训练后的第一量化模型和训练后的一个或多个第二量化模型。

3、本技术实施方式中,采用两次量化的量化方式,通过对全精度神经网络模型进行量化后的第一量化模型,进行再次量化,得到更低精度的量化模型,该量化方式可以第一量化模型为基础,得到多个不同精度的量化模型,因此,在模型量化过程中,可只存储第一量化模型,便可得到其他更低量化比特对应的多个不同精度的量化模型,从而减小模型存储所占用的内存大小。

4、在一种可能的实施方式中,前述的通过对第一量化模型和第二量化模型进行训练,得到训练后的混合比特超网络,可以包括:对第一量化模型和第二量化模型进行训练,得到训练后的第一量化模型即第三量化模型和训练后的第二量化模型即第四量化模型;将得到的第三量化模型和第四量化模型进行组合得到混合比特超网络;对该混合比特超网络进行训练,得到训练后的混合比特超网络。

5、本技术实施方式中,可以对第一量化模型和第二量化模型进行训练,将训练后的量化模型即第三量化模型和第四量化模型进行组合,从而得到包括多个不同精度的量化模型的混合比特超网络,以便后续从训练后的混合比特超网络中确定符合条件的目标混合比特量化模型。

6、在一种可能的实施方式中,前述的对第一量化模型和第二量化模型进行训练,得到第三量化模型和第四量化模型,可以包括:采用不同的学习率对第一量化模型和第二量化模型进行训练,得到第三量化模型和第四量化模型。

7、在本技术实施方式中,可以采用不同的学习率对不同精度的量化模型进行训练,从而使得不同精度的量化模型在训练过程中的步幅尽可能一致,从而尽可能达到同时收敛,以提升量化网络的性能。

8、在一种可能的实施方式中,前述的采用不同的学习率对第一量化模型和第二量化模型进行训练,可以包括:采用第一学习率对第一量化模型进行训练,采用第二学习率对第二量化模型进行训练,第一学习率和第二学习率可以满足等比关系、等差关系或多项式关系中的一种。

9、本技术实施方式中,不同精度的量化模型采用的不同学习率可以满足等比关系、等差关系或多项式关系中的一种,增加了方案的多样性。

10、在一种可能的实施方式中,前述的对混合比特超网络进行训练,得到训练后的混合比特超网络,可以包括:计算混合比特超网络中的每个网络层的量化敏感度,该量化敏感度用于表示该每个网络层的量化误差值;根据该量化敏感度确定每个网络层中不同量化比特对应的量化模型的训练次数,该训练次数和量化比特正相关,该量化比特和量化敏感度正相关;随后根据训练次数对混合比特超网络进行训练,得到训练后的混合比特超网络。

11、本技术实施方式中,可以基于每个网络层的量化敏感度确定不同量化比特对应的量化模型的训练次数,从而使得训练阶段和推理阶段一致,以提高测试性能。

12、在一种可能的实施方式中,前述的计算混合比特超网络中的每个网络层的量化敏感度,可以包括:计算每个网络层的海森矩阵;根据每个网络层的海森矩阵得到对应网络层的量化敏感度。

13、本技术实施方式中,可以通过计算网络层的海森矩阵。从而得到对应网络层的量化敏感度,便于后续根据该量化敏感度确定训练次数。

14、在一种可能的实施方式中,前述的第一量化比特为预设量化比特中的最高量化比特。

15、本技术实施方式中,可以采用预设量化比特中的最高量化比特,以使得可以基于使用最高量化比特进行量化的第一量化模型,得到预设比特中任意其他量化比特对应的量化模型,从而通过存储最高比特量化模型,减小模型存储占用的内存。

16、在一种可能的实施方式中,前述的对第一量化模型的参数进行量化,得到第二量化模型,可以包括:根据差值确定对第一量化模型的参数进行量化的量化步长,该差值为第一量化比特和第二量化比特之间的差值;根据该量化步长对该第一量化模型的参数进行量化,得到第二量化模型。

17、在一种可能的实施方式中,训练后的混合比特超网络用于图像分类、目标检测、语义分割或者图像处理。因此,通过本技术提供的方法得到的混合比特超网络可以应用于各种涉及神经网络模型量化的场景,泛化能力很强。

18、第二方面,本技术提供一种模型确定方法,包括:获取计算量,该计算量为浮点计算次数(floating point operations,flops)在不同量化比特影响下的比特计算量,不同量化比特对应的量化模型对应的计算量不同;根据该计算量从训练后的混合比特超网络中确定目标混合比特量化模型,训练后的混合比特超网络包括不同量化比特对应的多个子网络,目标混合比特量化模型为训练后的混合比特超网络中满足计算量的一个子网络。

19、本技术实施方式中,训练后的混合比特超网络中包括多个所需算力不同的子网络,因此,可基于给定的计算量,从训练后的混合比特超网络中确定出满足条件的目标混合比特量化模型,从而满足不同的运算需求。

20、在一种可能的实施方式中,前述的根据计算量从训练后的混合比特超网络中确定目标混合比特量化模型,可以包括:计算训练后的混合比特超网络中每个网络层的量化敏感度,该量化敏感度用于表示每个网络层的量化误差值;根据该计算量,可以采用线性规划算法从训练后的混合比特超网络中确定出多个满足计算量的混合比特量化模型;根据每个网络层的量化敏感度从多个混合比特量化模型中确定出目标混合比特量化模型。

21、本技术实施方式中,可以根据网络层的量化敏感度从满足计算量的多个混合比特量化模型中确定出目标混合比特量化模型,从而降低量化对神经网络模型带来的误差。

22、在一种可能的实施方式中,前述的训练后的混合比特超网络为通过前述模型训练方法进行训练得到的。

23、在一种可能的实施方式中,目标混合比特量化模型用于图像分类、目标检测、语义分割或者图像处理。

24、第三方面,本技术提供一种模型训练装置,包括:

25、获取模块,用于获取第一量化模型,第一量化模型为对全精度神经网络模型的参数进行量化得到的;

26、量化模块,用于对第一量化模型的参数进行量化,得到第二量化模型,第一量化模型的第一量化比特大于所第二量化模型的第二量化比特;

27、训练模块,用于通过对第一量化模型和第二量化模型进行训练,得到训练后的混合比特超网络,训练后的混合比特超网络中包括多个子网络,多个子网络包括对第一量化模型和第二量化模型进行训练得到。

28、在一种可能的实施方式中,训练模块,具体用于对第一量化模型和第二量化模型进行训练,得到第三量化模型和第四量化模型,第三量化模型为对第一量化模型进行训练得到,第四量化模型为对第二量化模型进行训练得到;将第三量化模型和第四量化模型组合得到混合比特超网络;对混合比特超网络进行训练,得到训练后的混合比特超网络。

29、在一种可能的实施方式中,训练模块,具体用于采用不同的学习率分别对第一量化模型和第二量化模型进行训练,得到第三量化模型和第四量化模型。

30、在一种可能的实施方式中,训练模块,具体用于采用第一学习率对第一量化模型进行训练,采用第二学习率对第二量化模型进行训练,第一学习率和第二学习率之间满足预设关系,且第一学习率大于第二学习率,预设关系包括等比关系、等差关系或多项式关系中的一种。

31、在一种可能的实施方式中,训练模块,具体用于计算混合比特超网络的每个网络层的量化敏感度,量化敏感度用于表示每个网络层的量化误差值;根据量化敏感度确定每个网络层中不同量化比特对应的量化模型的训练次数,训练次数与量化比特正相关,量化比特与量化敏感度正相关;根据训练次数对混合比特超网络进行训练,得到训练后的混合比特超网络。

32、在一种可能的实施方式中,训练模块,具体用于计算每个网络层的海森矩阵;根据每个网络层的海森矩阵得到对应网络层的量化敏感度。

33、在一种可能的实施方式中,获取模块,具体用于获取全精度神经网络模型,对全精度神经网络模型的参数进行量化,得到第一量化模型;或,从存储器中读取第一量化模型,第一量化模型为对全精度神经网络模型的参数进行量化得到的。

34、在一种可能的实施方式中,第一量化比特为预设量化比特中的最高量化比特。

35、在一种可能的实施方式中,量化模块,具体用于根据差值确定对第一量化模型的参数进行量化的量化步长,差值为第一量化比特和第二量化比特之间的差值;根据量化步长对第一量化模型的参数进行量化,得到第二量化模型。

36、在一种可能的实施方式中,训练后的混合比特超网络用于图像分类、目标检测、语义分割或者图像处理。

37、第四方面,本技术提供一种模型确定装置,包括:

38、获取模块,用于获取计算量;

39、确定模块,用于根据计算量从训练后的混合比特超网络中确定目标混合比特量化模型,所述训练后的混合比特超网络中包括多个子网络,多个子网络包括对第一量化模型和第二量化模型进行训练得到。

40、在一种可能的实施方式中,确定模块,具体用于计算训练后的混合比特超网络中每个网络层的量化敏感度,量化敏感度用于表示每个网络层的量化误差值;根据计算量,采用线性规划算法从训练后的混合比特超网络中确定多个混合比特量化模型;根据每个网络层的量化敏感度从多个混合比特量化模型中确定目标混合比特量化模型。

41、在一种可能的实施方式中,训练后的混合比特超网络为前述模型训练装置进行训练得到。

42、在一种可能的实施方式中,目标混合比特量化模型用于图像分类、目标检测、语义分割或者图像处理。

43、第五方面,本技术提供一种模型训练装置,该模型训练装置包括:处理器、存储器、输入输出设备以及总线;该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,用于实现如第一方面任意一种实现方式。

44、第六方面,本技术提供一种模型确定装置,该模型确定装置包括:处理器、存储器、输入输出设备以及总线;该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,用于实现如第二方面任意一种实现方式。

45、第七方面,本技术实施例提供了一种芯片系统,该芯片系统包括处理器和输入/输出端口,所述处理器用于实现上述第一方面或第二方面所述的方法所涉及的处理功能,所述输入/输出端口用于实现上述第一方面或第二方面所述的方法所涉及的收发功能。

46、在一种可能的设计中,该芯片系统还包括存储器,该存储器用于存储实现上述第一方面或第二方面所述的方法所涉及功能的程序指令和数据。

47、该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

48、第八方面,本技术实施例提供一种计算机可读存储介质。该计算机可读存储介质中存储有计算机指令;当该计算机指令在计算机上运行时,使得该计算机执行如第一方面或第二方面中任意一种可能的实现方式所述的方法。

49、第九方面,本技术实施例提供一种计算机程序产品。该计算机程序产品包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行如第一方面或第二方面中任意一种可能的实现方式所述的方法。

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