飞桨对昆仑XPU芯片的支持

飞桨自2.0版本起支持在昆仑XPU上运行,经验证的模型训练和预测的支持情况如下:

训练支持

可实现模型单机单卡/单机多卡的训练,如下图所示:

模型领域模型readme编程范式可用的CPU类型单机多卡支持
VGG16/19图像分类模型链接静态图X86(Intel)支持
ResNet50图像分类模型链接静态图X86(Intel)ARM(飞腾)支持
MobileNet_v3图像分类模型链接静态图X86(Intel)支持
HRNet图像分类模型链接静态图X86(Intel)支持
Yolov3-DarkNet53目标检测模型链接静态图X86(Intel)ARM(飞腾)支持
Yolov3-MobileNetv1目标检测模型链接静态图X86(Intel)支持
PPYOLO目标检测模型链接静态图X86(Intel)支持
Mask_RCNN目标检测模型链接静态图X86(Intel)支持
Deeplab_v3图像分割模型链接静态图X86(Intel)支持
Unet图像分割模型链接静态图X86(Intel)支持
LSTMNLP模型链接静态图/动态图X86(Intel)支持
Bert-BaseNLP模型链接静态图/动态图X86(Intel)支持(静态图)
Ernie-BaseNLP静态图/动态图X86(Intel)支持(静态图)
NAML推荐模型链接静态图X86(Intel)支持
DQN强化学习模型链接静态图X86(Intel)支持

模型放置在飞桨模型套件中,作为github.com/PaddlePaddle下的独立repo存在,git clone下载即可获取所需的模型文件:

领域套件名称分支/版本
图像分类PaddleClasrelease/2.1
目标检测PaddleDetectionrelease/2.1
图像分割PaddleSegrelease/2.1
NLPPaddleNLPrelease/2.0
推荐PaddleRecrelease/2.1
强化学习PARL>= r1.4

预测支持

飞桨框架集成了python原生预测功能,安装飞桨框架即可使用。 在框架之外,飞桨提供多个高性能预测库,包括Paddle Inference、Paddle Serving、Paddle Lite等,支持云边端不同环境下的部署场景,适合相对应的多种硬件平台、操作系统、编程语言,同时提供服务化部署能力。当前预测库验证支持的模型包括:

模型领域编程范式可用的CPU类型
VGG16/19图像分类静态图X86(Intel)
ResNet50图像分类静态图X86(Intel)ARM(飞腾)
GoogleNet图像分类静态图X86(Intel)
yolov3-darknet53目标检测静态图X86(Intel)ARM(飞腾)
yolov3-mobilenetv1目标检测静态图X86(Intel)
ch_ppocr_mobile_v2.0_detOCR动态图X86(Intel)
ch_ppocr_mobile_v2.0_recOCR动态图X86(Intel)
ch_ppocr_server_v2.0_detOCR动态图X86(Intel)
ch_ppocr_server_v2.0_recOCR动态图X86(Intel)
LSTMNLP静态图X86(Intel)
Bert-BaseNLP静态图X86(Intel)
Ernie-BaseNLP静态图X86(Intel)

随着ARM架构的高性能、低功耗、低成本的优势日益突显,ARM CPU更多地进入PC和服务器领域,众多新锐国产CPU也采用ARM架构。在这一趋势下,我们开始尝试在ARM CPU + 昆仑XPU的硬件环境上运行飞桨,当前已验证ResNet50、YOLOv3的训练和预测效果。后续版本将持续增加昆仑XPU在更多模型任务上的验证。