飞桨 x 昇腾生态适配方案:00_ 整体方案介绍
前言
本文重点介绍 Paddle 与 NPU 的适配工作,PaddlePaddle 是一个深度学习框架,类似于 pytorch;PaddleCustomDeviece 是适配层代码,类似于 pytorch adapter;模型侧代码根据领域分为 PaddleNLP、PaddleMix、PaddleClas、PaddleOCR 等。
如果需要运行在线的训练或者推理,可以直接参考模型仓的 README,并更改 deviece 为 NPU 即可。当前已经支持了大部分主流模型且在持续增加中,具体的模型列表可参照飞桨-昇腾模型支持列表,大部分模型的性能基本持平 V100,少部分专项调优模型可以达到 0.8*A800(主要是大模型,多模态)。
如果在线推理性能较差且只需要推理的场景,统一建议使用离线场景,Paddle2ONNX 工具转化为 ONNX,并使用 atc 转换为 OM,具体可参照 Paddle 转 OM 以及离线推理章节内容。
硬件适配说明
当前的适配工作主要针对 A2 芯片,以下所有内容如果没有特殊说明都只针对 A2 芯片;
A1 芯片在大部分情况下没有问题,且使用方式与 A2 相同,如遇到类似项目可自行使用相同方式进行验证,遇到问题单点支撑;
310 系列芯片没有进行过适配,建议直接走离线推理路径。
常用 Paddle 模型仓
NLP 代码仓 PaddleNLP:https://github.com/PaddlePaddle/PaddleNLP
多模态代码仓 PaddleMIX:https://github.com/PaddlePaddle/PaddleMIX
小模型总体仓库 PaddleX:https://github.com/PaddlePaddle/PaddleX
其余仓库可查看 Paddle 主页面:https://github.com/PaddlePaddle
评论