面向存算一体器件温漂特性的精度补偿装置及方法

文档序号:34707086发布日期:2023-07-07 12:20阅读:20来源:国知局
面向存算一体器件温漂特性的精度补偿装置及方法

本发明涉及一种面向存算一体器件温漂特性的计算精度补偿装置及方法,属于人工智能。


背景技术:

1、近年来,深度神经网络在各种机器学习应用中取得了巨大的成功,如图像处理、语言翻译和语音识别。然而,计算单元和片外存储器之间的大量的数据移动对基于冯诺伊曼架构的传统ai加速器构成了重大挑战。存算一体ai加速器通过将计算和存储的融合,打破冯-诺伊曼传统架构,能够有效缓解存储墙问题。

2、基于存算一体技术的人工智能加速器,可以在存算一体器件阵列中完成神经网络权重的存储,并在神经网络推理时并行执行大规模的乘累加操作。这大大提高了神经网络在硬件上的计算效率,也最大限度地减少了数据移动的成本,显著提高了存算一体芯片的能效。

3、然而,基于存算一体技术的ai加速器存在器件温漂问题。存算一体器件的编程值会随温度的改变而发生偏移,这意味着映射在存算阵列中的神经网络权重会受温度的影响而改变。神经网络权重的偏移会导致神经网络运行时推理精度的大幅下降,甚至退化至极低的随机值。因此需要针对存算一体器件温漂导致的神经网络推理精度退化问题予以解决,以达到存算一体ai加速器预期的ai性能表现。


技术实现思路

1、为了解决存算一体器件温漂导致的向量矩阵乘法计算结果偏差、神经网络推理精度退化等问题,进一步提升存算一体芯片的性能与工程实用性,本发明提出了一种通用精度补偿装置及方法。

2、本发明装置采用的技术方案如下:

3、面向存算一体器件温漂特性的精度补偿装置,包括存算一体阵列以及:补偿阵列模块,用于存储针对不同温度范围而训练得到的权重值,并对推理结果进行第一次补偿;温度传感模块,用于采集补偿阵列模块的工作温度并将模拟温度转换为数字控制量,发送给补偿阵列控制模块;补偿阵列控制模块,用于根据温度传感模块的输出,激活不同工作温度下补偿阵列模块的相应部分;adc阵列,用于将存算一体阵列与补偿阵列模块的模拟电流输出转换为数字量;加法树,用于对adc阵列输出的数字量进行累加,并将结果输出至部分和补偿逻辑模块;部分和补偿逻辑模块,用于对加法树的输出结果进行采样和对推理结果进行第二次补偿;上位机,用于对存算一体阵列与补偿阵列模块进行权重更新,并与部分和补偿逻辑模块交互以及与温度传感模块交互。

4、进一步地,所述补偿阵列模块包括四个存算器件阵列,用于存储针对四个不同温度范围而训练得到的权重值,所述存算器件阵列阵列由任意一种受温漂影响的存算一体器件以交叉开关即crossbar阵列的形式构成;所述补偿阵列模块的输入为外部输入的电压激励,其输出为四个存算器件阵列的乘累加结果。

5、进一步地,四个存算器件阵列具体为:存算器件阵列t1存储用于-40~0℃范围内补偿精度的权重,存算器件阵列t2存储25~50℃范围内补偿精度的权重,存算器件阵列t3存储50~70℃范围内补偿精度的权重,存算器件阵列t4存储70~90℃范围内补偿精度的权重。

6、进一步地,所述补偿阵列控制模块包括:译码器,用于对温度传感模块输出的数字控制量进行译码,从而控制列选择器;列选择器,根据译码器的输出信号选通对应温度范围的补偿列输出;所述补偿阵列控制模块的输入为补偿阵列模块的输出及温度传感模块的输出,所述补偿阵列控制模块的输出为根据数字控制量而选通的那部分补偿阵列。

7、进一步地,所述部分和补偿逻辑模块包括:输入采样器,用于采样加法树的部分和输出,随后发送至上位机;补偿因子存储单元,用于存储上位机发送的补偿因子;乘法器,用于把补偿因子与部分和相乘,完成补偿并输出至下一层;所述部分和补偿逻辑模块的输入为经过加法树数字累加之后的乘累加部分和以及上位机发送的补偿因子与采样信号,其输出为完成因子补偿后的乘累加部分和以及采样后送至上位机未经因子补偿的乘累加部分和。

8、本发明利用上述面向存算一体器件温漂特性的精度补偿装置的方法,包括以下步骤:

9、(1)上位机首先发送一组输入激励权重给存算一体阵列和补偿阵列模块,此时存算一体阵列完成神经网络的向量矩阵乘法及累加计算;同时,温度传感模块采集当前阵列的工作温度,并输出温度数字控制量给补偿阵列控制模块;补偿阵列控制模块根据数字控制量选通代表相应温度范围的一组补偿阵列输出,并与存算一体阵列的输出一同由adc阵列读出,转换成数字量;

