本发明涉及深度学习,具体涉及一种适用于ai芯片的自动混合比特量化装置及方法。
背景技术:
1、目前,深度学习模型得到了广泛应用。应用时,为兼顾模型性能与精度,可采用混合比特量化的方案。
2、当前比较常规的方法是将每层的算子依次从高比特降低为低比特,再对整个模型进行推理,得到模型对应的精度,并根据精度信息对算子的敏感程度进行排序,低比特的算子模型推理的精度降低严重,则视为敏感算子,这样就可以将敏感算子设置为高比特,其余算子使用低比特;其他一些常用方法,如使用权重的hessian矩阵(即二阶导数矩阵)来评估不同层参数的敏感程度,导数变化率大的层使用高比特,导数较平缓的则采用低比特。
3、然而,每个算子依次设置为低比特之后都要重新推理一遍整个模型,推理的耗时很长,非常影响效率;而使用hessian矩阵的方法,对于权重较大的矩阵,计算hessian矩阵也存在非常耗时的问题,需要大量的探索时间和计算资源。
技术实现思路
1、针对背景技术中所提及的技术缺陷,本发明实施例的目的在于提供一种适用于ai芯片的自动混合比特量化装置及方法。
2、为实现上述目的,第一方面,本发明实施例提供了一种适用于ai芯片的自动混合比特量化装置,应用于ai芯片,包括:
3、转换模块,用于将获取的深度学习浮点模型转换为onnx模型并进行图优化;
4、量化模块,用于将图优化后的onnx在ai处理器的工具链上进行int8量化,并输出量化后的onnx模型;其中,所述onnx模型中包括对应的模型参数;
5、处理模块,用于:
6、根据量化系数,将所述onnx模型拆分为不同子图,相同量化系数的节点划分为同一子图;其中,所述量化系数根据所述模型参数进行计算;
7、对每个算子,将其输入和该输入对应的上一层输出转换为高比特输入和输出,再对当前算子所在子图进行推理,对比修改前和修改后的差异值;
8、配置模块,用于:
9、对所有算子前后的差异值进行排序,同时根据预先设定的高比特算子个数k,选出精度提升最优的k个算子配置为高比特类型,并生成混合比特配置表;
10、根据所选配置生成混合比特模型,以应用于ai芯片。
11、作为本申请的一种优选实现方式,所述图优化包括算子的合并,删除,替换以及向图中增加ai芯片所对应的属性。
12、作为本申请的一种优选实现方式,在生成所述混合比特模型时,还通过插入转换算子用于作为高比特和int8之间数据类型的转换。
13、作为本申请的一种优选实现方式,所述根据所选配置生成混合比特模型,具体包括:
14、将图优化后的onnx模型和生成的混合比特配置表传入ai处理器的工具链,通过工具链将解析所述混合比特配置表,并使用图优化后的onnx模型重新进行量化,以此生成一个混合比特模型。
15、作为本申请的一种优选实现方式,所述差异值包括计算的均方误差和余弦相似度。
16、第二方面,本发明实施例还提供了一种适用于ai芯片的自动混合比特量化方法,应用于第一方面所述的一种适用于ai芯片的自动混合比特量化装置,所述方法包括:
17、将获取的深度学习浮点模型转换为onnx模型并进行图优化;
18、将图优化后的onnx在ai处理器的工具链上进行int8量化,并输出量化后的onnx模型;其中,所述onnx模型中包括对应的模型参数;
19、根据量化系数,将所述onnx模型拆分为不同子图,相同量化系数的节点划分为同一子图;其中,所述量化系数根据所述模型参数进行计算;
20、对每个算子,将其输入和该输入对应的上一层输出转换为高比特输入和输出,再对当前算子所在子图进行推理,对比修改前和修改后的差异值;
21、对所有算子前后的差异值进行排序,同时根据预先设定的高比特算子个数k,选出精度提升最优的k个算子配置为高比特类型,并生成混合比特配置表;
22、根据所选配置生成混合比特模型,以应用于ai芯片。
23、本发明实施例提供的技术方案,利用量化后模型的子图推理,自动筛选出敏感算子,将其配置为高比特,并生成混合比特模型,从而实现高比特和低比特的最优组合,以达到既保证模型的精度又提升推理速度的目的;同时,利用模型子图的输出精度而非模型整网输出精度,在搜索敏感算子时不需要对全图进行推理,大大节省了搜索时间和降低了混合比特搜索的时间,能够显著提高对应的执行效率;并且,该技术方案对硬件要求不高,可广泛适用于各种模型和场景的混合比特调优。
1.一种适用于ai芯片的自动混合比特量化装置,其特征在于,应用于ai芯片,包括:
2.如权利要求1所述的一种适用于ai芯片的自动混合比特量化装置,其特征在于,所述图优化包括算子的合并,删除,替换以及向图中增加ai芯片所对应的属性。
3.如权利要求1所述的一种适用于ai芯片的自动混合比特量化装置,其特征在于,在生成所述混合比特模型时,还通过插入转换算子用于作为高比特和int8之间数据类型的转换。
4.如权利要求1所述的一种适用于ai芯片的自动混合比特量化装置,其特征在于,所述根据所选配置生成混合比特模型,具体包括:
5.如权利要求1至4中任一项所述的一种适用于ai芯片的自动混合比特量化装置,其特征在于,所述差异值包括计算的均方误差和余弦相似度。
6.一种适用于ai芯片的自动混合比特量化方法,其特征在于,应用于权利要求1所述的一种适用于ai芯片的自动混合比特量化装置,所述方法包括:
7.如权利要求6所述的一种适用于ai芯片的自动混合比特量化方法,其特征在于,所述图优化包括算子的合并,删除,替换以及向图中增加ai芯片所对应的属性。
8.如权利要求6或7所述的一种适用于ai芯片的自动混合比特量化方法,其特征在于,所述差异值包括计算的均方误差和余弦相似度。
9.如权利要求8所述的一种适用于ai芯片的自动混合比特量化方法,其特征在于,在生成所述混合比特模型时,还通过插入转换算子用于作为高比特和int8之间数据类型的转换。
