(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211083545.4
(22)申请日 2022.09.06
(71)申请人 北京大学
地址 100871 北京市海淀区颐和园路5号
(72)发明人 刘譞哲 徐大亮 徐梦炜 马郓
(74)专利代理 机构 北京润泽恒知识产权代理有
限公司 1 1319
专利代理师 苟冬梅
(51)Int.Cl.
G06N 3/08(2006.01)
G06F 9/50(2006.01)
(54)发明名称
支持移动端异构处理器分载的混合精度训
练方法及设备
(57)摘要
本发明提供了一种支持移动端异构处理器
分载的混合精度训练方法及设备, 应用于移动
端, 所述移动端包括混合精度算法抽象模块、 异
构处理器抽象模块、 CP U和异构处理器, 本发明实
施例中, 基于混合精度训练算法, 通过混合精度
算法抽象模块将原本高精度的训练模型转化能
够直接在移动端执行的混合精度的中间表示模
型, 进而实现在不损失准确率的情况下减小运算
负载, 并使用移动端均包含的支持低精度的异构
处理器来分载训练中所需的关键计算任务, 实现
在移动端快速高效地训练, 进而减小了在移动端
上训练的能耗和延迟。
权利要求书2页 说明书10页 附图2页
CN 115470901 A
2022.12.13
CN 115470901 A
1.一种支持移动端异构处理器分载的混合精度训练方法, 应用于移动端, 其特征在于,
所述移动端包括混合精度算法抽象模块、 异构处理器抽象模块、 CPU和异构处理器, 所述混
合精度算法抽象模块包括模型翻译引擎和模型剖析工具, 所述异构处理器抽象模块包括模
型执行控制器和模型 执行平台, 所述方法包括:
通过模型翻译引擎将初始模型转换为中间表示模型, 并通过模型剖析工具对所述中间
表示模型进行剖析;
利用模型执行控制器将所述中间表示模型生成CPU和异构处理器的计算子图, 输入待
训练数据和权重, 并将所述计算子图通过模型执行平台在移动端设备 的CPU或异构处理器
上进行训练。
2.根据权利要求1所述方法, 其特征在于, 所述通过模型翻译引擎将初始模型转换为中
间表示模型, 包括:
通过模型翻译引擎中的图转换器和算子融合器将所述初始模型转换成中间表示;
通过模型翻译引擎中的中间表示模型生成器将所述中间表示转换为所述中间表示模
型, 其中, 所述中间表 示模型包含算子类型、 超参数、 输入和输出, 以及所述中间表示模型输
入和输出的内存区域。
3.根据权利要求2所述方法, 其特征在于, 所述通过模型剖析工具对所述中间表示模型
进行剖析, 包括:
通过模型剖析工具中的批拆分剖析器获取 所述中间表示模型的最佳批拆分配置;
通过模型剖析工具中的算子内存剖析器剖析所述中间表示模型中每个算子所需要的
内存。
4.根据权利要求3所述方法, 其特征在于, 所述通过模型剖析工具中的批拆分剖析器获
取所述中间表示模型的最佳批拆分配置, 包括:
获取所述中间表示模型中每 个算子的延迟与计算 量;
若所述算子的延迟与计算量的比率高于相同配置但批维度小的算子时, 对该算子 内的
计算进行批维度拆分。
5.根据权利要求1所述方法, 其特征在于, 所述利用模型执行控制器将所述中间表示模
型生成CPU和异构处理器的计算子图, 是通过所述模型执行控制器中的CPU ‑异构处理器协
同调度器生成所述CPU和异构处 理器的计算子图, 包括:
确定中间表示模型算子上 下文切换感知的CPU ‑异构处理器协同调度策略;
根据所述调度策略将所述中间表示模型映射到 CPU和异构处 理器上;
基于所述映射情况生成所述CPU和异构处 理器的计算子图。
6.根据权利要求5所述方法, 其特征在于, 所述确定 中间表示模型算子上下文切换感知
的CPU‑异构处理器协同调度策略, 包括:
获取所述中间表示模型所有算子的执行顺序, 以及每个所述算子在CPU和异构处理器
上的延迟;
构建模型训练最小化延迟的目标函数, 基于所述目标函数在不改变算子执行顺序的情
况下找到最优调度解;
基于所述调度策略将所述中间表示模型映射到 CPU和异构处 理器上, 包括:
基于所述 最优调度解, 将所述中间表示模型的算子映射到 CPU和异构处 理器上。权 利 要 求 书 1/2 页
2
CN 115470901 A
27.根据权利要求6所述方法, 其特征在于, 所述模型训练最小化延迟的目标函数是基于
动态规划算法而构建的, 所述目标函数Tmodel可表示为:
Tmodel=min{T[i,CPU],T[i,HP]}
其中, i是所述中间表示模型算子的全部数量, T[i,CPU]为所述 中间表示模型所有算子
在CPU上运行的最低 延时, T[i,HP]为所述中间表 示模型所有算子在异构处理器上运行的最
低延时;
所述T[i,CPU]和T[i,HP] 分别表示 为:
其中, T[i,CPU]是在CPU上完成算子Op1到算子Opi的最低延迟, T[i,HP]是在异构处理器
上完成算子Op1到算子Opi的最低延迟, T[i ‑1,CPU]是在CPU上完成算子Op1到算子Opi‑1的最
低延迟, T[i ‑1,HP]是在异构处理器上完成算子Op1到算子Opi‑1的最低延迟,
表示Opi在
CPU上运行的最短时间,
表示Opi在异构处理器上运行的最短时间, Lswich表示CPU和HP上
下文切换时间。
8.根据权利要求1所述方法, 其特征在于, 所述方法还包括: 在训练过程中通过自适应
控制器来控制重量 化的频率, 具体包括:
获取初始轮次训练过程中缩放因子的变化频率f;
在下一轮训练时设置缩放因子的缩放频率为f, 若该轮次缩放因子变化频率g小于f, 则
更新新的下一轮训练缩放因子的变化频率为g, 若 该轮次缩放因子变化频率g等于f, 则更新
新的下一轮缩放因子变化频率 为f/2。
9.根据权利要求1所述方法, 其特征在于, 所述方法还包括: 在训练过程中对异构处理
器计算子图进行重用, 所述异构处理器计算子图重用通过子图重用控制 器来调度, 所述调
度包括:
按照每个异构处理器计算子图的执行顺序, 计算每个所述异构处理器计算子图的最长
重用距离;
当某个异构处理器计算子图要执行时, 若该异构处理器计算子图内存未被分配且剩余
内存不满足分配, 则选择满足该异构处理器计算子图所需内存的所述最长重用距离的异构
处理器计算子图进 行释放, 在满足内存分配后, 生成该异构处理器计算子图并分配内存; 若
该异构处 理器计算子图在内存中, 则直接复用已有异构处 理器计算子图。
10.一种电子设备, 其特征在于, 包括存储器、 处理器及存储在存储器上并可在处理器
上运行的计算机程序, 所述处理器执行时实现如权利要求1 ‑9任一所述支持移动端异构处
理器分载的混合精度训练方法。权 利 要 求 书 2/2 页
3
CN 115470901 A
3
专利 支持移动端异构处理器分载的混合精度训练方法及设备
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:13:58上传分享