96.33% 新SOTA!PaddleOCR-VL-1.6 发布,大模型时代的数据基座再升级

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: PaddleOCR-VL-1.6正式发布!在OmniDocBench v1.6达96.33% SOTA,全面领先开源/闭源方案;支持表格、公式、图表、古籍、生僻字、印章等多场景高精度识别,异形框定位更优;模型结构兼容1.5版,零成本升级。代码与权重已开源。

过去几个月,PaddleOCR相继发布了PaddleOCR-VL和PaddleOCR-VL-1.5,凭借强大而稳定的文档解析能力,已经被业界广泛用于大模型训练数据和应用数据构建。PaddleOCR-VL-1.5更是创新性地支持了异形框定位,在真实文档场景中表现优异。

最近,PaddleOCR正式推出PaddleOCR-VL-1.6,PaddleOCR-VL-1.6是在PaddleOCR-VL-1.5的基础上,通过对数据和训练策略的极致优化,在OmniDocBench v1.6 突破96.3%,在OmniDocBench v1.5、Real5-OmniDocBench上同样刷新SOTA,文本、公式、表格识别全面领先开源与闭源方案。此外,表格、古籍、生僻字识别大幅提升,印章、spotting、图表识别等多场景均有显著增强。值得一提的是,模型结构与PaddleOCR-VL-1.5完全一致,零成本适配,即换即用。




PaddleOCR-VL-1.6代码和模型权重已全面开源,欢迎下载使用。

  • PaddleOCR官网:http://paddleocr.com
  • Github:http://github.com/PaddlePaddle/PaddleOCR
  • ModelScope:https://modelscope.cn/models/PaddlePaddle/PaddleOCR-VL-1.6

效果预览

1. 表格识别场景





2. 图表识别场景





3. 公式识别场景




4. 古籍识别场景







5. 生僻字识别场景




6. 印章识别场景





7. 真实畸变场景


















核心指标

1. OmniDocBench v1.6指标

OmniDocBench v1.6是OmniDocBench的最新版本,在原有版本新增了较多困难样本。PaddleOCR-VL-1.6总指标96.33%,领跑全球所有通用大模型和专用OCR模型。




2. Real5-OmniDocBench指标

Real5-OmniDocBench是基于OmniDocBench v1.5构建的多场景文档解析评估集,涵盖了扫描、弯折、屏幕拍照、光线变化、倾斜5大场景,PaddleOCR-VL-1.6总指标93.19%,全面领先,总指标领先Gemini3 Pro近4个百分点。



核心技术点

1. 整体框架:模型驱动的数据构建与渐进式后训练

PaddleOCR-VL-1.6 并不是一次简单的模型放大或数据堆叠,而是在 PaddleOCR-VL-1.5 已经具备强大基础能力的前提下,进一步追问:模型真正没有学好的地方在哪里?通过对历史模型的分析发现,剩余错误并非均匀分布,而是集中出现在一批欠优化区域中——包括预测不稳定、数据覆盖不足、监督信号不可靠等局部弱区。

因此,PaddleOCR-VL-1.6 采用了 “模型驱动的数据引擎 + 渐进式后训练策略” 的整体优化框架:先从当前模型出发定位弱点,再围绕这些弱点构建高价值数据,最后通过继续预训练、监督微调、强化学习的渐进式后训练流程,将新增数据的价值稳定注入模型。最终,在不改变 0.9B 高效架构的前提下,模型实现了更强的文档解析性能、鲁棒性和泛化能力。


从整体优化路线可以看到,PaddleOCR-VL-1.6 的升级路径非常清晰:左侧延续 PaddleOCR-VL-1.5 的高效架构和任务体系,中间通过欠优化区域驱动的数据引擎挖掘并修复模型弱点,右侧再通过继续预训练、监督微调、强化学习三阶段后训练逐步吸收高质量数据。整个流程体现了一个核心思想:不是通过盲目数据扩增来让模型变得更大,而是通过对模型弱点的定向分析,让每一份数据更精准地服务于模型能力提升。

2. 数据引擎:从“盲目扩量”到“面向模型弱点的精准优化”

PaddleOCR-VL-1.6 提出的欠优化区域驱动的数据引擎,是模型提升的核心数据机制。它不是随机扩充样本,而是围绕模型残余弱点进行针对性挖掘与修复。

具体来说,数据引擎从三个视角定位 欠优化区域:决策边界脆弱区域用于挖掘在训练末期不同权重或语义不变扰动下不稳定的样本,定位模型不稳定的决策边界;数据分布稀疏覆盖区域用于发现特征空间中覆盖不足、容易被主流分布淹没的长尾区域;不可靠的监督信号区域用于识别原始训练集中监督信号不可靠的样本。随后,前两类区域被用作种子,从大规模内部数据池中进行定向检索,以扩展模型未充分覆盖的分布;第三类区域则用于修正已有标注噪声。对于新检索和待修复样本,系统进一步结合多专家共识与 ERNIE 5.0 的 判别-修正 流程,构建更可靠高质量的训练数据。

