- 人工智能
- 大模型
- 低代码
- 计算机视觉
- 深度学习
- NLP
- 模型推理服务
- RAG
【免费下载链接】PaddleX
All-in-One Development Tool based on PaddlePaddle
PaddleX 内置了多条产线,每条产线由若干模块组成,每个模块又包含多个模型。本文以 PaddleX 模型列表(昆仑 XPU) 为骨架,完整梳理在昆仑 XPU(Kunlun XPU)硬件平台上受支持的模型、精度 Benchmark、模型存储大小与下载方式,并结合仓库源码说明 XPU 设备白名单机制、环境变量配置以及产线推理与模型微调的实际用法。读完本文,你将能够在昆仑 XPU 设备上按精度与存储需求完成模型选型,并正确配置device=xpu参数运行 PaddleX 产线。
一、背景:产线—模块—模型的层级结构
PaddleX 的整体组织方式是「产线(Pipeline)—模块(Module)—模型(Model)」三层结构:每条产线解决一类具体任务(如通用 OCR、通用图像分类),产线内部由若干模块串联(如文本检测模块、文本识别模块),每个模块下挂若干可替换的模型。因此在 XPU 平台上选型时,实际要做的是「为每个模块挑选一个模型」。
本清单中的模型均可在昆仑 XPU 设备上运行,具体选用哪个模型,可依据各表中的 Benchmark 数据决策:
- 若更看重模型精度,选择精度指标(Top1 Acc、mAP、mIoU、Hmean 等)较高的模型;
- 若更看重模型存储大小,选择体积更小的模型(XPU 嵌入式设备通常对存储与内存敏感)。
说明:本清单对应的完整 CPU/GPU 模型列表见 PaddleX模型列表(CPU/GPU),XPU 清单是其面向昆仑芯片平台的能力子集。
二、硬件与运行环境前提
在 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 --name=xxx -m 81920M --memory-swap=81920M \ --shm-size=128G --privileged --net=host \ -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! Let's 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(pipeline="OCR", device="xpu: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.mode=train \ -o Global.dataset_dir=./dataset/ocr_det_dataset_examples \ -o Global.device=xpu:0,1,2,3 # 推理 python main.py -c paddlex/configs/text_detection/PP-OCRv4_mobile_det.yaml \ -o Global.mode=predict \ -o Predict.model_dir="./output/best_accuracy/inference" \ -o Predict.input="general_ocr_001.png" \ -o Global.device=xpu配置文件中的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_5 | 69.2 | 9.6 | 推理模型 / 训练模型 |
| MobileNetV3_large_x0_35 | 64.3 | 7.5 | 推理模型 / 训练模型 |
| MobileNetV3_large_x0_75 | 73.1 | 14.0 | 推理模型 / 训练模型 |
| MobileNetV3_large_x1_0 | 75.3 | 19.5 | 推理模型 / 训练模型 |
| MobileNetV3_large_x1_25 | 76.4 | 26.5 | 推理模型 / 训练模型 |
| MobileNetV3_small_x0_5 | 59.2 | 6.8 | 推理模型 / 训练模型 |
| MobileNetV3_small_x0_35 | 53.0 | 6.0 | 推理模型 / 训练模型 |
| MobileNetV3_small_x0_75 | 66.0 | 8.5 | 推理模型 / 训练模型 |
| MobileNetV3_small_x1_0 | 68.2 | 10.5 | 推理模型 / 训练模型 |
| MobileNetV3_small_x1_25 | 70.7 | 13.0 | 推理模型 / 训练模型 |
| PP-HGNet_base | 85.0 | 249.4 | 推理模型 / 训练模型 |
| PP-HGNet_small | 81.51 | 86.5 | 推理模型 / 训练模型 |
| PP-HGNet_tiny | 79.83 | 52.4 | 推理模型 / 训练模型 |
| PP-LCNet_x0_5 | 63.14 | 6.7 | 推理模型 / 训练模型 |
| PP-LCNet_x0_25 | 51.86 | 5.5 | 推理模型 / 训练模型 |
| PP-LCNet_x0_35 | 58.09 | 5.9 | 推理模型 / 训练模型 |
| PP-LCNet_x0_75 | 68.18 | 8.4 | 推理模型 / 训练模型 |
| PP-LCNet_x1_0 | 71.32 | 10.5 | 推理模型 / 训练模型 |
| PP-LCNet_x1_5 | 73.71 | 16.0 | 推理模型 / 训练模型 |
| PP-LCNet_x2_0 | 75.18 | 23.2 | 推理模型 / 训练模型 |
| PP-LCNet_x2_5 | 76.60 | 32.1 | 推理模型 / 训练模型 |
| ResNet18 | 71.0 | 41.5 | 推理模型 / 训练模型 |
| ResNet34 | 74.6 | 77.3 | 推理模型 / 训练模型 |
| ResNet50 | 76.5 | 90.8 | 推理模型 / 训练模型 |
| ResNet101 | 77.6 | 158.7 | 推理模型 / 训练模型 |
| ResNet152 | 78.3 | 214.2 | 推理模型 / 训练模型 |
| ResNet18_vd | 72.3 | 41.5 | 推理模型 / 训练模型 |
| ResNet34_vd | 76.0 | 77.3 | 推理模型 / 训练模型 |
| ResNet50_vd | 79.1 | 90.8 | 推理模型 / 训练模型 |
| ResNet101_vd | 80.2 | 158.4 | 推理模型 / 训练模型 |
| ResNet152_vd | 80.6 | 214.3 | 推理模型 / 训练模型 |
| ResNet200_vd | 80.9 | 266.0 | 推理模型 / 训练模型 |
选型要点:在图像分类模块中,PP-LCNet_x0_25(5.5 MB)是存储最小的选择,PP-HGNet_base(Top1 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-L | 42.6 | 20.9 | 推理模型 / 训练模型 |
| PicoDet-M | 37.5 | 16.8 | 推理模型 / 训练模型 |
| PicoDet-S | 29.1 | 4.4 | 推理模型 / 训练模型 |
| PicoDet-XS | 26.2 | 5.7 | 推理模型 / 训练模型 |
| PP-YOLOE_plus-L | 52.9 | 185.3 | 推理模型 / 训练模型 |
| PP-YOLOE_plus-M | 49.8 | 83.2 | 推理模型 / 训练模型 |
| PP-YOLOE_plus-S | 43.7 | 28.3 | 推理模型 / 训练模型 |
| PP-YOLOE_plus-X | 54.7 | 349.4 | 推理模型 / 训练模型 |
选型要点:PicoDet-S(4.4 MB)存储占用最小,PP-YOLOE_plus-X(mAP 54.7%)精度最高;PicoDet系列整体轻量,适合在 XPU 端侧部署目标检测能力。
六、语义分割与异常检测模块模型清单
6.1 语义分割模块
详见语义分割模块教程。以下指标为Cityscapes 数据集 mIoU。
| 模型名称 | mIoU(%) | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|
| PP-LiteSeg-T | 77.04 | 31 | 推理模型 / 训练模型 |
6.2 异常检测模块
详见异常检测模块教程。以下指标为MVTec AD 验证集平均异常分数(Avg)。
| 模型名称 | Avg(%) | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|
| STFPM | 96.2 | 21.5 | 推理模型 / 训练模型 |
6.3 人脸检测模块
详见人脸检测模块教程。以下指标在WIDER-FACE 验证集、640×640 输入尺寸下评估得到。
| 模型名称 | AP(%) Easy/Medium/Hard | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|
| PicoDet_LCNet_x2_5_face | 93.7/90.7/68.1 | 28.9 | 推理模型 / 训练模型 |
七、OCR 相关模块模型清单
7.1 文本检测模块
详见文本检测模块教程。评估集为 PaddleOCR 自建中文数据集,覆盖街景、网图、文档、手写等多个场景,检测含 500 张图片。
| 模型名称 | 检测Hmean(%) | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|
| PP-OCRv4_mobile_det | 77.79 | 4.2 | 推理模型 / 训练模型 |
| PP-OCRv4_server_det | 82.69 | 100.1 | 推理模型 / 训练模型 |
7.2 文本识别模块
详见文本识别模块教程。评估集为 PaddleOCR 自建中文数据集,识别含 1.1 万张图片。
| 模型名称 | 识别Avg Accuracy(%) | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|
| PP-OCRv4_mobile_rec | 78.20 | 10.6 | 推理模型 / 训练模型 |
| PP-OCRv4_server_rec | 79.20 | 71.2 | 推理模型 / 训练模型 |
7.3 版面区域检测模块
详见版面区域检测模块教程。评估集为 PaddleOCR 自建版面区域分析数据集,含 1 万张图片。
| 模型名称 | mAP(%) | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|
| PicoDet_layout_1x | 86.8 | 7.4 | 推理模型 / 训练模型 |
选型要点:OCR 场景中,PP-OCRv4_mobile_det(4.2 MB)与PP-OCRv4_mobile_rec(10.6 MB)组合适合轻量部署,PP-OCRv4_server_*系列精度更高但体积更大;检测、识别、版面检测三类模型组合起来即可在 XPU 上搭建完整 OCR/文档理解产线。
八、时序预测模块模型清单
详见时序预测模块教程。以下精度指标测量自 ETTH1 数据集(测试集 test.csv 上的评测结果),推理耗时给出 GPU/CPU 的「常规模式 / 高性能模式」两组数据。
| 模型名称 | mse | mae | GPU推理耗时(ms)[常规模式 / 高性能模式] | CPU推理耗时(ms)[常规模式 / 高性能模式] | 模型存储大小(MB) | 模型下载链接 |
|---|---|---|---|---|---|---|
| DLinear | 0.382 | 0.394 | 0.34 / 0.12 | 0.64 / 0.06 | 0.072 | 推理模型 / 训练模型 |
| NLinear | 0.386 | 0.392 | 0.27 / 0.10 | 0.49 / 0.08 | 0.04 | 推理模型 / 训练模型 |
| RLinear | 0.385 | 0.392 | 0.39 / 0.18 | 0.82 / 0.08 | 0.04 | 推理模型 / 训练模型 |
选型要点:三个线性时序模型体积均不足 0.1 MB,其中 DLinear 精度最优(mse 0.382),NLinear/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)即用户声明device="xpu"后,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, ( f"The 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(..., device="xpu:0");单模型训练/推理在 YAML 配置中设置Global.device=xpu:0,1,2,3; - 遵循白名单约束:所选模型需位于源码
XPU_WHITELIST中,超出范围时按 paddlex/utils/device.py 中的校验提示调整模型或设置PADDLE_PDX_DISABLE_DEV_MODEL_WL。
至此,你即可在昆仑 XPU 设备上完成从模型选型、产线推理到二次微调的完整落地。
- 人工智能
- 大模型
- 低代码
- 计算机视觉
- 深度学习
- NLP
- 模型推理服务
- RAG
【免费下载链接】PaddleX
All-in-One Development Tool based on PaddlePaddle
相关推荐
PaddleX 在昆仑 XPU 上的产线支持清单与落地实践
PaddleX 在昆仑 XPU 上的产线支持清单与落地实践 本文基于 PaddleX 官方的《PaddleX产线列表 XPU 》整理展开,系统梳理 Paddle
人工智能大模型低代码计算机视觉深度学习模型推理服务PaddleX 昆仑 XPU 模型选型指南:全模块 Benchmark 与部署实践
PaddleX 昆仑 XPU 模型选型指南:全模块 Benchmark 与部署实践 本指南以 PaddleX 在昆仑芯(Kunlunxin)XPU 平台上的官方
人工智能大模型低代码计算机视觉深度学习模型推理服务PaddleX 昆仑 XPU 产线实战指南:基础产线全览、模型清单与多硬件推理配置
PaddleX 昆仑 XPU 产线实战指南:基础产线全览、模型清单与多硬件推理配置 本文围绕 PaddleX 在 昆仑芯 XPU 硬件平台上的支持现状展开,完整
人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考