人工智能处理器张量算子精度自适应调控方法与流程

摘要: 本发明属于人工智能处理器领域,特别涉及一种人工智能处理器张量算子精度自适应调控方法。背景技术:1、随着大语言模型(llm)参数量的指数级增长,模型训练与推理对计...
人工智能处理器张量算子精度自适应调控方法与流程

本发明属于人工智能处理器领域,特别涉及一种人工智能处理器张量算子精度自适应调控方法。

背景技术:

1、随着大语言模型(llm)参数量的指数级增长,模型训练与推理对计算精度和硬件能效提出了极高要求。人工智能处理器中浮点处理单元(fpu)的归一化计算涉及均值、方差、倒数平方根及缩放等多级迭代运算,其计算链路均为严格的串行依赖数据流,标准浮点处理单元采用就近偶数舍入(round-to-nearest-even)规则进行舍入,然而归一化后的尾数m并非均匀分布,非均匀分布导致“就近偶数舍入”导致均值、方差、倒数平方根等关键运算在数千次迭代中产生单向累积的系统偏差,每一步舍入误差都会传递至下一步,产生舍入误差累积,进而在反向传播中体现为梯度信号的持续衰减(梯度消失)。

技术实现思路

1、为了解决上述技术问题,本发明提出了一种人工智能处理器张量算子精度自适应调控方法,其特征在于,包括步骤:

2、接收所述张量算子的指令码,识别对所述张量算子的运算为具有多级舍入误差的张量运算;

3、获取人工智能处理器的当前工作模式,所述当前工作模式包括推理与训练;

4、根据所述张量算子的指令码选择所述张量运算的旁路运算路径,所述旁路运算路径并行于所述张量运算的标准运算路径,该旁路运算路径中对所有中间结果放弃进行任何中间舍入和截断;

5、执行所述旁路运算路径中的级联运算,所有中间结果的尾数额外保留多个保护位以维持精度;

6、检测到所述张量算子的级联运算结束信号后,根据所述当前工作模式和所述保护位对所述张量算子的级联运算结果进行自适应分段偏移舍入;

7、将最终舍入结果写入目标寄存器或指令队列,对本次张量算子的级联运算过程中的状态机复位,并清除临时缓存。

8、在前述方法的一实施例中,根据所述当前工作模式和所述保护位对所述张量算子的级联运算结果进行自适应分段偏移舍入进一步包括:

9、根据所述张量算子的类型确定所述级联运算结果的尾数的分段,并根据所述尾数的分段、所述当前工作模式对所述保护位进行与所述当前工作模式和尾数的分段对应的动态偏移舍入。

10、在前述方法的一实施例中,根据所述尾数的分段、所述当前工作模式对所述保护位进行与所述当前工作模式和尾数的分段对应的动态偏移舍入进一步包括:

11、

12、其中,为动态偏移舍入的函数定义,为保护位,为尾数,为尾数位宽,为张量算子类型,为当前工作模式,为根据尾数、张量算子类型和当前工作模式的自适应偏移调整函数,其中,当前工作模式为训练模式时,自适应偏移调整函数为基于尾数的分段的交替正负偏移函数,当前工作模式为推理模式时,自适应偏移调整函数为基于尾数的分段的静态偏移函数。

13、在前述方法的一实施例中,所述自适应偏移调整函数为:

14、

15、其中,交替偏移系数k=,为与分段区间对应的缩放因子,n为与张量算子类型对应的位宽调整变量。

16、在前述方法的一实施例中,所述当前工作模式是通过状态寄存器设置的。

17、本发明还提出一种人工智能处理器,包括:

18、指令译码器,用于接收张量算子的指令码,识别对所述张量算子的运算为具有多级舍入误差的张量运算;

19、模式切换控制器,用于获取人工智能处理器的当前工作模式,所述当前工作模式包括推理与训练;以及,

20、根据所述张量算子的指令码选择所述张量运算的旁路运算路径,所述旁路运算路径并行于所述张量运算的标准运算路径,该旁路运算路径中对所有中间结果放弃进行任何中间舍入和截断;

21、迭代精度保持模块,用于执行所述旁路运算路径中的级联运算,所有中间结果的尾数额外保留多个保护位以维持精度;