由此,PaddleOCR-VL-1.6 的数据建设从传统的规模驱动,转向了更高效的模型弱点驱动。


图中进一步展示了数据引擎的内部工作方式:左侧对应三类 欠优化区域 的挖掘过程,中间通过定向检索、多专家共识和迭代式标注修复完成数据增强,最终沉淀为更高质量的训练数据。

这个流程的关键价值在于,它同时解决了“缺数据”和“数据不可靠”两个问题:既扩展了模型在边界分布上的覆盖,也提升了监督信号的可信度,更确定了数据的难度,从而为后续 继续预训练、监督微调 和 强化学习 提供更稳定的数据基础。

3. 强化学习优化:以高潜力样本筛选稳定小模型强化学习优化

在强化学习阶段,PaddleOCR-VL-1.6 面临一个典型小模型挑战:0.9B 模型,尤其是其中语言模型的部分仅有 0.3B,对强化学习数据质量和奖励信号非常敏感。如果样本过难,模型无法产生有效正向轨迹;如果样本过易,训练几乎没有提升空间;如果采样轨迹之间奖励差异过小,GRPO 也难以形成有效的相对优势信号。

为此,PaddleOCR-VL-1.6 设计了面向GRPO的高潜力样本挖掘策略,用 监督微调后的模型对候选样本进行多次轨迹采样,并从提升潜力、生成不确定性和奖励方差三个维度筛选真正“可学习、有区分度、有收益空间”的样本。同时,针对文档解析任务输出形式复杂、二值奖励过稀疏的问题,PaddleOCR-VL-1.6 进一步精心设计可验证的奖励函数,将输出映射到任务相关的规范表示,并通过合法性、结构修正约束、真实得分三个维度提供稳定、可验证、任务对齐的奖励信号。

最终,强化学习不再是简单的额外训练阶段,而成为对强 监督微调后的模型的高精度收尾优化,进一步提升性能并规范输出风格。


模型推理

使用Paddlepaddle框架推理

请确保安装 PaddlePaddle 框架 3.2.1 或更高版本,以及特殊版本的 safetensors。 对于 macOS 用户,请使用 Docker 配置环境。

环境安装:

# The following command installs the PaddlePaddle version for CUDA 12.6. For other CUDA versions and the CPU version, please refer to https://www.paddlepaddle.org.cn/en/install/quick?docurl=/documentation/docs/en/develop/install/pip/linux-pip_en.html
python -m pip install paddlepaddle-gpu==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
python -m pip install -U "paddleocr[doc-parser]>=3.6.0"

命令行使用:

paddleocr doc_parser -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png --pipeline_version v1.6

python API使用:

from paddleocr import PaddleOCRVL
pipeline = PaddleOCRVL(pipeline_version="v1.6")
output = pipeline.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png")
for res in output:
    res.print()
    res.save_to_json(save_path="output")
    res.save_to_markdown(save_path="output")

使用transformers推理

PaddleOCR-VL-1.6-0.9B 模型可通过 transformers 库实现无缝推理,支持全面的文本检测以及对公式、表格、图表和印章等复杂元素的识别。

环境安装:

# ensure the transformers v5 is installed
python -m pip install "transformers>=5.0.0"

推理脚本

from PIL import Image
import torch
from modelscope import AutoProcessor, AutoModelForImageTextToText
# ---- Settings ----
model_path = "PaddlePaddle/PaddleOCR-VL-1.6"
image_path = "test.png"
task = "ocr" # Options: 'ocr' | 'table' | 'chart' | 'formula' | 'spotting' | 'seal'
# ------------------
# ---- Image Preprocessing For Spotting ----
image = Image.open(image_path).convert("RGB")
orig_w, orig_h = image.size
spotting_upscale_threshold = 1500
if task == "spotting" and orig_w < spotting_upscale_threshold and orig_h < spotting_upscale_threshold:
    process_w, process_h = orig_w * 2, orig_h * 2
    try:
        resample_filter = Image.Resampling.LANCZOS
    except AttributeError:
        resample_filter = Image.LANCZOS
    image = image.resize((process_w, process_h), resample_filter)
# Set max_pixels: use 1605632 for spotting, otherwise use default ~1M pixels
max_pixels = 2048 * 28 * 28 if task == "spotting" else 1280 * 28 * 28
# ---------------------------
# -------- Inference --------
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
PROMPTS = {
    "ocr": "OCR:",
    "table": "Table Recognition:",
    "formula": "Formula Recognition:",
    "chart": "Chart Recognition:",
    "spotting": "Spotting:",
    "seal": "Seal Recognition:",
}
model = AutoModelForImageTextToText.from_pretrained(model_path, torch_dtype=torch.bfloat16).to(DEVICE).eval()
processor = AutoProcessor.from_pretrained(model_path)
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": image},
            {"type": "text", "text": PROMPTS[task]},
        ]
    }
]
inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    images_kwargs={"size": {"shortest_edge": processor.image_processor.min_pixels, "longest_edge": max_pixels}},
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)
result = processor.decode(outputs[0][inputs["input_ids"].shape[-1]:-1])
print(result)
# ---------------------------

