昇腾社区首页
中文
注册

三方库清单列表

昇腾NPU已原生支持的第三方库如表1所示,目前对库中特性的支持情况可参考适配说明。用户可以依据第三方库提供的官方指导文档,在NPU上直接使用这些库,无需额外的适配工作。

表1 已原生支持的第三方库清单

名称

介绍

版本要求

适配说明

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分支,版本随社区演进。main分支支持PyTorch2.1版本、2.5及以上版本。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及以上。

说明:

当使用MMDetection时出现“AssertionError: MMCV==2.2.0 is used but incompatible.”报错,具体处理方法请参考当使用MMDetection或MMDetection3D时出现“AssertionError: MMCV==2.2.0 is used but incompatible.”报错

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

MMDetection3D

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

要求MMDetection3D版本为1.4.0及以上,PyTorch版本2.1.0。

说明:

当使用MMDetection3D时出现“AssertionError: MMCV==2.2.0 is used but incompatible.”报错,具体处理方法请参考当使用MMDetection或MMDetection3D时出现“AssertionError: MMCV==2.2.0 is used but incompatible.”报错

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

TorchData

TorchData是一个包含常用模块化数据加载原语的beta库,用于轻松构建灵活且高性能的数据管道。

推荐使用的TorchData版本为v0.11.0,推荐的PyTorch版本为2.6.0。

已原生支持昇腾NPU,使用方法请参考LINK。昇腾NPU支持的特性列表请参考昇腾支持的TorchData特性列表

torchtune

torchtune是由PyTorch团队开发的一个专门用于LLM微调的库。它旨在简化LLM的微调流程,提供了一系列高级API和预置的最佳实践,使得研究人员和开发者能够更加便捷地对LLM进行调试、训练和部署。torchtune基于PyTorch生态系统构建,充分利用了PyTorch的灵活性和可扩展性,同时针对LLM微调的特点进行了优化和改进。

推荐使用的torchtune版本为0.6.0,推荐的PyTorch版本为2.6.0。

Atlas A2 训练系列产品/Atlas A3 训练系列产品原生支持昇腾NPU,使用方法请参考LINK。昇腾NPU支持的特性列表请参考昇腾支持的torchtune特性列表

xtuner

xtuner是InternLM团队推出的一款高效、灵活且功能全面的大语言模型(LLM)和多模态模型(VLM)微调工具库。它旨在通过轻量级设计和简单配置,降低大模型微调的门槛,同时支持多种主流模型和数据格式。

推荐使用的xtuner版本为v0.2.0rc0,推荐的PyTorch版本为2.6.0。

Atlas A2 训练系列产品/Atlas A3 训练系列产品原生支持昇腾NPU,使用方法请参考LINK。昇腾NPU支持的特性列表请参考昇腾支持的xtuner特性列表