10、(2)加法树将adc阵列的输出累加,并输出部分和至部分和补偿逻辑模块中,此时,如果部分和补偿逻辑模块中未存储满一组补偿因子,则上位机向部分和补偿逻辑模块发送采样信号,部分和补偿逻辑模块对输入的部分和进行采样并发送至上位机;随后上位机结合理想输出和实际输出计算出补偿因子,将补偿因子发送给部分和补偿逻辑模块,直到将神经网络每一层对应的补偿因子都存储至部分和补偿逻辑模块的寄存器中结束;

11、(3)待存储完相应神经网络的一组补偿因子后,正式开始进行神经网络的推理并对推理结果进行补偿;其中补偿阵列模块通过部署对应工作温度范围的神经网络权重对存算一体阵列的输出进行第一次补偿,而部分和补偿逻辑模块则通过将神经网络每层的推理结果乘上补偿因子完成第二次补偿。

12、本发明利用上述面向存算一体器件温漂特性的精度补偿装置的另一种方法,包括以下步骤:上位机接受温度传感模块的温度数字控制量,若发现工作温度超出补偿的温度范围,且理想输出和实际输出的差距增大至超过所设定的阈值,则触发软件精度恢复过程,即通过上位机对存算一体阵列的权重进行刷新,把已漂移的权重更新为一组未漂移的权重,此时补偿阵列模块中的阵列都不选通,补偿因子全部设置为1;每完成一次计算,将计算结果发送给上位机判断,若误差超过阈值,则对权重进行重新更新。

13、本发明提供的面向存算一体器件温漂特性的精度补偿装置,可以对不同种类存算一体器件构成的存算一体阵列(例如光电存算一体单元、rram存算阵列、pcm存算阵列、flash存算阵列等)进行精度补偿,通用性强。本发明首先采用额外权重对神经网络乘累加结果进行第一次补偿,最后再通过与上位机校准得到补偿因子,将计算结果乘上补偿因子完成进一步补偿,以此来应对大多数精度损失可控的情形。同时,采用软件恢复的方法来重新刷新权重,以此应对精度损失不可控的情形。该补偿装置结构能够大大缓解神经网络推理精度的随温度的退化,能够有效提升神经网络在存算一体芯片上的性能表现。



技术特征:

1.面向存算一体器件温漂特性的精度补偿装置,包括存算一体阵列,其特征在于,所述精度补偿装置还包括:

2.根据权利要求1所述的面向存算一体器件温漂特性的精度补偿装置,其特征在于,所述补偿阵列模块包括四个存算器件阵列,用于存储针对四个不同温度范围而训练得到的权重值,所述存算器件阵列阵列由任意一种受温漂影响的存算一体器件以交叉开关即crossbar阵列的形式构成;所述补偿阵列模块的输入为外部输入的电压激励,其输出为四个存算器件阵列的乘累加结果。

3.根据权利要求2所述的面向存算一体器件温漂特性的精度补偿装置,其特征在于,四个存算器件阵列具体为:存算器件阵列t1存储用于-40~0℃范围内补偿精度的权重,存算器件阵列t2存储25~50℃范围内补偿精度的权重,存算器件阵列t3存储50~70℃范围内补偿精度的权重,存算器件阵列t4存储70~90℃范围内补偿精度的权重。

4.根据权利要求1所述的面向存算一体器件温漂特性的精度补偿装置,其特征在于,所述补偿阵列控制模块包括:

5.根据权利要求1所述的面向存算一体器件温漂特性的精度补偿装置,其特征在于,所述部分和补偿逻辑模块包括:

6.利用如权利要求1所述面向存算一体器件温漂特性的精度补偿装置的方法,其特征在于,该方法包括以下步骤:

7.利用如权利要求1所述面向存算一体器件温漂特性的精度补偿装置的方法,其特征在于,该方法包括以下步骤:上位机接受温度传感模块的温度数字控制量,若发现工作温度超出补偿的温度范围,且理想输出和实际输出的差距增大至超过所设定的阈值,则触发软件精度恢复过程,即通过上位机对存算一体阵列的权重进行刷新,把已漂移的权重更新为一组未漂移的权重;每完成一次计算,将计算结果发送给上位机判断,若误差超过阈值,则对权重进行重新更新。

8.利用如权利要求7所述面向存算一体器件温漂特性的精度补偿装置的方法,其特征在于,当触发软件精度恢复过程时,补偿阵列模块中的阵列都不选通,补偿因子全部设置为1。


技术总结
本发明提供了一种面向存算一体器件温漂特性的精度补偿装置及方法。该精度补偿装置包括上位机、补偿阵列模块、部分和补偿逻辑模块、温度传感模块、补偿阵列控制模块、ADC阵列和加法树,其中,补偿阵列模块,用于存储针对不同温度范围而训练得到的权重值,并对推理结果进行第一次补偿;部分和补偿逻辑模块,用于对加法树的输出结果进行采样和对推理结果进行第二次补偿。本发明可以解决存算一体器件权重随温度漂移而导致的向量矩阵乘法计算结果偏差、神经网络推理精度退化等问题,可适用于不同种类的存算一体器件,具有一定的通用性。

技术研发人员:王宇宣,周奕斐,梅正宇,彭成磊,潘红兵
受保护的技术使用者:南京大学
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1