一种基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法

摘要: 本发明属于边缘人工智能,具体涉及一种基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法。背景技术:1、随着边缘人工智能设备逐步集成npu(神经网...
一种基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法

本发明属于边缘人工智能,具体涉及一种基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法。

背景技术:

1、随着边缘人工智能设备逐步集成npu(神经网络处理器)、cpu(中央处理器)、dsp(数字信号处理器)和图像处理单元,深度学习模型已具备在低功耗平台上完成本地推理的能力。然而,训练框架中的模型通常包含动态形状、动态索引、归约、排序、条件分支和不规则矩阵运算,而且目标npu只支持固定形状和有限算子集合,若将完整模型直接导出,容易出现编译失败、隐式cpu回调、大规模中间张量以及难以定位的量化误差。

2、现有部署方式通常采用两种路径:一是将整个网络强制量化并交由npu编译,遇到不支持算子时由运行库回退到cpu;二是由工程人员手工拆分模型,将可编译部分分配至npu、其余部分保留在cpu。第一种路径中,回调位置和开销不可控,难以证明神经网络是否真正运行在npu上;第二种路径往往仅关注能运行,未同时考虑切分边界、跨处理器数据量、量化临界决策和板端精度门禁,容易出现速度下降或输出变化。

3、此外,某些局部相关或矩阵计算在训练框架中依赖重复展开张量。若按照原始数据布局直接生成npu输入,将造成数十倍甚至上百倍的数据写入和内存流量。非标准通道维度还可能超出npu矩阵单元的支持范围。仅使用少量原始图像进行量化校准,也无法覆盖由前级网络产生的中间特征分布,可能导致动态范围截断、候选排序翻转和最终业务输出错误。

4、因此,需要一种将模型图划分、固定形状导出、npu编译、紧凑数据组织、量化校准、选择性精确复核、异构流水调度和逐级精度验证统一起来的部署优化方法,使模型在有限cpu核数、内存和加速器接口约束下,获得可验证、可复测、可回退的板端运行结果。

技术实现思路

1、为解决上述技术问题,本发明采用如下的技术方案:

2、一种基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,包括:

3、s1,对待部署模型和目标硬件进行联合解析,遍历模型计算图,记录每个节点的算子类型、输入输出形状、数据类型、常量参数、动态维度、内存占用和前后依赖关系;读取npu编译器支持列表和板端资源信息,根据各节点的算子类型、输入输出形状及动态特性确定其对应的硬件执行类型并确定划分边界,得到计算图的划分结果;

4、s2,根据步骤s1的划分,将连续的npu候选节点封装为固定输入输出的npu子图,并冻结批次、输入尺寸、候选上限和通道数;将cpu控制节点按照原计算图的前后依赖关系组织为cpu控制模块;

5、s3,将训练框架中的npu子图导出为固定形状中间模型,由npu编译器生成量化模型和加速器二进制;

6、s4,将有效特征直接排列为紧凑左矩阵和紧凑右矩阵,并将紧凑左矩阵沿列方向以零元素补齐至内积维度,将紧凑右矩阵沿行方向以零元素补齐至内积维度;

7、s5,将代表性原始样本依次通过已经验证的前级npu子图,收集后级npu子图的真实输入、中间特征和候选区域,形成分阶段校准集;

8、s6,计算量化输出的前两候选得分的决策间隔,当决策间隔大于预设的决策间隔阈值时直接采用npu结果,当决策间隔小于或等于预设的决策间隔阈值时对该候选执行cpu浮点精确复核;

9、s7,使用固定深度的有界队列连接npu输出和cpu后处理,通过线程亲和性将整个程序限制在预设cpu核上;

10、s8,实施多级精度门禁检查,若任一门禁失败则回退至最近一个通过全部门禁的版本。

11、本发明具有以下有益效果:

12、本发明通过异构计算划分、紧凑张量组织与等价零填充、代表性中间张量量化校准与决策间隔复核,以及npu-cpu有界流水和多级精度门禁,能够使npu承担规则、计算密集的神经网络子图,使cpu仅承担动态控制和少量精确复核;能够消除重复展开并降低跨处理器内存流量;能够通过代表性中间张量校准和决策间隔守卫降低量化翻转风险;能够通过零回调和多级门禁证明部署结果真实运行于目标加速器,并在版本异常时保留可验证回退路径。

1.一种基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,包括:

2.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s1中,将卷积、固定形状矩阵乘、归一化、激活和规则注意力标记为npu候选节点,将动态索引、前q个最大或最小值、条件分支、候选数量相关循环、归约、互选和坐标解码标记为cpu控制节点。

3.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s1中,对每个候选切分边界计算中间张量字节数和预计运行时间,并定义综合代价函数,综合代价函数等于第一权重乘以npu与cpu之间需要传输的总字节数加上第二权重乘以子图切分边界数量加上第三权重乘以预计cpu热点时间加上第四权重乘以神经网络回调风险数量,在满足npu内存和编译约束的情况下选择综合代价较小的划分。

4.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s3中,对于每个npu子图,先使用训练框架输出生成校准数据和验证数据,再由npu编译器生成量化模型和加速器二进制;编译后读取模型元数据,检查输入输出尺寸、数据类型和回调数量;只有编译器仿真输出与参考输出满足容差、板端能够真实装载执行且回调数量为零时,该npu子图才进入正式模型集合。

5.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s4中,设紧凑左矩阵的行数为m,紧凑右矩阵的列数为n,参与矩阵乘法的有效特征维度为k,npu矩阵单元要求的内积维度为k且k大于或等于k;将紧凑左矩阵沿列方向以零元素补齐至内积维度k后得到等价左矩阵,将紧凑右矩阵沿行方向以零元素补齐至内积维度k后得到等价右矩阵。

6.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s5中,使用代表性场景产生的全部局部张量重新校准后级相关npu子图,并检查输入和输出的最大值、最小值、分布尾部及饱和比例;对于发生截断或离散选择变化的通道,通过调整校准数据、通道计算位置或量化方式加以解决。

7.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s6中,设量化输出的前两候选的得分为第一得分和第二得分,定义决策间隔为第一得分与第二得分之差;当决策间隔大于预设的决策间隔阈值时直接采用npu结果;当决策间隔小于或等于预设的决策间隔阈值时,仅对该候选的关键主通道、辅助通道、点积或归一化结果执行cpu浮点精确复核。

8.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s7中,npu完成一次局部计算后,仅将必要输出复制到队列,立即释放加速器输出槽;两个cpu工作线程并行执行由步骤s6触发的选择性高精度复核、结果筛选和连续数值解码;队列深度根据npu输出字节数和cpu处理速度确定。

9.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s8中,每次模型或运行库升级均依次进行固定形状和张量字节数检查、训练框架与固定中间模型逐输出比较、编译器仿真模型与参考输出比较、npu二进制回调数量检查、板端离散决策和连续数值和输出顺序和结果哈希比较、双核线程限制和模型加载释放和端到端耗时和峰值物理内存检查。

10.根据权利要求1所述的基于异构计算划分、等价结构适配与动态精度校正的神经网络边缘部署方法,其特征在于,s8中,将已验证的模型运行实现封装为稳定c语言应用二进制接口,模型文件保持独立目录,输入格式转换、相机接入和结果后处理作为公开业务源码;正式交付包记录二进制、模型和参考结果的哈希。