ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

昆仑 XPU 硬件平台上的 PaddleX 模型支持清单与选型指南

昆仑 XPU 硬件平台上的 PaddleX 模型支持清单与选型指南 人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/paddlepaddle/PaddleX点击查看免费下载PaddleX 内置了多条产线每条产线由若干模块组成每个模块又包含多个模型。本文以 PaddleX 模型列表昆仑 XPU 为骨架完整梳理在昆仑 XPUKunlun XPU硬件平台上受支持的模型、精度 Benchmark、模型存储大小与下载方式并结合仓库源码说明 XPU 设备白名单机制、环境变量配置以及产线推理与模型微调的实际用法。读完本文你将能够在昆仑 XPU 设备上按精度与存储需求完成模型选型并正确配置devicexpu参数运行 PaddleX 产线。一、背景产线—模块—模型的层级结构PaddleX 的整体组织方式是「产线Pipeline—模块Module—模型Model」三层结构每条产线解决一类具体任务如通用 OCR、通用图像分类产线内部由若干模块串联如文本检测模块、文本识别模块每个模块下挂若干可替换的模型。因此在 XPU 平台上选型时实际要做的是「为每个模块挑选一个模型」。本清单中的模型均可在昆仑 XPU 设备上运行具体选用哪个模型可依据各表中的 Benchmark 数据决策若更看重模型精度选择精度指标Top1 Acc、mAP、mIoU、Hmean 等较高的模型若更看重模型存储大小选择体积更小的模型XPU 嵌入式设备通常对存储与内存敏感。说明本清单对应的完整 CPU/GPU 模型列表见 PaddleX模型列表CPU/GPUXPU 清单是其面向昆仑芯片平台的能力子集。二、硬件与运行环境前提在 XPU 上使用本清单中的模型之前需要先完成两件事安装昆仑 XPU 版飞桨、安装 PaddleX 本体。2.1 安装昆仑 XPU 版飞桨参考 昆仑 XPU 飞桨安装教程当前 PaddleX 支持昆仑 R200/R300 等芯片推荐使用飞桨官方发布的昆仑 XPU 开发镜像预装有昆仑基础运行环境库 XRE。拉取开发镜像仅为开发环境不含预编译飞桨安装包docker pull registry.baidubce.com/device/paddle-xpu:ubuntu20-x86_64-gcc84-py310 # X86 架构 docker pull registry.baidubce.com/device/paddle-xpu:kylinv10-aarch64-gcc82-py310 # ARM 架构启动容器docker run -it --namexxx -m 81920M --memory-swap81920M \ --shm-size128G --privileged --nethost \ -v $(pwd):/workspace -w /workspace \ registry.baidubce.com/device/paddle-xpu:$(uname -m)-py310 bash安装 Python3.10 的 wheel 安装包其他 Python 版本可参考飞桨官方文档自行编译安装pip install https://paddle-whl.bj.bcebos.com/paddlex/xpu/paddlepaddle_xpu-2.6.1-cp310-cp310-linux_x86_64.whl # X86 架构 pip install https://paddle-whl.bj.bcebos.com/paddlex/xpu/paddlepaddle_xpu-2.6.1-cp310-cp310-linux_aarch64.whl # ARM 架构安装完成后验证python -c import paddle; paddle.utils.run_check()预期输出PaddlePaddle is installed successfully! Lets start deep learning with PaddlePaddle now.2.2 安装 PaddleX在昆仑 XPU 场景下 PaddleX 支持两种安装模式详见 PaddleX多硬件使用指南Wheel 包安装适用于「模型推理与集成」场景安装后即可基于 PaddleX 支持的所有模型进行推理插件安装paddlex --install适用于「二次开发」场景除推理外还可进行模型训练等操作插件与产线的对应关系如 PaddleClas↔图像分类、PaddleDetection↔目标检测/实例分割、PaddleOCR↔文本检测/识别、PaddleTS↔时序类模块、PaddleSeg↔语义分割/异常检测在该文档中有完整表格。三、在 XPU 上运行产线与微调模型基于昆仑 XPU 的 PaddleX 产线使用方法与 GPU 完全一致只需把设备参数改为xpu多卡写法为xpu:0,1,2,...。以通用 OCR 产线为例paddlex --pipeline OCR --input general_ocr_002.png --device xpu:0Python 脚本方式from paddlex import create_pipeline pipeline create_pipeline(pipelineOCR, devicexpu:0) output pipeline.predict(general_ocr_002.png) for res in output: res.print() res.save_to_img(./output/)若需对预训练模型微调以PP-OCRv4_mobile_det为例该模型在下方文本检测模块清单中且位于 XPU 白名单内# 训练多卡将设备名修改为 xpu python main.py -c paddlex/configs/text_detection/PP-OCRv4_mobile_det.yaml \ -o Global.modetrain \ -o Global.dataset_dir./dataset/ocr_det_dataset_examples \ -o Global.devicexpu:0,1,2,3 # 推理 python main.py -c paddlex/configs/text_detection/PP-OCRv4_mobile_det.yaml \ -o Global.modepredict \ -o Predict.model_dir./output/best_accuracy/inference \ -o Predict.inputgeneral_ocr_001.png \ -o Global.devicexpu配置文件中的Global.device字段即设备入口例如 MobileNetV3_large_x1_0 配置 中device: gpu:0,1,2,3在 XPU 上改为device: xpu:0,1,2,3即可。更多产线使用教程见 PaddleX产线开发工具本地使用教程。四、图像分类模块模型清单详见图像分类模块教程。以下指标为ImageNet-1k 验证集 Top1 Acc。模型名称Top1 Acc%模型存储大小MB模型下载链接MobileNetV3_large_x0_569.29.6推理模型 / 训练模型MobileNetV3_large_x0_3564.37.5推理模型 / 训练模型MobileNetV3_large_x0_7573.114.0推理模型 / 训练模型MobileNetV3_large_x1_075.319.5推理模型 / 训练模型MobileNetV3_large_x1_2576.426.5推理模型 / 训练模型MobileNetV3_small_x0_559.26.8推理模型 / 训练模型MobileNetV3_small_x0_3553.06.0推理模型 / 训练模型MobileNetV3_small_x0_7566.08.5推理模型 / 训练模型MobileNetV3_small_x1_068.210.5推理模型 / 训练模型MobileNetV3_small_x1_2570.713.0推理模型 / 训练模型PP-HGNet_base85.0249.4推理模型 / 训练模型PP-HGNet_small81.5186.5推理模型 / 训练模型PP-HGNet_tiny79.8352.4推理模型 / 训练模型PP-LCNet_x0_563.146.7推理模型 / 训练模型PP-LCNet_x0_2551.865.5推理模型 / 训练模型PP-LCNet_x0_3558.095.9推理模型 / 训练模型PP-LCNet_x0_7568.188.4推理模型 / 训练模型PP-LCNet_x1_071.3210.5推理模型 / 训练模型PP-LCNet_x1_573.7116.0推理模型 / 训练模型PP-LCNet_x2_075.1823.2推理模型 / 训练模型PP-LCNet_x2_576.6032.1推理模型 / 训练模型ResNet1871.041.5推理模型 / 训练模型ResNet3474.677.3推理模型 / 训练模型ResNet5076.590.8推理模型 / 训练模型ResNet10177.6158.7推理模型 / 训练模型ResNet15278.3214.2推理模型 / 训练模型ResNet18_vd72.341.5推理模型 / 训练模型ResNet34_vd76.077.3推理模型 / 训练模型ResNet50_vd79.190.8推理模型 / 训练模型ResNet101_vd80.2158.4推理模型 / 训练模型ResNet152_vd80.6214.3推理模型 / 训练模型ResNet200_vd80.9266.0推理模型 / 训练模型选型要点在图像分类模块中PP-LCNet_x0_255.5 MB是存储最小的选择PP-HGNet_baseTop1 Acc 85.0%是精度最高的选择MobileNetV3与PP-LCNet系列在「精度/体积」折中上选择面最广适合资源受限的 XPU 场景。以 MobileNetV3_large_x1_0 配置文件 为例训练参数batch_size: 128、learning_rate: 0.13、warmup_steps: 5等与预训练权重路径均已内置可直接把Global.device改为xpu后在昆仑平台上训练。五、目标检测模块模型清单详见目标检测模块教程。以下指标为COCO2017 验证集 mAP(0.5:0.95)。模型名称mAP%模型存储大小MB模型下载链接PicoDet-L42.620.9推理模型 / 训练模型PicoDet-M37.516.8推理模型 / 训练模型PicoDet-S29.14.4推理模型 / 训练模型PicoDet-XS26.25.7推理模型 / 训练模型PP-YOLOE_plus-L52.9185.3推理模型 / 训练模型PP-YOLOE_plus-M49.883.2推理模型 / 训练模型PP-YOLOE_plus-S43.728.3推理模型 / 训练模型PP-YOLOE_plus-X54.7349.4推理模型 / 训练模型选型要点PicoDet-S4.4 MB存储占用最小PP-YOLOE_plus-XmAP 54.7%精度最高PicoDet系列整体轻量适合在 XPU 端侧部署目标检测能力。六、语义分割与异常检测模块模型清单6.1 语义分割模块详见语义分割模块教程。以下指标为Cityscapes 数据集 mIoU。模型名称mIoU%模型存储大小MB模型下载链接PP-LiteSeg-T77.0431推理模型 / 训练模型6.2 异常检测模块详见异常检测模块教程。以下指标为MVTec AD 验证集平均异常分数Avg。模型名称Avg%模型存储大小MB模型下载链接STFPM96.221.5推理模型 / 训练模型6.3 人脸检测模块详见人脸检测模块教程。以下指标在WIDER-FACE 验证集、640×640 输入尺寸下评估得到。模型名称AP% Easy/Medium/Hard模型存储大小MB模型下载链接PicoDet_LCNet_x2_5_face93.7/90.7/68.128.9推理模型 / 训练模型七、OCR 相关模块模型清单7.1 文本检测模块详见文本检测模块教程。评估集为 PaddleOCR 自建中文数据集覆盖街景、网图、文档、手写等多个场景检测含 500 张图片。模型名称检测Hmean%模型存储大小MB模型下载链接PP-OCRv4_mobile_det77.794.2推理模型 / 训练模型PP-OCRv4_server_det82.69100.1推理模型 / 训练模型7.2 文本识别模块详见文本识别模块教程。评估集为 PaddleOCR 自建中文数据集识别含 1.1 万张图片。模型名称识别Avg Accuracy%模型存储大小MB模型下载链接PP-OCRv4_mobile_rec78.2010.6推理模型 / 训练模型PP-OCRv4_server_rec79.2071.2推理模型 / 训练模型7.3 版面区域检测模块详见版面区域检测模块教程。评估集为 PaddleOCR 自建版面区域分析数据集含 1 万张图片。模型名称mAP%模型存储大小MB模型下载链接PicoDet_layout_1x86.87.4推理模型 / 训练模型选型要点OCR 场景中PP-OCRv4_mobile_det4.2 MB与PP-OCRv4_mobile_rec10.6 MB组合适合轻量部署PP-OCRv4_server_*系列精度更高但体积更大检测、识别、版面检测三类模型组合起来即可在 XPU 上搭建完整 OCR/文档理解产线。八、时序预测模块模型清单详见时序预测模块教程。以下精度指标测量自 ETTH1 数据集测试集 test.csv 上的评测结果推理耗时给出 GPU/CPU 的「常规模式 / 高性能模式」两组数据。模型名称msemaeGPU推理耗时ms[常规模式 / 高性能模式]CPU推理耗时ms[常规模式 / 高性能模式]模型存储大小MB模型下载链接DLinear0.3820.3940.34 / 0.120.64 / 0.060.072推理模型 / 训练模型NLinear0.3860.3920.27 / 0.100.49 / 0.080.04推理模型 / 训练模型RLinear0.3850.3920.39 / 0.180.82 / 0.080.04推理模型 / 训练模型选型要点三个线性时序模型体积均不足 0.1 MB其中 DLinear 精度最优mse 0.382NLinear/RLinear 存储更小0.04 MB非常适合在 XPU 嵌入式平台做低成本时序预测。九、源码视角XPU 设备支持机制上述清单并非任意模型都可在 XPU 上运行PaddleX 在源码层面对设备—模型匹配做了显式约束这一点可以通过仓库源码得到验证。9.1 设备类型解析与 XPU 环境变量在 paddlex/utils/device.py 中SUPPORTED_DEVICE_TYPE [cpu, gpu, xpu, npu, mlu, gcu, dcu]第 28 行xpu是原生支持的目标设备类型之一parse_device()负责把xpu:0,1,2,3这类字符串解析为设备类型与设备号列表set_env_for_device_type()在设备为xpu时自动设置一组运行环境变量第 111-118 行if device_type.lower() xpu: envs { BKCL_FORCE_SYNC: 1, # 强制同步保证多卡通信一致 BKCL_TIMEOUT: 1800, # 通信超时时间 FLAGS_use_stride_kernel: 0, XPU_BLACK_LIST: pad3d, # 在 XPU 上禁用 pad3d 算子 } _set(envs)即用户声明devicexpu后PaddleX 会自动完成 BKCL百度昆仑通信库相关环境配置与算子黑名单设置无需手工干预。9.2 XPU 模型白名单在 paddlex/utils/custom_device_list.py 中定义了XPU_WHITELIST包含 ResNet/ResNet_vd 全系列、PP-LCNet、MobileNetV3、PP-HGNet、PP-YOLOE_plus、PicoDet 系列、STFPM、PP-LiteSeg-T、PP-OCRv4 系列、PicoDet_layout_1x、DLinear/NLinear/RLinear、PicoDet_LCNet_x2_5_face 等模型——与本文档各模块表格中的模型一一对应。同时paddlex/utils/device.py 的check_supported_device_type()第 146-149 行会在 XPU 设备上执行白名单校验elif device_type xpu: assert model_name in XPU_WHITELIST, ( fThe XPU device does not yet support {model_name} model! tips )这意味着若你试图在 XPU 上运行白名单之外的模型会收到明确报错提示如需临时跳过该校验可以设置环境变量PADDLE_PDX_DISABLE_DEV_MODEL_WL。此外从源码可见 XPU 白名单还包含部分更新的模型如 PP-OCRv5 系列、PP-DocLayout 系列、PP-FormulaNet、PPDocBee 等实际支持范围以 paddlex/utils/custom_device_list.py 中的XPU_WHITELIST为准本文表格反映了 model_list_xpu.md 当前记录的 Benchmark 数据。十、总结在昆仑 XPU 上完成模型选型综合全文在昆仑 XPU 硬件平台上使用 PaddleX 的完整路径是准备环境按 昆仑 XPU 飞桨安装教程 安装 XPU 版飞桨并按 PaddleX多硬件使用指南 安装 PaddleX推理用 Wheel 包二次开发用插件模式按模块选型根据本文各模块表格中的精度与体积数据结合业务对精度/存储的权衡从图像分类、目标检测、语义分割、异常检测、人脸检测、文本检测、文本识别、版面检测、时序预测模块中分别确定模型配置设备参数产线推理使用paddlex --pipeline 产线名 --device xpu:0或create_pipeline(..., devicexpu:0)单模型训练/推理在 YAML 配置中设置Global.devicexpu:0,1,2,3遵循白名单约束所选模型需位于源码XPU_WHITELIST中超出范围时按 paddlex/utils/device.py 中的校验提示调整模型或设置PADDLE_PDX_DISABLE_DEV_MODEL_WL。至此你即可在昆仑 XPU 设备上完成从模型选型、产线推理到二次微调的完整落地。赞分享人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/paddlepaddle/PaddleX点击查看免费下载相关推荐PaddleX 在昆仑 XPU 上的产线支持清单与落地实践PaddleX 在昆仑 XPU 上的产线支持清单与落地实践 本文基于 PaddleX 官方的《PaddleX产线列表 XPU 》整理展开系统梳理 Paddle人工智能大模型低代码计算机视觉深度学习模型推理服务PaddleX 昆仑 XPU 模型选型指南全模块 Benchmark 与部署实践PaddleX 昆仑 XPU 模型选型指南全模块 Benchmark 与部署实践 本指南以 PaddleX 在昆仑芯KunlunxinXPU 平台上的官方人工智能大模型低代码计算机视觉深度学习模型推理服务PaddleX 昆仑 XPU 产线实战指南基础产线全览、模型清单与多硬件推理配置PaddleX 昆仑 XPU 产线实战指南基础产线全览、模型清单与多硬件推理配置 本文围绕 PaddleX 在 昆仑芯 XPU 硬件平台上的支持现状展开完整人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音上一篇AssetStudio深度解析Unity资源逆向工程的瑞士军刀下一篇TPFanCtrl2如何让ThinkPad风扇从被动响应变为主动预测的智能管家创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进