本发明涉及半导体,特别是指一种用于存算一体芯片的建模方法、装置、电子设备及介质。
背景技术:
1、存算一体芯片是集近存计算、存内处理以及存内计算于一体的芯片,从材料、器件、计算范式以及架构等方面进行革新,可使用存储单元完成计算功能实现存算零距离,大幅提升算力和能效水平。然而,存算一体芯片存在非理想特性,例如,在利用存算一体芯片中的模拟器件进行神经网络推理时,通常使用模拟器件的电导值表示网络参数,由于电导值为模拟量,随时间变化产生电导漂移,会产生权值写入误差;或者,由于模拟器件采样过程中会将连续的电流值转化为离散的量化档位,引起舍入误差,会在模拟计算过程中产生精度误差。
2、上述的存算一体芯片的非理性特性均会导致神经网络模型的参数产生改变,从而导致神经网络模型的推理精度下降。
技术实现思路
1、本发明技术方案的目的是提供一种用于存算一体芯片的建模方法、装置、电子设备及介质,用以解决现有技术存算一体芯片的非理想特性导致神经网络模型的参数产生改变,从而导致神经网络模型的推理精度下降的问题。
2、为达到上述目的,本发明的实施例提供一种用于存算一体芯片的建模方法,包括:
3、获取存算一体芯片中模拟器件阵列的误差数据;
4、基于所述误差数据,对第一神经网络模型的每层参数进行加噪处理,并对本次加噪处理后的所述第一神经网络模型进行训练,获得第二神经网络模型;
5、基于所述第二神经网络模型的每层参数的重要性值,对所述第二神经网络模型的目标层参数进行加噪处理,并对本次加噪处理后的所述第二神经网络模型进行训练,获得第三神经网络模型;
6、将所述第三神经网络模型写入所述模拟器件阵列。
7、可选地,所述的用于存算一体芯片的建模方法,其中,还包括:
8、将测试数据集输入所述第三神经网络模型进行数据处理,得到所述第三神经网络模型输出的推理结果,并基于所述推理结果,计算所述第三神经网络模型的推理精度;
9、在所述推理精度不符合精度范围阈值的情况下,重新所述获取误差数据,并返回基于所述误差数据,对第一神经网络模型的每层参数进行加噪处理的步骤,以基于重新获取的误差数据重新计算第三神经网络模型的推理精度,直至所述推理精度符合所述精度范围阈值。
10、可选地,所述的用于存算一体芯片的建模方法,其中,基于所述误差数据,对第一神经网络模型的每层参数进行加噪处理,包括:
11、在所述第一神经网络模型的每层参数对应的权重中增加所述误差数据。
12、可选地,所述的用于存算一体芯片的建模方法,其中,对本次加噪处理后的所述第一神经网络模型进行训练,获得第二神经网络模型,包括:
13、在本次加噪处理后的所述第一神经网络模型的训练过程中,通过在所述第一神经网络模型的损失函数中增加正则项,获得所述第二神经网络模型。
14、可选地,所述的用于存算一体芯片的建模方法,其中,在基于所述第二神经网络模型的每层参数的重要性值,对所述第二神经网络模型的目标层参数进行加噪处理之前,所述方法还包括:
15、将所述第二神经网络模型的每层参数分别置于目标值,计算所述重要性值。
16、可选地,所述的用于存算一体芯片的建模方法,其中,将所述第二神经网络模型的每层参数分别置于目标值,计算所述重要性值,包括:
17、将测试数据输入所述第二神经网络模型进行数据处理,得到所述第二神经网络模型输出的第一特征图;
18、将所述第二神经网络模型的每层参数分别置于目标值,并将所述测试数据输入置于所述目标值后的所述第二神经网络模型进行数据处理,得到置于所述目标值后的所述第二神经网络模型输出的第二特征图;
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、采用本发明实施例所述用于存算一体芯片的建模方法,通过获取存算一体芯片中模拟器件阵列的误差数据,基于所述误差数据,对第一神经网络模型的每层参数进行加噪处理,并对本次加噪处理后的所述第一神经网络模型进行训练,获得第二神经网络模型,基于所述第二神经网络模型的每层参数的重要性值,对所述第二神经网络模型的目标层参数进行加噪处理,并对本次加噪处理后的所述第二神经网络模型进行训练,获得第三神经网络模型,最后将所述第三神经网络模型写入所述模拟器件阵列。如此,基于误差数据和重要性参数,能够有效提升部署于存算一体芯片的神经网络模型的鲁棒性,在面对存算一体芯片的非理性特性导致的神经网络模型的参数产生改变这一问题时,能够提升神经网络模型对参数变化的容忍度,从而提高神经网络模型的推理精度。
1.一种用于存算一体芯片的建模方法,其特征在于,包括:
2.根据权利要求1所述的用于存算一体芯片的建模方法,其特征在于,还包括:
3.根据权利要求1所述的用于存算一体芯片的建模方法,其特征在于,基于所述误差数据,对第一神经网络模型的每层参数进行加噪处理,包括:
4.根据权利要求1所述的用于存算一体芯片的建模方法,其特征在于,对本次加噪处理后的所述第一神经网络模型进行训练,获得第二神经网络模型,包括:
5.根据权利要求1所述的用于存算一体芯片的建模方法,其特征在于,在基于所述第二神经网络模型的每层参数的重要性值,对所述第二神经网络模型的目标层参数进行加噪处理之前,所述方法还包括:
6.根据权利要求5所述的用于存算一体芯片的建模方法,其特征在于,将所述第二神经网络模型的每层参数分别置于目标值,计算所述重要性值,包括:
7.根据权利要求5所述的用于存算一体芯片的建模方法,其特征在于,将所述第二神经网络模型的每层参数分别置于目标值,得到所述重要性值,包括:
8.根据权利要求1所述的用于存算一体芯片的建模方法,其特征在于,所述目标层参数为所述重要性值大于重要性阈值的层参数,或者所述目标层参数为重要性排序结果位于阈值位置的层参数,所述重要性排序结果是将所述第二神经网络模型的每层参数的重要性值进行排序获得的。
9.根据权利要求1所述的用于存算一体芯片的建模方法,其特征在于,获取存算一体芯片中模拟器件阵列的误差数据,包括:
10.根据权利要求9所述的用于存算一体芯片的建模方法,其特征在于,获得所述模拟器件阵列的写入误差均值,包括:
11.一种电子设备,其特征在于,包括处理器,所述处理器用于:
12.一种用于存算一体芯片的建模装置,其特征在于,包括:
13.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至10中任一项所述的用于存算一体芯片的建模方法。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至10中任一项所述的用于存算一体芯片的建模方法。
