脚本迁移说明
脚本迁移操作的目的是将PyTorch的训练脚本迁移到昇腾AI处理器上,以支持模型在昇腾NPU上训练。
目前支持3种迁移方式:自动迁移(推荐)、工具迁移、手工迁移。推荐用户使用最简单的自动迁移方式。
迁移前要保证该脚本能在GPU、CPU上运行。
- 自动迁移:在训练脚本中导入脚本转换库,然后拉起脚本执行训练。训练脚本在运行时,会自动将脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口。整体过程为边训练边转换。
- 工具迁移:使用迁移工具(pytorch_gpu2npu或PyTorch GPU2Ascend),自动将训练脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口,并生成迁移报告(脚本转换日志、不支持算子的列表、脚本修改记录)。训练时,运行转换后的脚本。整体过程为先转换脚本,再进行训练。
- 手工迁移:通过分析模型,对比GPU与NPU接口,手动对训练脚本进行修改,以支持在昇腾AI处理器上执行训练。迁移要点如下。
- 定义NPU为训练设备,将训练脚本中适配GPU的接口切换至适配NPU的接口。
- 多卡迁移需修改芯片间通信方式为昇腾支持的hccl。
父主题: 模型脚本迁移