PyTorch作为当前深度学习领域中广泛采用的框架之一,经过Ascend Extension for PyTorch对昇腾平台的兼容性适配,现已支持在昇腾平台上高效运行。
本手册的主要目标是指导具有一定PyTorch模型训练基础的用户将原本在其他硬件平台(例如GPU)上训练的模型迁移到昇腾平台(NPU)。
手册内容涵盖模型全流程的迁移方法,无论是针对小模型还是大模型,都提供了详尽的指导。主要关注点是如何有效地将PyTorch训练模型迁移至昇腾平台上,并在合理精度误差范围内高性能运行。
本手册面向的读者主要是具有一定深度学习基础与编程经验的研究人员、工程师和开发者:
模型迁移是指将原本运行在GPU或其他硬件平台的深度学习模型迁移至NPU,并保障模型在合理精度误差范围内高性能运行。
将模型从其他硬件平台迁移到NPU时,由于硬件架构和库的不同,涉及到一系列底层到上层的适配操作。以GPU为例,模型迁移至NPU需要适配的原因可分为三方面:
NVIDIA GPU采用CUDA(Compute Unified Device Architecture)的并行计算架构,而华为NPU采用CANN(Compute Architecture for Neural Networks)的异构计算架构。
为了支持NPU硬件,需要通过Ascend Extension for PyTorch对PyTorch框架进行适配:包括适配张量运算、自动微分等功能,以便在NPU上高效执行。此外,PyTorch正持续原生支持NPU,以提供给用户更好的模型体验,实现迁移修改最小化。
模型迁移指导请参见表1。
类别 |
组件 |
迁移指导 |
|
|---|---|---|---|
传统模型 |
已适配传统模型 |
Ascend Extension for PyTorch |
请参见支持模型列表,并根据对应模型的README进行训练和推理。 |
未适配传统模型 |
请参见本文档进行迁移训练。 |
||
大模型 |
Megatron-LM分布式大模型 |
MindSpeed Core亲和加速模块 |
请参见《分布式训练加速库迁移指南》。 |
Megatron-LM大语言模型 |
MindSpeed LLM套件 |
请参见《MindSpeed LLM用户使用手册》中的“MindSpeed LLM迁移指南(PyTorch框架)”章节。 |
|
Megatron-LM多模态模型 |
MindSpeed MM套件 |
请参见《MindSpeed MM迁移调优指南》。 |
|
自动驾驶模型 |
Driving SDK自动驾驶加速库 |
请参见《自驾模型迁移优化指导》。 |
|