完整清单列表

表1 已原生支持昇腾NPU的第三方库

名称

介绍

版本要求

适配说明

DeepSpeed

deepspeed是一个用于优化分布式训练的深度学习第三方库。deepspeed大幅提高了存储空间使用效率和通信效率,可以让用户在最小代码改动的基础上支持更长的输入数据、对更大规模的模型进行更快速的训练。

推荐最新版deepspeed。

Atlas A2 训练系列产品原生支持昇腾NPU,使用方法请参考LINK

Transformers

Hugging Face核心套件transformers提供了便于快速下载和使用的API,用户可以对预训练模型进行微调,已原生支持昇腾NPU。现已支持在昇腾NPU上对Transformers进行单机单卡、单机多卡的BF16、FP16格式训练、APEX模块下的混合精度进行训练。

推荐Transformers版本为4.37.1,PyTorch版本为2.1.0。

说明:

该推荐版本为昇腾NPU自验证的版本,其余版本用户需自行验证。

Atlas A2 训练系列产品已原生支持昇腾NPU,使用方法请参考LINK

Accelerate

Hugging Face核心套件Accelerate是一个用于加速PyTorch训练的库。它提供了一种简单易用的方法来并行化和分布式训练,同时还提供了许多其他的优化技术,已原生支持昇腾NPU。

推荐Accelerate版本为0.26.1,PyTorch版本2.1.0。

说明:

该推荐版本为昇腾NPU自验证的版本,其余版本用户需自行验证。

Atlas A2 训练系列产品已原生支持昇腾NPU,使用方法请参考LINK

TRL

TRL(Transformer Reinforcement Learning)是一个全栈库,提供了一组工具,用于使用强化学习来训练transformer语言模型,已原生支持昇腾NPU。

推荐TRL版本为0.7.11,PyTorch版本2.1.0。

说明:

该推荐版本为昇腾NPU自验证的版本,其余版本用户需自行验证。

Atlas A2 训练系列产品已原生支持昇腾NPU,使用方法请参考LINK

MMCV

MMCV是一个主要用于计算机视觉研究的第三方库。

当前只支持main和1.x两个分支,版本随社区演进。

1.x分支仅支持PyTorch1.11.0;main分支支持PyTorch1.11.0-PyTorch2.1.0版本。mmcv的tags版本只支持v2.2.0及以上版本,如需使用其他版本可自行修改version.py里的版本号进行编译,具体可参考LINK

已原生支持昇腾NPU,使用方法请参考LINK,昇腾NPU支持的算子列表请参考昇腾支持的MMCV算子列表

MMEngine

MMEngine是一个基于PyTorch框架用于训练深度学习模型的第三方库。MMEngine是OpenMMLab 2.0的基础库,用于基础runner搭建,兼容当前流行的模型库(例如Torchvision、Detectron2)并可以用更小的代码量完成训练任务。

要求MMEngine版本为0.5.0及以上。

已原生支持昇腾NPU,使用方法请参考LINK

MMDetection

MMDetection是一个基于PyTorch的开源对象检测工具箱,提供了已公开发表的多种流行的检测组件,通过这些组件的组合可以迅速搭建出各种检测框架。

要求MMDetection版本为2.26.0及以上。

已原生支持昇腾NPU,使用方法请参考LINK,昇腾NPU支持的模型列表请参考昇腾支持的MMDetection模型列表

MMDetection3D

MMDetection3D是通用三位目标检测算法平台,面向自动驾驶、室内等多场景,包含(深度)相机、激光雷达等多模态传感器,支持三维目标检测/语义分割等多任务,是自动驾驶领域较为重要的模型库。

要求MMDetection3D版本为1.4.0及以上,PyTorch2.1.0及以上。

已原生支持昇腾NPU,使用方法请参考LINK,昇腾NPU支持的模型列表请参考昇腾支持的MMDetection3D模型列表

表2 昇腾适配的第三方库(需要额外安装并导入适配库)

名称

介绍

版本要求

适配说明

TorchAir

TorchAir是为torch_npu提供图模式能力的扩展库,支持用户使用PyTorch和torch_npu在昇腾设备上进行图模式的训练和推理。TorchAir对外提供昇腾设备的图模式编译后端,对接PyTorch的dynamo特性,将PyTorch的FX计算图转换为昇腾的GE计算图,并提供在昇腾设备上启动GE计算图编译和执行的能力。

PyTorch版本为2.1.0。

Ascend Extension for PyTorch插件版本为6.0.RC2。

具体使用方法请参考PyTorch 图模式使用指南(TorchAir)

mxDriving

mxDriving是基于昇腾NPU平台开发的适用于自动驾驶场景的算子和模型加速库,提供了一系列高性能的算子和模型加速接口,支持PyTorch框架。

PyTorch版本为1.11.0及以上。

python版本为3.7.5及以上。

请参考LINK安装该库的昇腾适配版本和了解其适配情况。

Torchvision Adapter

Torchvision Adapter插件用于昇腾适配Torchvision框架。 目前该框架增加了对Torchvision所提供的常用算子的支持,基于cv2和昇腾NPU的图像处理加速后端提供图像处理加速能力。

Torchvision版本为 0.16.0,PyTorch版本为2.1.0。

请参考LINK安装该库的昇腾适配版本和了解其适配情况。

Apex Patch

Apex Patch以代码patch的形式发布,用户通过对原始Apex进行patch,可以在华为昇腾AI处理器上,使用Apex的自动混合精度训练功能进行模型训练,提升AI模型的训练效率,同时保持模型的精度和稳定性。此外,Apex-patch额外提供了如梯度融合、融合优化器等,以提升部分场景下模型在昇腾NPU上的训练效率,供用户选择使用。

-

请参考LINK安装该库的昇腾适配版本和了解其适配情况。