模型微调

ms-swift 支持了 PaddleOCR-VL-1.6 系列模型的微调与RL。ms-swift是魔搭社区官方提供的大模型训练框架,开源地址:https://github.com/modelscope/ms-swift

环境准备:

# pip install git+https://github.com/modelscope/ms-swift.git
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .
pip install "transformers>=5" -U

微调脚本如下:

CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model PaddlePaddle/PaddleOCR-VL-1.6 \
    --dataset 'AI-ModelScope/LaTeX_OCR:human_handwrite#2000' \
    --load_from_cache_file true \
    --split_dataset_ratio 0.01 \
    --tuner_type lora \
    --torch_dtype bfloat16 \
    --num_train_epochs 1 \
    --padding_free true \
    --attn_impl flash_attention_2 \
    --per_device_train_batch_size 16 \
    --per_device_eval_batch_size 16 \
    --learning_rate 1e-4 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --target_modules all-linear \
    --freeze_vit true \
    --freeze_aligner true \
    --gradient_accumulation_steps 1 \
    --eval_steps 50 \
    --save_steps 50 \
    --save_total_limit 2 \
    --logging_steps 5 \
    --max_length 4096 \
    --output_dir output \
    --warmup_ratio 0.05 \
    --dataset_num_proc 4 \
    --dataloader_num_workers 4

自定义数据集格式:

{"messages": [{"role": "user", "content": "<image><OCR:"}, {"role": "assistant", "content": "ms-swift是魔搭社区提供的大模型与多模态大模型微调部署框架"}], "images": ["/xxx/x.png"]}
{"messages": [{"role": "user", "content": "<image>Table Recognition:"}, {"role": "assistant", "content": "..."}], "images": ["/xxx/y.png"]}

训练后对验证集推理:

CUDA_VISIBLE_DEVICES=0 \
swift infer \
  --adapters output/vx-xxx/checkpoint-xxx \
  --stream true \
  --load_data_args true


目录
相关文章
|
5月前
|
JSON 文字识别 API
百度文心开源0.9B参数 PaddleOCR-VL-1.5,全球首个支持异形框定位的文档解析模型!
百度文心开源新一代文档解析模型PaddleOCR-VL-1.5:仅0.9B参数,在OmniDocBench v1.5达94.5%精度,全球首个支持异形框定位,精准识别倾斜、弯折、反光等“歪文档”,集成印章识别、多语种(含藏语/孟加拉语)及古籍解析能力,推理速度超MinerU2.5达43%。(239字)
1241 2
|
25天前
|
人工智能 自然语言处理 算法
阿里云Token Plan坐席怎么选?标准版 / 高级版 / 尊享版资费及Credits性价比分析
阿里云百炼Token Plan提供标准版(198元/月,2.5万Credits)、高级版(698元/月,10万Credits)和尊享版(1398元/月,25万Credits)。高级版单位Credit成本最低(0.00698元),性价比最优,适合高频AI使用者;标准版适合轻量需求,尊享版适配AI重度场景。官网可领7000万Tokens及折扣券。开通百炼:https://t.aliyun.com/U/fPVHqY 免费领千问Tokens
|
5月前
|
机器学习/深度学习 测试技术 API
Qwen3.5 中等规模模型系列正式开源:更强智能,更低算力
通义千问Qwen3.5发布四款中等规模多模态模型,支持256K原生上下文(可扩至1M)、201种语言及统一视觉语言训练。凭借Gated Delta+MoE混合架构与百万Agent强化学习,35B-A3B仅激活3B参数即超越旧旗舰,性能、效率与部署成本兼具。(239字)
9108 23
|
6月前
|
Devops 开发工具 git
【架构基础】互联网大厂Git多分支规范
Git分支管理是通过创建多分支实现并行开发、代码隔离与版本控制的协作模式。以master和develop为核心,结合feature、release、hotfix等分支,规范开发流程,提升团队协作效率与代码质量。
1018 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
1235 13
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
|
10月前
|
数据安全/隐私保护
微软官方直链下载,win10,win11纯净版企业版等都有,别在网上找来找去了。
重装系统太麻烦?其实只需两个工具:微软官方直链下载系统镜像,配合CoolReinstall一键安装。操作简单、速度快,不捆绑软件,省去手动安装的繁琐流程,助你轻松完成系统重装。
4433 7
|
文字识别 PyTorch Go
从零开始的OCR之旅
本文介绍了如何配置环境并使用EasyOCR库进行OCR任务,包括安装依赖、下载必要的模型包,并提供了一个简单的使用示例。
从零开始的OCR之旅
|
人工智能 文字识别 小程序
告别手动录入!AI自动识别发票
最近有朋友向我吐槽:"每天对着几十张发票手动录入系统,眼睛都快看花了,还总担心数字打错。" 这种重复性高、容错率低的工作,确实让财务和行政人员苦不堪言。作为程序员,我深知这类场景完全可以通过技术手段优化
1029 1

热门文章

最新文章