跳转至

一、PP-StructureV3 简介

PP-StructureV3 产线在通用版面解析v1产线的基础上,强化了版面区域检测、表格识别、公式识别的能力,增加了图表理解和多栏阅读顺序的恢复能力、结果转换 Markdown 文件的能力,在多种文档数据中,表现优异,可以处理较复杂的文档数据。本产线同时提供了灵活的服务化部署方式,支持在多种硬件上使用多种编程语言调用。不仅如此,本产线也提供了二次开发的能力,您可以基于本产线在您自己的数据集上训练调优,训练后的模型也可以无缝集成。

二、关键指标

Method Type Methods OverallEdit TextEdit FormulaEdit TableEdit Read OrderEdit
EN ZH EN ZH EN ZH EN ZH EN ZH
Pipeline Tools PP-structureV3 0.147 0.212 0.059 0.09 0.295 0.535 0.159 0.109 0.075 0.114
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

3.1 测试条件

  • Paddle 3.0正式版
  • PaddleOCR 3.0.0正式版
  • MinerU 1.3.10
  • CUDA 11.8
  • cuDNN 8.9

3.2 测试数据

  1. 本地推理

测试硬件:NVIDIA Tesla V100 + Intel Xeon Gold 6271C

产线配置 平均每页耗时(s) 平均CPU利用率(%) 峰值RAM用量(MB) 平均RAM用量(MB) 平均GPU利用率(%) 峰值VRAM用量(MB) 平均VRAM用量(MB)
PP-StructureV3 基础配置 1.77 111.4 6822.4 5278.2 38.9 17403 16909.3
使用图表识别 4.09 105.3 5628 4085.1 24.7 17403 17030.9
使用 PP-OCRv5_mobile_det + PP-OCRv5_mobile_rec 轻量模型 1.56 113.7 6712.9 5052 29.1 10929 10840.7
使用 PP-FormulaNet-M 轻量公式识别模型 1.42 112.9 6944.1 5193.6 38 16390 15840
使用 PP-OCRv5_mobile_det + PP-OCRv5_mobile_rec + PP-FormulaNet-M 1.15 114.8 6666.5 5105.4 26.1 8606 8517.2
使用 PP-OCRv5_mobile_det + PP-OCRv5_mobile_rec + PP-FormulaNet-M,文本检测模型输入最大尺寸设置为 1200 0.99 113 7172.9 5686.4 29.2 8776 8680.8
MinerU - 1.57 142.9 13655.8 12083 43.3 32406 9915.4

测试硬件:NVIDIA A100 + Intel Xeon Platinum 8350C

Pipeline Configurations Average time per page (s) Average CPU (%) Peak RAM Usage (MB) Average RAM Usage (MB) Average GPU (%) Peak VRAM Usage (MB) Average VRAM Usage (MB)
PP-StructureV3 Basic 1.12 109.8 9418.3 7977.9 29.8 22294 21638.4
Use chart recognition pipeline 2.76 103.7 9253.6 7840.6 24 22298 21555.3
Use PP-OCRv5_mobile_det + PP-OCRv5_mobile_rec 1.04 110.7 9520.8 8034.3 22 12490 12383.1
Use PP-FormulaNet_plus-M 0.95 111.4 9272.9 7939.9 28.1 22350 21498.4
Use PP-OCRv5_mobile_det + PP-OCRv5_mobile_rec + PP-FormulaNet_plus-M 0.89 112.1 9457.2 8031.5 18.5 11642 11433.6
Use PP-OCRv5_mobile_det + PP-OCRv5_mobile_rec + PP-FormulaNet_plus-M, and max length of text detection set to 1200 0.64 113.5 10401.1 8688.8 23.7 11716 11453.9
MinerU - 1.06 168.3 18690.4 17213.8 27.5 78760 15119
  1. 服务化部署

输入数据:1500张图像,包含表格、公式、印章、图表等元素。 使用基础配置。

实例数 并发请求数 吞吐 平均时延(s) 成功请求数/总请求数
4卡*1 4 1.69 2.36 1
4卡*4 16 4.05 3.87 1

四、PP-StructureV3 Demo示例

更多示例

五、使用方法和常见问题

  1. 默认模型是什么配置,如果需要更高精度、更快速度、或者更小显存,应该调哪些参数或者更换哪些模型,对结果影响大概有多大?

在“使用轻量OCR模型+轻量公式模型,文本检测max 1200”的基础上,将产线配置文件中的use_chart_recognition设置为False,不加载图表识别模型,可以进一步减少显存用量。在V100测试环境中,峰值和平均显存用量分别从8776.0 MB和8680.8 MB降低到6118.0 MB和6016.7 MB;在A100测试环境中,峰值和平均显存用量分别从11716.0 MB和11453.9 MB降低到9850.0 MB和9593.5 MB。 在Python API或CLI设置device为<设备类型>:<设备编号1>,<设备编号2>...(例如gpu:0,1,2,3)可实现多卡并行推理。如果内置的多卡并行推理功能提速效果仍不满足预期,可参考多进程并行推理示例代码,结合具体场景进行进一步优化:多进程并行推理

  1. 服务化部署的常见问题

(1)服务可以并发处理请求吗?

对于基础服务化部署方案,服务同一时间只处理一个请求,该方案主要用于快速验证、打通开发链路,或者用在不需要并发请求的场景;

对于高稳定性服务化部署方案,服务默认在同一时间只处理一个请求,但用户可以参考服务化部署指南,通过调整配置实现水平扩展,以使服务同时处理多个请求。

(2)如何降低时延、提升吞吐?

无论使用哪一种服务化部署方案,都可以通过启用高性能推理插件提升模型推理速度,从而降低处理时延。

此外,对于高稳定性服务化部署方案,通过调整服务配置,设置多个实例,也可以充分利用部署机器的资源,有效提升吞吐。