文档
注册

迁移总体思路

通用模型迁移适配方法,可以分为四个阶段:迁移分析、迁移适配、精度调试与性能调优,如图1所示。

本手册的内容章节是根据迁移阶段与其对应任务设计的,如表1所示。

图1 训练模型迁移总体流程图
表1 迁移阶段任务表

迁移阶段

迁移任务

任务描述

阶段1:迁移分析

模型选取

  1. 调研业务需求场景,参考模型选取选取主流仓库模型。
  2. 保证选取的模型在第三方平台(如GPU)可成功运行。
  3. 明确迁移前模型运行的硬件型号、精度、性能基线。从权威网站或数据平台获取源模型的性能值基线,或在三方平台实测性能基线。

迁移可行性分析

  1. 准备NPU环境,获取模型的源码、权重和数据集等文件。
  2. 使用迁移分析工具采集目标网络中的模型/算子清单,识别第三方库及目标网络中算子支持情况,分析模型迁移的可行性。
  3. 模型迁移需要符合模型选取与约束说明(必读)

算子开发与适配

在迁移可行性分析中如果存在平台未支持的算子,可通过修改模型脚本,使用等价支持的算子替换的方式解决,或者参考如下文档进行算子适配,也可联系华为工程师提出开发适配诉求。

阶段2:迁移适配

模型迁移

  1. 通过模型脚本迁移,实现GPU -> NPU的接口替换、NPU分布式框架改造。
  2. 关键功能适配:包括(可选)混合精度适配环境变量和脚本配置模型保存与导出等。

问题分析

  1. 迁移适配过程中,如果遇到问题,可以通过模型调试定位问题发生的代码位置。
  2. 常见问题发生场景包括环境配置,脚本配置,硬件配置与集群配置问题,可从以上场景角度排查问题。

阶段3:精度调试

精度分析与调优

  1. 训练过程中的模型精度问题分析, 及时处理训练不稳定问题。
  2. 分析评价集loss/ppl和模型下游评测任务得分,评估迁移前后的精度差异。
  3. 确保迁移前后模型精度差异在可接受范围之内,数据无异常溢出;如果出现精度相关问题,需要借助精度问题分析工具分析。

阶段4:性能调优

性能数据采集与评测

  1. 在NPU环境上,使用性能分析工具介绍对模型进行性能拆解。
  2. 基于性能拆解得到的数据,分析瓶颈模块,模块分类参考性能概念,明确性能优化方向。

模型性能优化实施

依据性能瓶颈模块的类型,从通用优化方法寻求优化方法,具体方法包括数据加载加速、模型代码亲和适配、内存优化、融合算子、融合优化器。

此外,本章节提供了通信优化的建议和可以使能的通信算法。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词