欢迎使用ModelZoo-PyTorch
简介
ModelZoo-PyTorch提供基于昇腾设备适配的训练模型参考,覆盖计算机视觉、自然语言处理、语音、多模态、推荐等常见AI任务。目录中的模型通常包含环境准备、数据集与预训练权重准备、训练脚本、结果说明等内容,可作为开发者在昇腾训练环境中上手、验证和迁移PyTorch模型的参考。我们会持续补充典型网络和相关预训练模型,如果您在使用过程中有需求或建议,欢迎在ModelZoo-PyTorch/issues提交issue。
如何贡献
在开始贡献之前,请先阅读CONTRIBUTING_TRAIN。 谢谢!
版本说明
💡 版本配套表在不同模型中的应用策略可能不一致,详情参考维护策略。
💡 使用ModelZoo-PyTorch中的PyTorch训练模型前,请先确认PyTorch和CANN版本,然后匹配对应的PyTorch Extension、HDK和Python版本。
最新版本配套如下:
| 依赖软件 | 软件安装指南 |
|---|---|
| 昇腾NPU驱动 | 《 驱动固件安装指南 》 |
| 昇腾NPU固件 | |
| Toolkit(开发套件) | 《 CANN 软件安装指南 》 |
| Kernel(算子包) | |
| NNAL(Ascend Transformer Boost加速库) | |
| PyTorch | 《 Ascend Extension for PyTorch 配置与安装 》 |
| torch_npu插件 | |
| apex |
版本配套表地址:链接。
快速体验
如果您希望快速了解ModelZoo-PyTorch中的模型使用方式,推荐先体验 BERT-NER-Pytorch 。该用例以命名实体识别(NER)任务为例,包含环境准备、数据集准备、预训练权重准备以及训练脚本示例,适合作为首次上手的参考。
建议按如下顺序体验:
- 参考本文档前文完成PyTorch、torch_npu、CANN等基础环境安装。
- 进入
PyTorch/contrib/nlp/BERT-NER-Pytorch目录,阅读该用例下的README.md。 - 根据用例说明准备
Cluener数据集和bert-base-chinese预训练权重。 - 执行
test目录中的训练脚本,完成单机多卡训练体验。
通过该用例,您可以快速熟悉ModelZoo-PyTorch中模型目录组织方式、依赖安装方法以及标准训练流程。完成体验后,再根据具体场景选择其他模型继续使用。
模型训练
- ModelZoo-PyTorch包含多种模型用例,不同模型在环境依赖、数据集准备、预训练权重获取以及训练脚本使用方式上可能存在差异。因此,模型训练请以各模型目录下的
README.md说明为准。 - 建议您根据下方“随版本演进模型”列表,选择需要体验或训练的模型,点击对应链接进入模型目录后,按照该模型文档完成模型训练。
模型迁移调优
您可以根据PyTorch训练模型迁移调优指南进行模型的迁移、精度调试及性能调优。
维护策略
💡 ModelZoo-PyTorch中的模型区分为随版本演进模型和不随版本演进模型。
- 针对随版本演进模型:请跟随版本配套表,选择最新版本使用。
- 针对不随版本演进模型:这些模型已不随PyTorch和PyTorch Extension的版本演进,您可以选择以下策略。
- 可根据对应模型的README选择对应PyTorch、PyTorch Extension、CANN、HDK版本使用。
- 如您对该模型有新版本PyTorch、PyTorch Extension、CANN、HDK的适配需求,可在modelzoo/issues提交issue,我们会及时处理。
范围界定
随版本演进模型
随版本演进模型的最新性能数据均在OpenEuler操作系统下实测获得。如您使用的是其他操作系统,则展示的数据仅作为参考。
- albert_ID0335_for_PyTorch(FP16)
- Bert_Chinese_ID3433_for_PyTorch(FP16)
- BERT-NER-Pytorch(FP32)
- Bert-Base-Squad_ID0470_for_PyTorch(FP16)
- Bert-Large-Squad_ID0470_for_PyTorch(FP16)
- Bert-Large-Squad_ID0470_for_PyTorch(HF32)
- CLIP(FP16)
- ESPnet2_for_PyTorch(FP16)
- ESPnet2_for_PyTorch(FP32)
- Fairseq_Transformer_wmt18_for_PyTorch(FP16)
- Fairseq_Transformer_wmt18_for_PyTorch(FP32)
- HRNet_ID1780_for_PyTorch(FP16)
- HRNet_ID1780_for_PyTorch(HF32)
- Resnet50_Cifar_for_PyTorch(FP16)
- roberta_for_PyTorch(FP16)
- ShuffleNetV2_iflytek_for_Pytorch(FP32)
- wav2vec2.0(FP16)
- wav2vec2.0(FP32)
- wav2vec2.0(HF32)
- MAPPO_for_PyTorch(FP16)
不随版本演进模型
除以上随版本演进模型范围外,其余ModelZoo-PyTorch中的模型都界定为不随版本演进模型。
安全声明
运行用户建议
出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用。
文件权限控制
-
建议用户在主机(包括宿主机)及容器中设置运行系统umask值为0027及以上,保障新增文件夹默认最高权限为750,新增文件默认最高权限为640。
-
建议用户对个人数据、商业资产、源文件、训练过程中保存的各类文件等敏感内容做好权限管控,管控权限可参考表1进行设置。
表1 文件(夹)各场景权限管控推荐最大值
类型 linux权限参考最大值 用户主目录 750(rwxr-x---) 程序文件(含脚本文件、库文件等) 550(r-xr-x---) 程序文件目录 550(r-xr-x---) 配置文件 640(rw-r-----) 配置文件目录 750(rwxr-x---) 日志文件(记录完毕或者已经归档) 440(r--r-----) 日志文件(正在记录) 640(rw-r-----) 日志文件目录 750(rwxr-x---) Debug文件 640(rw-r-----) Debug文件目录 750(rwxr-x---) 临时文件目录 750(rwxr-x---) 维护升级文件目录 770(rwxrwx---) 业务数据文件 640(rw-r-----) 业务数据文件目录 750(rwxr-x---) 密钥组件、私钥、证书、密文文件目录 700(rwx—----) 密钥组件、私钥、证书、加密密文 600(rw-------) 加解密接口、加解密脚本 500(r-x------)
运行安全声明
- 建议用户结合运行环境资源状况编写对应训练脚本。若训练脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、训练脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。
公网地址声明
详见各模型目录下的public_address_statement.md
免责声明
致ModelZoo使用者
- ModelZoo提供的模型仅供您用于非商业目的。
- 对于各模型,ModelZoo平台仅提示性地向您建议可用于训练的数据集,华为不提供任何数据集,如您使用这些数据集进行训练,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。
- 如您在使用ModelZoo模型过程中,发现任何问题(包括但不限于功能问题、合规问题),请在Gitcode提交issue,我们将及时审视并解决。
致数据集所有者
如果您不希望您的数据集在ModelZoo中的模型被提及,或希望更新ModelZoo中的模型关于您的数据集的描述,请在Gitcode提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对ModelZoo的理解和贡献。
License声明
Ascend ModelZoo提供的模型,如模型目录下存在License的,以该License为准。如模型目录下不存在License的,以Apache 2.0许可证许可,对应许可证文本可查阅Ascend ModelZoo根目录。