文档首页/ AI开发平台ModelArts/ 常见问题/ Standard Notebook/ 为什么在ModelArts的Notebook中训练出现昇腾910的NPU-2 AIcore使用率低,但HBM使用率高的情况?
更新时间:2025-08-14 GMT+08:00
分享

为什么在ModelArts的Notebook中训练出现昇腾910的NPU-2 AIcore使用率低,但HBM使用率高的情况?

问题原因

在ModelArts的Notebook中训练出现NPU的昇腾910的NPU-2 AIcore使用率低,但高带宽内存HBM(High Bandwidth Memory)使用率高的情况,可能有以下原因:

  • 代码适配问题
    • 未充分利用NPU特性:PyTorch在GP和NPU上运行时,底层的计算模型和优化策略有所不同。虽然代码在GP上可以正常运行,但在NPU上可能没有充分利用其并行计算能力和硬件特性,导致AIcore使用率低。
    • 数据传输瓶颈:如果代码中存在大量的数据在CPU和NPU之间频繁传输,或者数据加载方式不适合NPU的高效处理模式,可能会导致NPU等待数据输入,进而使AIcore使用率降低,而HBM主要用于存储数据,即使AIcore不进行计算,只要数据一直占用HBM,其使用率就会保持较高。
  • 软件环境及配置问题
    • CANN版本适配:使用的镜像可能存在CANN版本与PyTorch版本之间的适配问题,导致NPU的性能没有得到充分发挥。
    • 并行策略设置:在使用NPU时,并行策略的设置对性能影响很大。如果没有正确设置模型并行、数据并行等策略,可能会导致NPU的计算资源没有被充分利用。
  • 硬件资源分配问题
    • NPU资源分配不足:在ModelArts的Notebook开发环境中,可能存在NPU资源分配不足的情况,导致NPU的计算能力没有被充分利用。
    • HBM容量不足:HBM容量有限,如果模型和数据的规模超过了HBM的容量,会导致频繁的内存交换,降低NPU的计算效率。

解决方案

  • 优化代码:检查代码中是否存在数据传输瓶颈,尽量减少CPU和NPU之间的数据传输。同时,可以参考昇腾910的开发文档,对代码进行优化,以充分利用NPU的并行计算能力和硬件特性。更多信息,请参见ModelArts最佳实践案例列表
  • 更新软件环境:检查CANN版本和PyTorch版本之间的适配关系,如果有更新的版本,可以尝试更新到最新版本。
  • 调整并行策略:根据模型的规模和数据量,合理设置模型并行和数据并行策略,以充分利用NPU的计算资源。
  • 检查资源分配:在ModelArts的Notebook开发环境中,检查NPU资源的分配情况,确保有足够的资源分配给目标任务。

相关文档