【技术实现步骤摘要】
分布式部署模型的量化方法、装置、设备和介质
[0001]本公开涉及人工智能领域,具体涉及深度学习、分布式训练和模型量化等
,尤其涉及一种分布式部署模型的量化方法、装置、设备和介质。
技术介绍
[0002]随着计算机技术和网络技术的发展,神经网络模型的应用越来越广泛,与此同时,也对神经网络模型的精度提出越来越高的要求。为了满足精度要求,神经网络模型通常具有大规模的参数量,对存储空间和计算资源的需求均较大,这给神经网络模型的部署和应用带来了巨大挑战。
[0003]为了应对该巨大挑战,多种压缩模型的方法应运而生。但模型的压缩不可避免的会带来模型精度的损失。
技术实现思路
[0004]本公开旨在提供一种分布式部署模型的量化方法、装置、设备和介质,以提高量化得到的模型的精度。
[0005]根据本公开的第一个方面,提供了一种分布式部署模型的量化方法,包括:对于部署的模型所包括的多个网络层,确定根据第一量化精度量化多个网络层中每个网络层的损失值,作为每个网络层的量化损失值;将多个网络层的量化损失值发送给分布式部署模型的多个计算节点中的目标节点,以使所述目标节点根据接收的量化损失值确定多个网络层中的目标网络层;以及根据第一量化精度量化目标网络层的网络参数。
[0006]根据本公开的第二个方面,提供了一种分布式部署模型的量化装置,包括:第一损失确定模块,用于对于部署的模型所包括的多个网络层,确定根据第一量化精度量化多个网络层中每个网络层的损失值,作为每个网络层的量化损失值;第一损失发送模块 ...
【技术保护点】
【技术特征摘要】
1.一种分布式部署模型的量化方法,包括:对于部署的模型所包括的多个网络层,确定根据第一量化精度量化所述多个网络层中每个网络层的损失值,作为所述每个网络层的量化损失值;将所述多个网络层的量化损失值发送给分布式部署模型的多个计算节点中的目标节点,以使所述目标节点根据接收的量化损失值确定所述多个网络层中的目标网络层;以及根据所述第一量化精度量化所述目标网络层的网络参数。2.根据权利要求1所述的方法,其中,所述目标节点为所述多个计算节点中指定的任一节点;所述方法还包括:响应于接收到所述多个计算节点发送的所述多个网络层的量化损失值,确定所述每个网络层的多个量化损失值中的最大值,作为所述每个网络层的目标量化损失值;以及确定所述多个网络层中所述目标量化损失值小于预定损失值的网络层,得到所述目标网络层。3.根据权利要求1所述的方法,其中,确定根据第一量化精度量化所述多个网络层中每个网络层的损失值,作为所述每个网络层的量化损失值包括:确定所述每个网络层包括的网络参数的取值的绝对值;根据所述第一量化精度和所述绝对值中的最大值,确定针对所述每个网络层的网络参数的第一缩放因子;以及确定根据所述第一缩放因子量化所述每个网络层的网络参数的损失值,作为所述每个网络层的量化损失值。4.根据权利要求3所述的方法,其中,所述确定根据所述第一缩放因子量化所述每个网络层的网络参数的损失值,作为所述每个网络层的量化损失值包括:根据所述第一缩放因子预量化所述每个网络层的网络参数,得到预量化后网络层;采用部署的模型对预定校准数据进行处理,得到输入所述每个网络层的输入激活值;采用所述每个网络层对所述输入激活值进行处理,得到第一输出激活值;采用所述预量化后网络层对所述输入激活值进行处理,得到第二输出激活值;以及根据所述第一输出激活值与所述第二输出激活值之间的距离,确定所述每个网络层的量化损失值。5.根据权利要求1所述的方法,还包括:针对所述多个网络层中除所述目标网络层外的其他网络层,根据第二量化精度和所述其他网络层包括的网络参数的取值,确定针对所述其他网络层的网络参数的第二缩放因子;以及根据所述第二缩放因子量化所述其他网络层的网络参数,其中,所述第一量化精度低于所述第二量化精度。6.根据权利要求1所述的方法,还包括:采用部署的模型对N个预定校准数据分别进行处理,得到所述每个网络层的N组输入激活值;根据目标量化精度和所述N组输入激活值中的每组输入激活值,确定针对所述每组输入激活值的缩放因子;以及根据针对所述N组输入激活值的N个缩放因子,确定针对所述每个网络层的输入激活值
的第三缩放因子,其中,所述目标量化精度为确定针对所述每个网络层的网络参数的缩放因子时所依据的量化精度;N为大于1的自然数。7.根据权利要求6所述的方法,其中,所述多个网络层包括自注意力层;所述方法还包括:将针对所述自注意力层的输入激活值的第三缩放因子发送给所述目标节点,以使所述目标节点根据接收的第三缩放因子确定针对所述自注意力层的输入激活值的多个备选缩放因子;响应于接收到所述多个备选缩放因子,确定根据每个备选缩放因子量化所述自注意力层的输入激活值的损失值,作为针对所述每个备选缩放因子的量化损失值;将针对所述每个备选缩放因子的量化损失值发送给所述目标节点,以使所述目标节点确定所述多个备选缩放因子中的目标缩放因子;以及将所述目标缩放因子作为针对所述自注意力层的输入激活值的缩放因子。8.根据权利要求7所述的方法,其中,所述目标节点为所述多个计算节点中指定的任一节点;所述方法还包括:响应于接收到所述多个计算节点发送的多个第三缩放因子,确定所述多个第三缩放因子的取值区间;根据预定取值间隔从所述取值区间中取多个值,作为多个备选缩放因子;将所述多个备选缩放因子发送给所述多个计算节点;响应于接收到所述多个计算节点发送的针对所述每个备选缩放因子的量化损失值,根据针对所述每个备选缩放因子的多个量化损失值,确定针对所述每个备选缩放因子的目标量化损失值;以及确定所述多个备选缩放因子中目标量化损失值最小的备选缩放因子为所述目标缩放因子。9.根据权利要求7所述的方法,其中,确定根据每个备选缩放因子量化所述自注意力层的输入激活值的损失值包括:采用部署的模型对预定校准数据进行处理,得到所述自注意力层的输入激活值;根据所述目标量化精度预量化所述自注意力层的网络参数,得到预量化后自注意力层;采用所述每个备选缩放因子预量化所述自注意力层的输入激活值,得到预量化后激活值;采用所述自注意力层处理所述自注意力层的输入激活值,得到第三输出激活值;采用所述预量化后自注意力层处理所述预量化后激活值,得到第四输出激活值;以及根据所述第三输出激活值和所述第四输出激活值,确定根据每个备选缩放因子量化所述自注意力层的输入激活值的损失值。10.根据权利要求4所述的方法,其中,所述根据所述第一输出激活值与所述第二输出激活值之间的距离,确定所述每个网络层的量化损失值包括:确定所述第一输出激活值与所述第二输出激活值之间的欧式距离及所述第一输出激活值与所述第二输出激活值之间的推土距离;以及
根据所述欧式距离与所述推土距离,确定所述每个网络层的量化损失值。11.一种分布式部署模型的量化装置,包括:第一损失确定模块,用于对于部署的模型所包括的多个网络层,确定根据第一量化精度量化所述多个网络层中每个网络层的损失值,作为所述每个网络层的量化损失值;第一损失发送模块,用于将所述多个网络层的量化损失值发送给分布式部署模型的多个计算节点中的目标节点,以使所述目标节点根据接收的量化损失值确定所述多个网络层中的目标网络层;以及参数量化模块,用于根据所述第一量化精度量化所述目标网络层的网络参数。12.根据权利要求11所述的装置,其中,所述目标节点为所述多个计算节点中指定的任一节点;所述装置还包括:目标损失确定模块,用...
【专利技术属性】
技术研发人员:于广华,王豪爽,党青青,沙燕霖,于佃海,马艳军,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。