文档
注册

功能使用

如何进行模型迁移?

当前基于PyTorch框架的模型迁移有3种方式:自动迁移、工具迁移、手工迁移。

  • 自动迁移:在代码中引入transfer_to_npu自动迁移模块,直接进行脚本运行。训练脚本在运行的同时,会自动将脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口。整体过程为边训练边转换。
  • 工具迁移:训练前,通过脚本迁移工具,自动将训练脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口,并生成迁移报告(脚本转换日志、不支持算子的列表、脚本修改记录)。训练时,运行转换后的脚本。整体过程为先转换脚本,再进行训练。
  • 手工迁移:算法工程师通过对模型的分析、GPU与NPU代码的对比进而对训练脚本进行修改,以支持在昇腾AI处理器上执行训练。迁移要点如下。
    • 定义NPU为训练设备,或将训练脚本中适配GPU的接口切换至适配NPU的接口。
    • 多卡训练需修改芯片间通信方式为hccl。

PyTorch如何进行精度调优?

通过ptdbg_ascend精度比对工具在PyTorch模型中注入hook,跟踪计算图中算子的前向传播与反向传播时的输入与输出,排查存在的计算精度误差,进行问题的精准定位。

PyTorch如何进行性能调优?

在模型迁移后进行训练的过程中,CPU只负责算子的下发,而NPU负责算子的执行,算子下发和执行异步发生,性能瓶颈在此过程中体现。而性能调优的原则及为减少Host算子下发时间和减少Device算子执行时间。用户可按以下思路进行性能调优过程。

  1. 首次性能不达标时,使用通用的性能分析工具定位问题,例如:linux系统自带的TOP命令。使用通用的性能提升操作。例如:AOE工具、算子二进制包、专家系统工具等。
  2. 再次性能不达标时,使用profiling数据采集工具进行数据分析和问题定位,判断瓶颈,并根据文档的深度调优案例解决瓶颈。例如:算子运行时间过长、算子下发过慢、系统资源瓶颈等。
  3. 若性能依旧不达标,参考进阶性能调优场景,根据自己模型的实际情况进行针对性调优。

如何保存与导出训练好的模型?

模型训练完成后,用户可以通过PyTorch提供的接口保存模型文件(pth文件和pth.tar文件)用于在线推理;或将模型导出ONNX模型,然后通过ATC工具将其转换为适配昇腾AI处理器的.om文件用于离线推理。

当前支持pth或pt文件、pth.tar文件导出ONNX模型;跨平台保存模型;带有torch_npu自定义算子的模型导出ONNX模型。

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

当前产品无相关内容

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