# 一、PP-StructureV3 简介
PP-StructureV3 能够将文档图像和 PDF 文件高效转换为结构化内容(如 Markdown 格式),并具备版面区域检测、表格识别、公式识别、图表理解以及多栏阅读顺序恢复等强大功能。该工具在多种文档类型下均表现优异,能够处理复杂的文档数据。PP-StructureV3 支持灵活的服务化部署,兼容多种硬件环境,并可通过多种编程语言进行调用。同时,支持二次开发,用户可以基于自有数据集进行模型训练和优化,训练后的模型可实现无缝集成。
# 二、关键指标
| Method Type |
Methods |
OverallEdit↓ |
TextEdit↓ |
FormulaEdit↓ |
TableEdit↓ |
Read OrderEdit↓ |
| EN |
ZH |
EN |
ZH |
EN |
ZH |
EN |
ZH |
EN |
ZH |
| Pipeline Tools |
PP-structureV3 |
0.145 |
0.206 |
0.058 |
0.088 |
0.295 |
0.535 |
0.159 |
0.109 |
0.069 |
0.091 |
| MinerU-0.9.3 |
0.15 |
0.357 |
0.061 |
0.215 |
0.278 |
0.577 |
0.18 |
0.344 |
0.079 |
0.292 |
| MinerU-1.3.11 |
0.166 |
0.310 |
0.0826 |
0.2000 |
0.3368 |
0.6236 |
0.1613 |
0.1833 |
0.0834 |
0.2316 |
| Marker-1.2.3 |
0.336 |
0.556 |
0.08 |
0.315 |
0.53 |
0.883 |
0.619 |
0.685 |
0.114 |
0.34 |
| Mathpix |
0.191 |
0.365 |
0.105 |
0.384 |
0.306 |
0.454 |
0.243 |
0.32 |
0.108 |
0.304 |
| Docling-2.14.0 |
0.589 |
0.909 |
0.416 |
0.987 |
0.999 |
1 |
0.627 |
0.81 |
0.313 |
0.837 |
| Pix2Text-1.1.2.3 |
0.32 |
0.528 |
0.138 |
0.356 |
0.276 |
0.611 |
0.584 |
0.645 |
0.281 |
0.499 |
| Unstructured-0.17.2 |
0.586 |
0.716 |
0.198 |
0.481 |
0.999 |
1 |
1 |
0.998 |
0.145 |
0.387 |
| OpenParse-0.7.0 |
0.646 |
0.814 |
0.681 |
0.974 |
0.996 |
1 |
0.284 |
0.639 |
0.595 |
0.641 |
| Expert VLMs |
GOT-OCR |
0.287 |
0.411 |
0.189 |
0.315 |
0.36 |
0.528 |
0.459 |
0.52 |
0.141 |
0.28 |
| Nougat |
0.452 |
0.973 |
0.365 |
0.998 |
0.488 |
0.941 |
0.572 |
1 |
0.382 |
0.954 |
| Mistral OCR |
0.268 |
0.439 |
0.072 |
0.325 |
0.318 |
0.495 |
0.6 |
0.65 |
0.083 |
0.284 |
| OLMOCR-sglang |
0.326 |
0.469 |
0.097 |
0.293 |
0.455 |
0.655 |
0.608 |
0.652 |
0.145 |
0.277 |
| SmolDocling-256M_transformer |
0.493 |
0.816 |
0.262 |
0.838 |
0.753 |
0.997 |
0.729 |
0.907 |
0.227 |
0.522 |
| General VLMs |
Gemini2.0-flash |
0.191 |
0.264 |
0.091 |
0.139 |
0.389 |
0.584 |
0.193 |
0.206 |
0.092 |
0.128 |
| Gemini2.5-Pro |
0.148 |
0.212 |
0.055 |
0.168 |
0.356 |
0.439 |
0.13 |
0.119 |
0.049 |
0.121 |
| GPT4o |
0.233 |
0.399 |
0.144 |
0.409 |
0.425 |
0.606 |
0.234 |
0.329 |
0.128 |
0.251 |
| Qwen2-VL-72B |
0.252 |
0.327 |
0.096 |
0.218 |
0.404 |
0.487 |
0.387 |
0.408 |
0.119 |
0.193 |
| Qwen2.5-VL-72B |
0.214 |
0.261 |
0.092 |
0.18 |
0.315 |
0.434 |
0.341 |
0.262 |
0.106 |
0.168 |
| InternVL2-76B |
0.44 |
0.443 |
0.353 |
0.29 |
0.543 |
0.701 |
0.547 |
0.555 |
0.317 |
0.228 |
以上部分数据出自:
* OmniDocBench
* OmniDocBench: Benchmarking Diverse PDF Document Parsing with Comprehensive Annotations
# 三、推理 Benchmark
在不同GPU环境下,不同配置的 PP-StructureV3 和 MinerU 对比的性能指标如下。
基本测试环境:
* Paddle 3.0正式版
* PaddleOCR 3.0.0正式版
* MinerU 1.3.10
* CUDA 11.8
* cuDNN 8.9
## 3.1 本地推理
本地推理分别在 V100 和 A100 两种 GPU机器上,测试了 6 种不同配置下 PP-StructureV3 的性能,测试数据为15个PDF文件,共925页,包含表格、公式、印章、图表等元素。
下述 PP-StructureV3 配置中,OCR 模型详情请见[PP-OCRv5](../PP-OCRv5/PP-OCRv5.md),公式识别模型详情请见[公式识别](../../module_usage/formula_recognition.md),文本检测模块 max_side_limit 设置请见[文本检测](../../module_usage/text_detection.md)。
### NVIDIA Tesla V100 + Intel Xeon Gold 6271C
|
方案
|
配置
|
平均每页耗时
(s)
|
平均CPU利用率
(%)
|
峰值RAM用量
(GB)
|
平均RAM用量
(GB)
|
平均GPU利用率
(%)
|
峰值VRAM用量
(GB)
|
平均VRAM用量
(GB)
|
|
PP-StructureV3
|
OCR模型
|
公式识别模型
|
是否启用图表识别模块
|
文本检测max_side_limit
|
|
Server系列
|
PP-FormulaNet-L
|
✗
|
4096
|
1.77
|
111.4
|
6.7
|
5.2
|
38.9
|
17.0
|
16.5
|
|
Server系列
|
PP-FormulaNet-L
|
✔
|
4096
|
4.09
|
105.3
|
5.5
|
4.0
|
24.7
|
17.0
|
16.6
|
|
Mobile系列
|
PP-FormulaNet-L
|
✗
|
4096
|
1.56
|
113.7
|
6.6
|
4.9
|
29.1
|
10.7
|
10.6
|
|
Server系列
|
PP-FormulaNet-M
|
✗
|
4096
|
1.42
|
112.9
|
6.8
|
5.1
|
38
|
16.0
|
15.5
|
|
Mobile系列
|
PP-FormulaNet-M
|
✗
|
4096
|
1.15
|
114.8
|
6.5
|
5.0
|
26.1
|
8.4
|
8.3
|
|
Mobile系列
|
PP-FormulaNet-M
|
✗
|
1200
|
0.99
|
113
|
7.0
|
5.6
|
29.2
|
8.6
|
8.5
|
|
MinerU
|
-
|
1.57
|
142.9
|
13.3
|
11.8
|
43.3
|
31.6
|
9.7
|
### NVIDIA A100 + Intel Xeon Platinum 8350C
|
方案
|
配置
|
平均每页耗时
(s)
|
平均CPU利用率
(%)
|
峰值RAM用量
(GB)
|
平均RAM用量
(GB)
|
平均GPU利用率
(%)
|
峰值VRAM用量
(GB)
|
平均VRAM用量
(GB)
|
|
PP-StructureV3
|
OCR模型
|
公式识别模型
|
是否启用图表识别模块
|
文本检测max_side_limit
|
|
Server系列
|
PP-FormulaNet-L
|
✗
|
4096
|
1.12
|
109.8
|
9.2
|
7.8
|
29.8
|
21.8
|
21.1
|
|
Server系列
|
PP-FormulaNet-L
|
✔
|
4096
|
2.76
|
103.7
|
9.0
|
7.7
|
24
|
21.8
|
21.1
|
|
Mobile系列
|
PP-FormulaNet-L
|
✗
|
4096
|
1.04
|
110.7
|
9.3
|
7.8
|
22
|
12.2
|
12.1
|
|
Server系列
|
PP-FormulaNet-M
|
✗
|
4096
|
0.95
|
111.4
|
9.1
|
7.8
|
28.1
|
21.8
|
21.0
|
|
Mobile系列
|
PP-FormulaNet-M
|
✗
|
4096
|
0.89
|
112.1
|
9.2
|
7.8
|
18.5
|
11.4
|
11.2
|
|
Mobile系列
|
PP-FormulaNet-M
|
✗
|
1200
|
0.64
|
113.5
|
10.2
|
8.5
|
23.7
|
11.4
|
11.2
|
|
MinerU
|
-
|
1.06
|
168.3
|
18.3
|
16.8
|
27.5
|
76.9
|
14.8
|
## 3.2 服务化部署
服务化部署测试基于 NVIDIA A100 + Intel Xeon Platinum 8350C 环境,测试数据为 1500 张图像,包含表格、公式、印章、图表等元素。
| 实例数 |
并发请求数 |
吞吐 |
平均时延(s) |
成功请求数/总请求数 |
| 4卡 ✖️ 1实例/卡 |
4 |
1.69 |
2.36 |
100% |
| 4卡 ✖️ 4实例/卡 |
16 |
4.05 |
3.87 |
100% |
## 3.3 产线基准测试数据
点击展开/折叠表格
| 流水线配置 | 硬件 | 平均推理时间 (s) | 峰值CPU利用率 (%) | 平均CPU利用率 (%) | 峰值主机内存 (MB) | 平均主机内存 (MB) | 峰值GPU利用率 (%) | 平均GPU利用率 (%) | 峰值设备内存 (MB) | 平均设备内存 (MB) |
| PP_StructureV3-default |
Intel 8350C + A100 |
1.38 |
1384.60 |
113.26 |
5781.59 |
3431.21 |
100 |
32.79 |
37370.00 |
34165.68 |
| Intel 6271C + V100 |
2.38 |
608.70 |
109.96 |
6388.91 |
3737.19 |
100 |
39.08 |
26824.00 |
24581.61 |
| Intel 8563C + H20 |
1.36 |
744.30 |
112.82 |
6199.01 |
3865.78 |
100 |
43.81 |
35132.00 |
32077.12 |
| Intel 8350C + A10 |
1.74 |
418.50 |
105.96 |
6138.25 |
3503.41 |
100 |
48.54 |
18536.00 |
18353.93 |
| Intel 6271C + T4 |
3.70 |
434.40 |
105.45 |
6865.87 |
3595.68 |
100 |
71.92 |
13970.00 |
12668.58 |
| PP_StructureV3-pp |
Intel 8350C + A100 |
3.50 |
679.30 |
105.96 |
13850.20 |
5146.50 |
100 |
14.01 |
37656.00 |
34716.95 |
| Intel 6271C + V100 |
5.03 |
494.20 |
105.63 |
13542.94 |
4833.55 |
100 |
20.36 |
29402.00 |
26607.92 |
| Intel 8563C + H20 |
3.17 |
481.50 |
105.13 |
14179.97 |
5608.80 |
100 |
19.35 |
35454.00 |
32512.19 |
| PP_StructureV3-full |
Intel 8350C + A100 |
8.92 |
697.30 |
102.88 |
13777.07 |
4573.65 |
100 |
18.39 |
38776.00 |
37554.09 |
| Intel 6271C + V100 |
13.12 |
437.40 |
102.36 |
13974.00 |
4484.00 |
100 |
17.50 |
29878.00 |
28733.59 |
| PP_StructureV3-seal |
Intel 8350C + A100 |
1.39 |
747.50 |
112.55 |
5788.79 |
3742.03 |
100 |
33.81 |
38966.00 |
35832.44 |
| Intel 6271C + V100 |
2.44 |
630.10 |
110.18 |
6343.39 |
3725.98 |
100 |
42.23 |
28078.00 |
25834.70 |
| Intel 8563C + H20 |
1.40 |
792.20 |
113.63 |
6673.60 |
4417.34 |
100 |
46.33 |
35530.00 |
32516.87 |
| Intel 8350C + A10 |
1.75 |
422.40 |
106.08 |
6068.87 |
3973.49 |
100 |
50.12 |
19630.00 |
18374.37 |
| Intel 6271C + T4 |
3.76 |
400.30 |
105.10 |
6296.28 |
3651.42 |
100 |
72.57 |
14304.00 |
13268.36 |
| PP_StructureV3-chart |
Intel 8350C + A100 |
7.70 |
746.80 |
102.69 |
6355.58 |
4006.48 |
100 |
22.38 |
37380.00 |
36730.73 |
| Intel 6271C + V100 |
10.58 |
599.20 |
102.51 |
5754.14 |
3333.78 |
100 |
21.99 |
26820.00 |
26253.70 |
| Intel 8350C + A10 |
8.03 |
413.30 |
101.31 |
6473.29 |
3689.84 |
100 |
26.19 |
18540.00 |
18494.69 |
| Intel 6271C + T4 |
11.69 |
460.90 |
101.85 |
6503.12 |
3524.06 |
100 |
46.81 |
13966.00 |
12481.94 |
| PP_StructureV3-notable |
Intel 8350C + A100 |
1.24 |
738.30 |
110.45 |
5638.16 |
3278.30 |
100 |
35.32 |
30320.00 |
27026.17 |
| Intel 6271C + V100 |
2.24 |
452.40 |
107.79 |
5579.15 |
3635.95 |
100 |
43.00 |
23098.00 |
20684.43 |
| Intel 8563C + H20 |
1.18 |
989.00 |
107.71 |
6041.76 |
4024.76 |
100 |
50.67 |
33780.00 |
29733.15 |
| Intel 8350C + A10 |
1.58 |
225.00 |
102.56 |
5518.10 |
3333.08 |
100 |
49.90 |
21532.00 |
18567.99 |
| Intel 6271C + T4 |
3.40 |
413.30 |
103.58 |
5874.88 |
3662.49 |
100 |
76.82 |
13764.00 |
11890.62 |
| PP_StructureV3-noformula |
Intel 6271C |
7.85 |
1172.50 |
964.70 |
17739.00 |
11101.02 |
N/A |
N/A |
N/A |
N/A |
| Intel 8350C |
8.83 |
1053.50 |
970.64 |
15463.48 |
9408.19 |
N/A |
N/A |
N/A |
N/A |
| Intel 8350C + A100 |
0.84 |
788.60 |
124.25 |
6246.39 |
3674.32 |
100 |
30.57 |
40084.00 |
37358.45 |
| Intel 6271C + V100 |
1.42 |
606.20 |
115.53 |
7015.57 |
3707.03 |
100 |
35.63 |
29540.00 |
27620.28 |
| Intel 8563C + H20 |
0.87 |
644.10 |
119.23 |
6895.76 |
4222.85 |
100 |
50.00 |
36878.00 |
34104.59 |
| Intel 8350C + A10 |
1.03 |
377.50 |
106.87 |
5819.88 |
3830.19 |
100 |
42.87 |
19340.00 |
17550.94 |
| Intel 6271C + T4 |
2.02 |
430.20 |
109.21 |
6600.62 |
3824.18 |
100 |
65.75 |
14332.00 |
12712.18 |
| PP_StructureV3-lightweight |
Intel 6271C |
4.36 |
1189.70 |
995.78 |
14000.50 |
9374.97 |
N/A |
N/A |
N/A |
N/A |
| Intel 8350C |
3.74 |
1049.60 |
967.77 |
12960.96 |
7644.25 |
N/A |
N/A |
N/A |
N/A |
| Hygon 7490 + P800 |
0.86 |
572.20 |
120.84 |
8290.49 |
3569.44 |
N/A |
N/A |
N/A |
N/A |
| Intel 8350C + A100 |
0.61 |
823.40 |
126.25 |
9258.22 |
3776.63 |
52 |
18.95 |
7456.00 |
7131.95 |
| Intel 6271C + V100 |
1.07 |
686.80 |
116.70 |
9381.75 |
4126.28 |
58 |
22.92 |
8450.00 |
8083.30 |
| Intel 8563C + H20 |
0.46 |
999.00 |
122.21 |
9734.78 |
4516.40 |
61 |
24.41 |
7524.00 |
7167.52 |
| Intel 8350C + A10 |
0.70 |
355.40 |
111.51 |
9415.45 |
4094.06 |
89 |
30.85 |
7248.00 |
6927.58 |
| M4 |
12.22 |
223.60 |
107.35 |
9531.22 |
7884.61 |
N/A |
N/A |
N/A |
N/A |
| Intel 6271C + T4 |
1.13 |
461.40 |
112.16 |
7923.09 |
3837.31 |
85 |
41.67 |
8218.00 |
7902.04 |
| Pipeline configuration | description |
| PP_StructureV3-default |
默认配置 |
| PP_StructureV3-pp |
默认配置基础上,开启文档图像预处理 |
| PP_StructureV3-full |
默认配置基础上,开启文档图像预处理和图表解析 |
| PP_StructureV3-seal |
默认配置基础上,开启印章文本识别 |
| PP_StructureV3-chart |
默认配置基础上,开启文档图表解析 |
| PP_StructureV3-notable |
默认配置基础上,关闭表格识别 |
| PP_StructureV3-noformula |
默认配置基础上,关闭公式识别 |
| PP_StructureV3-lightweight |
默认配置基础上,将所有任务模型都换成最轻量版本 |
* 测试环境:
* PaddlePaddle 3.1.0、CUDA 11.8、cuDNN 8.9
* PaddleX @ develop (f1eb28e23cfa54ce3e9234d2e61fcb87c93cf407)
* Docker image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.1.0-gpu-cuda11.8-cudnn8.9
* 测试数据:
* 测试数据包含表格、印章、公式、图表的280张图像。
* 测试策略:
* 使用 20 个样本进行预热,然后对整个数据集重复 1 次以进行速度性能测试。
* 备注:
* 由于我们没有收集NPU和XPU的设备内存数据,因此表中相应位置的数据标记为N/A。
# 四、PP-StructureV3 Demo示例
更多示例
# 五、使用方法和常见问题
**Q:默认模型是什么配置,如果需要更高精度、更快速度、或者更小显存,应该调哪些参数或者更换哪些模型,对结果影响大概有多大?**
**A:** 默认模型均采用了了各个模块参数量最大的模型,3.3 章节中展示了不同的模型选择对于显存和推理速度的影响。可以根据设备情况和样本难易程度选择合适的模型。另外,在 Python API 或 CLI 设置 device 为<设备类型>:<设备编号1>,<设备编号2>...(例如gpu:0,1,2,3)可实现多卡并行推理。如果内置的多卡并行推理功能提速效果仍不满足预期,可参考多进程并行推理示例代码,结合具体场景进行进一步优化:[多进程并行推理](https://www.paddleocr.ai/latest/version3.x/pipeline_usage/instructions/parallel_inference.html)。
---
**Q: PP-StructureV3 是否可以在 CPU 上运行?**
**A:** PP-StructureV3 虽然更推荐在 GPU 环境下进行推理,但也支持在 CPU 上运行。得益于多种配置选项及对轻量级模型的充分优化,在仅有 CPU 环境时,用户可以参考 3.3 节选择轻量化配置进行推理。例如,在 Intel 8350C CPU 上,每张图片的推理时间约为 3.74 秒。
---
**Q: 如何将 PP-StructureV3 集成到自己的项目中?**
**A:**
- 对于 Python 项目,可以直接使用 PaddleOCR 的 Python API 完成集成。
- 对于其他编程语言,建议通过服务化部署方式集成。PaddleOCR 支持包括 C++、C#、Java、Go、PHP 等多种语言的客户端调用方式,具体集成方法可参考 [官方文档](https://www.paddleocr.ai/latest/version3.x/pipeline_usage/PP-StructureV3.html#3)。
- 如果需要与大模型进行交互,PaddleOCR 还提供了 MCP 服务,详细说明可参考 [MCP 服务器](https://www.paddleocr.ai/latest/version3.x/deployment/mcp_server.html)。
---
**Q:服务化部署可以并发处理请求吗?**
**A:** 对于基础服务化部署方案,服务同一时间只处理一个请求,该方案主要用于快速验证、打通开发链路,或者用在不需要并发请求的场景;对于高稳定性服务化部署方案,服务默认在同一时间只处理一个请求,但用户可以参考服务化部署指南,通过调整配置实现水平扩展,以使服务同时处理多个请求。
---
**Q: 服务化部署如何降低时延、提升吞吐?**
**A:** PaddleOCR 提供的2种服务化部署方案,无论使用哪一种方案,都可以通过启用高性能推理插件提升模型推理速度,从而降低处理时延。此外,对于高稳定性服务化部署方案,通过调整服务配置,设置多个实例,也可以充分利用部署机器的资源,有效提升吞吐。高稳定性服务化部署方案调整配置可以参考[文档](https://paddlepaddle.github.io/PaddleX/latest/pipeline_deploy/serving.html#22)。