面向模拟存内计算的位对齐渐进式硬件感知训练方法及工具链系统
本发明涉及模拟存内计算,特别涉及一种面向模拟存内计算的位对齐渐进式硬件感知训练方法及工具链系统。
背景技术:
1、在模拟-数字混合存内计算(模拟存内计算)系统的部署流程中,需要先在离线(纯软件/仿真)阶段训练网络,使其感知真实硬件的逐位数据流,包括权重映射与拆分、数模转换器位编码、模拟域缩放、模数转换器量化与截断等非理想过程,否则网络部署到硬件后在对量化与截断敏感的任务(例如图像 / 视频生成等)上精度会急剧下降。
2、现有方案主要有两类,第一类是硬件感知训练/注入噪声训练:在离线训练中注入统计噪声或使数模转换器输入边界可训练,以提升对随机误差的鲁棒性;亦有工作使逐层位编码(脉冲数)可训练。但这些方法多采用固定噪声水平与固定目标位宽,缺乏“逐步降低模型量化位宽,同时逐步增大注入的非理想特性噪声强度”的渐进调度,且未将模数转换器增益等硬件可调参数纳入可训练范围。第二类是面向存内计算的训练/仿真工具链(如aihwkit、neurosim、memtorch 等):可对器件非理想性建模并自动将卷积/全连接层替换为存内计算层,但主要面向分类推理,未集成覆盖多类任务的端到端自动化流程。
3、通过因果分析可知,现有方案的根本症结在于:模拟存内计算前向通路包含不可微的物理过程,常规反向传播无法穿过;同时离线训练未能完整、渐进地建模逐位硬件数据流。具体存在以下技术缺陷:
4、(1)仅注入固定噪声得到的是面向噪声分布的“平均”鲁棒性,对量化与截断效应敏感的任务,部署后图像/视频质量显著劣化;
5、(2)权重映射、数模转换器位编码、模拟缩放、模数转换器量化与截断等为不可微算子,梯度无法穿过完整模拟信号链反传,网络无法在离线阶段充分感知逐位误差;
6、(3)现有工具链需逐层手工配置、主要面向分类,缺乏位级仿真闭环,难以高效支撑多样化任务(包括生成类任务)的部署。
技术实现思路
1、本发明提供一种面向模拟存内计算的位对齐渐进式硬件感知训练方法及工具链系统,以解决模拟存内计算前向通路包含不可微的物理过程,常规反向传播无法穿过;同时离线训练未能完整、渐进地建模逐位硬件数据流等问题。
2、本发明第一方面实施例提供一种面向模拟存内计算的位对齐渐进式硬件感知训练方法,包括以下步骤:
3、对目标任务对应的深度神经网络进行浮点训练,以得到理想神经网络基线模型;
4、对所述理想神经网络基线模型进行量化-噪声感知训练,以得到低比特硬件鲁棒量化模型;
5、对所述低比特硬件鲁棒量化模型的权重进行分片拆分,以将拆分后的权重映射至多片模拟存内计算阵列中,得到权重映射结果;
6、基于所述权重映射结果,对所述低比特硬件鲁棒量化模型进行位对齐硬件感知训练,以前向逐位计算、反向代理梯度的方式训练量化步长与模数转换器、数模转换器增益参数,得到适配硬件计算逻辑的最终部署模型,并将所述最终部署模型部署至模拟存内计算硬件中。
7、可选地,所述对所述理想神经网络基线模型进行量化-噪声感知训练,以得到低比特硬件鲁棒量化模型,包括:
8、对所述理想神经网络基线模型进行量化-噪声感知训练,在训练过程中逐步降低模型量化位宽,同时逐步增大注入的非理想特性噪声强度,以得到所述低比特硬件鲁棒量化模型。
9、可选地,所述对所述低比特硬件鲁棒量化模型的权重进行分片拆分,以将拆分后的权重映射至多片模拟存内计算阵列中,得到权重映射结果,包括:
10、根据所述模拟存内计算硬件的单阵列容量上限,将所述低比特硬件鲁棒量化模型的权重、输入与输出进行分片拆分,得到拆分后的权重、输入与输出;
11、将所述拆分后的权重、输入与输出映射至所述模拟存内计算硬件中的多片存内计算阵列中,以得到所述权重映射结果。
12、可选地,所述基于所述权重映射结果,对所述低比特硬件鲁棒量化模型进行位对齐硬件感知训练,以前向逐位计算、反向代理梯度的方式训练量化步长与模数转换器、数模转换器增益参数,得到适配硬件计算逻辑的最终部署模型,包括:
13、基于所述权重映射结果,将待推理输入特征图输入所述低比特硬件鲁棒量化模型中进行比特分片、量化截断、移位累加,得到最终乘累加结果,并根据所述最终乘累加结果和所述待推理输入特征图对应的标注真值计算全局损失;
14、对输入比特拆分、数模转换器位编码、模拟域缩放、模数转换器钳位舍入的不可微算子,统一配置前向取硬件离散值、反向恒等直通的代理梯度,将上游梯度按比特分片数量均分后回传至原始输入,移位累加过程根据线性属性直接回传梯度,使误差完全贯穿信号链;
15、将数模转换器增益、模数转换器增益、输入量化步长、权重量化步长均设为可训练参数,将模数转换器增益初始值和数模转换器增益初始值钳位至硬件可实现档位区间内,以所述全局损失为目标迭代更新所述可训练参数,并在位宽切换时按2的幂次自动重标定所述可训练参数,以得到所述适配硬件计算逻辑的最终部署模型。
16、可选地,所述基于所述权重映射结果,将待推理输入特征图输入所述低比特硬件鲁棒量化模型中进行比特分片、量化截断、移位累加,得到最终乘累加结果,包括:
17、基于预设硬件手册标定的位宽阈值、数模转换器位编码规则、模数转换器量程边界,将所述待推理输入特征图进行比特分片,得到比特分片后的输入特征图;
18、基于所述权重映射结果,将所述比特分片后的输入特征图输入至模拟数模转换器位编码行为的仿真算子中进行编码,以生成多个低比特脉冲编码;
19、将所述多个低比特脉冲编码输入至模拟阵列位编码行为的仿真算子进行乘累加运算,以得到输出结果;
20、将所述输出结果输入至模数转换器位编码行为的仿真算子中进行量化截断,以得到多组低比特数字部分和;
21、通过数字逻辑电路位编码行为的仿真算子对所述多组低比特数字部分和进行移位累加,以得到所述最终乘累加结果。
22、可选地,所述模数转换器增益初始值通过取首批训练样本的输出幅值最大值,结合模数转换器量程上限计算得到;所述数模转换器增益初始值通过取首批训练样本的输入幅值最大值,结合数模转换器量程上限计算得到。
23、本发明第二方面实施例提供一种面向模拟存内计算的位对齐渐进式硬件感知训练装置,包括:浮点训练模块,用于对目标任务对应的深度神经网络进行浮点训练,以得到理想神经网络基线模型;
24、第一感知训练模块,用于对所述理想神经网络基线模型进行量化-噪声感知训练,以得到低比特硬件鲁棒量化模型;
25、权重映射模块,用于对所述低比特硬件鲁棒量化模型的权重进行分片拆分,以将拆分后的权重映射至多片模拟存内计算阵列中,得到权重映射结果;
26、第二感知训练模块,用于基于所述权重映射结果,对所述低比特硬件鲁棒量化模型进行位对齐硬件感知训练,以前向逐位计算、反向代理梯度的方式训练量化步长与模数转换器、数模转换器增益参数,得到适配硬件计算逻辑的最终部署模型,并将所述最终部署模型部署至模拟存内计算硬件中。
27、本发明第三方面实施例提供一种端到端混合训练工具链,包括工具链框架层,用于与深度学习框架的接口适配,以提供图形处理器加速调度、全局计算图管理与自动反向传播的底层通用支撑能力;
28、网络块运行时库层,内置自动层替换模块、渐进调度控制器、混合权重映射器,用于分别执行浮点网络层自动替换、位宽渐进降阶与参数自动重标定、权重硬件映射表生成;
29、硬件运行时库层,内置位级硬件仿真器,用于对完整逐位数据流闭环仿真,训练前向与仿真复用同一条位级代码路径,训练完成后部署至真实存内计算硬件。
30、本发明第四方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的面向模拟存内计算的位对齐渐进式硬件感知训练方法。
31、本发明第五方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,该程序被处理器执行时实现如上的面向模拟存内计算的位对齐渐进式硬件感知训练方法。
32、本发明实施例提出的面向模拟存内计算的位对齐渐进式硬件感知训练方法及工具链系统,以“位宽逐步降低、注入噪声逐步增大”的量化-噪声渐进感知调度并结合位对齐硬件感知训练,使网络稳定收敛并充分感知逐位硬件误差;为不可微算子设计代理梯度,使误差能够穿过权重映射、数模转换器、模数转换器的完整模拟信号链反传,并将模数转换器增益等硬件可调参数设为可训练;以工具链自动完成浮点网络到可训练存内计算网络的转换,并由位级仿真器闭环验证,支撑各类神经网络任务的高效部署。
33、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。