22、自适应分段偏移舍入模块,用于检测到所述张量算子的级联运算结束信号后,根据所述当前工作模式和所述保护位对所述张量算子的级联运算结果进行自适应分段偏移舍入;以及,将最终舍入结果写入目标寄存器或指令队列,对本次张量算子的级联运算过程中的状态机复位、并清除临时缓存。

23、在前述人工智能处理器的一实施例中,所述自适应分段偏移舍入模块根据所述当前工作模式和所述保护位对所述张量算子的级联运算结果进行自适应分段偏移舍入进一步包括:

24、根据所述张量算子的类型确定所述级联运算结果的尾数的分段,并根据所述尾数的分段、所述当前工作模式对所述保护位进行与所述当前工作模式和尾数的分段对应的动态偏移舍入。

25、在前述人工智能处理器的一实施例中,根据所述尾数的分段、所述当前工作模式对所述保护位进行与所述当前工作模式和尾数的分段对应的动态偏移舍入进一步包括:

26、

27、其中,为动态偏移舍入的函数定义,为保护位,为尾数,为尾数位宽,为张量算子类型,为当前工作模式,为根据尾数、张量算子类型和当前工作模式的自适应偏移调整函数,其中,当前工作模式为训练模式时,自适应偏移调整函数为基于尾数的分段的交替正负偏移函数,当前工作模式为推理模式时,自适应偏移调整函数为基于尾数的分段的静态偏移函数。

28、在前述人工智能处理器的一实施例中,所述自适应偏移调整函数为:

29、

30、其中,交替偏移系数k=,为与分段区间对应的缩放因子,n为与张量算子类型对应的位宽调整变量。

31、在前述人工智能处理器的一实施例中,所述模式切换控制器通过状态寄存器设置切换所述当前工作模式。

32、相较于现有技术,本发明揭示的人工智能处理器张量算子精度自适应调控方法和人工智能处理器,根据张量算子的指令码选择张量运算的旁路运算路径;旁路运算路径并行于张量运算的标准运算路径,该旁路运算路径中所有中间结果不进行任何中间舍入和截断;从硬件层面阻断“逐级舍入/截断”的误差传播路径,为迭代精度保持提供核心物理保障。

33、执行旁路运算路径中的级联运算时,所有中间结果的尾数额外保留多个保护位以维持精度;确保了在多次乘加运算和非线性迭代中,有效数字不会因对齐移位而丢失,从而阻断了误差在级间的传播路径。

34、检测到张量算子的级联运算结束信号后,根据当前工作模式和保护位对张量算子的级联运算结果进行自适应分段偏移舍入;通过将舍入决策点推迟至计算链的末端,对累积了全精度信息的最终结果执行自适应分段偏移舍入,保持计算结果的高精度,同时兼顾训练梯度保真与推理能效。

35、为更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与图式,然而所提供的图式仅用于提供参考与说明,并非用来对本发明加以限制。

1.一种人工智能处理器张量算子精度自适应调控方法,其特征在于,包括步骤:

2.根据权利要求1所述的方法,其特征在于,根据所述当前工作模式和所述保护位对所述张量算子的级联运算结果进行自适应分段偏移舍入进一步包括:

3.根据权利要求1所述的方法,其特征在于,根据所述尾数的分段、所述当前工作模式对所述保护位进行与所述当前工作模式和尾数的分段对应的动态偏移舍入进一步包括:

4.根据权利要求3所述的方法,其特征在于,所述自适应偏移调整函数为:

5.根据权利要求1至4中任意一项权利要求所述的方法,其特征在于,所述当前工作模式是通过状态寄存器设置的。

6.一种人工智能处理器,其特征在于,包括:

7.根据权利要求6所述的人工智能处理器,其特征在于,所述自适应分段偏移舍入模块根据所述当前工作模式和所述保护位对所述张量算子的级联运算结果进行自适应分段偏移舍入进一步包括:

8.根据权利要求6所述的人工智能处理器,其特征在于,根据所述尾数的分段、所述当前工作模式对所述保护位进行与所述当前工作模式和尾数的分段对应的动态偏移舍入进一步包括:

9.根据权利要求8所述的人工智能处理器,其特征在于,所述自适应偏移调整函数为:

10.根据权利要求6至9中任意一项权利要求所述的人工智能处理器,其特征在于,所述模式切换控制器通过状态寄存器设置切换所述当前工作模式。