WeVisDoc:从覆盖到能力的鲁棒端到端文档解析 WeVisDoc: From Coverage to Capability for Robust End-to-End Document Parsing
两阶段数据框架:先广覆盖构建,再按残差诊断定向补数与重分配,端到端解析四榜第一。
前置知识
自回归端到端文档解析
把整页文档图像直接送给视觉-语言模型(VLM),模型按阅读顺序逐 token 生成结构化文本:正文用 Markdown、表格用 HTML、公式用 LaTeX,一次解码同时完成文字识别、结构还原和阅读顺序推断。与之相对的是流水线方案:先做版面分析切出区域,再逐区域识别。本文的 $p_\theta(y|x)=\prod_{t=1}^{T_i} p_\theta(y_{i,t}|x_i,y_{i,<t})$ 就是典型的自回归目标。
WeVisDoc 的全部数据构建和诊断都是围绕这一训练目标设计的,理解「监督的是哪些 token」才能理解后面按 token 预算分配数据的逻辑。
监督目标 token 预算(loss-bearing target tokens)
训练损失只在计入损失的目标 token 上计算(掩码 $m_{i,t}$ 过滤填充和丢弃位置),本文以 $\mathcal{L}(\theta;q)=\mathbb{E}[\ell_i(\theta)]/\mathbb{E}[L_i]$ 定义每个监督 token 的平均损失。由于一整页的目标长度远大于一个表格截图,记录条数并不能反映真实训练量,必须用目标 token 数来计量各数据源的曝光份额。
这是本文数据分配的记账单位:Stage I/II 各有固定 token 预算,所有采样概率换算(公式 5 的均值长度校正 $\alpha_g\propto v_g/\bar{L}_g$)都建立在这个概念上。
归一化编辑距离(NED)
两个字符串的字符级 Levenshtein 编辑距离除以 $\max\{1,|\hat{y}_i|,|y_i|\}$ 归一化到 $[0,1]$,越大表示差异越大。本文用它做三件事:多专家标注一致性判定(三个专家解析器两两 NED 低于阈值 $\delta_{\text{ann}}$ 才算高置信标注)、页面级难度挖掘(Stage I 预测与可靠目标的整页 NED)、以及评测中的 TextEdit 指标。
NED 是贯穿标注质检、难例挖掘和评测的统一误差度量,读懂诊断流程的前提。
TEDS 与 CDM
TEDS(Tree-Edit-Distance-based Similarity)把表格解析成树结构,用树编辑距离衡量预测与真值在内容和结构上的相似度,对应指标 TableTEDS;CDM(Character Detection Matching)把预测公式和真值公式分别渲染成图像,通过字符检测与匹配计算识别得分,对应 FormulaCDM。本文组件级挖掘统一为误差形式 $e_{i,c}$:文本用 NED、表格用 $1-\text{TEDS}$、公式用 $1-\text{CDM}$,都是越大越差。
论文所有主表的列指标和 Stage II 的组件级误差诊断都建立在这三个指标上。
视觉-结构聚类与收缩估计
用冻结的 SigLIP2 编码器提取页面嵌入,经 PCA 降维后拼接结构元数据向量得到 $z_i=[\text{PCA}(h_i);\,\eta_{\text{str}}\tilde{b}_i]$,按到聚类中心的距离把训练池划分为固定的视觉-结构簇。簇级残差用收缩公式 $R_k^{\text{sh}}=\gamma_k R_k+(1-\gamma_k)\bar{R}$ 稳定化,其中 $\gamma_k=n_k^{\text{eff}}/(n_k^{\text{eff}}+\lambda_{\text{sh}})$ 让样本少的簇向全局均值收缩,避免小簇噪声被放大。
残差诊断是把「模型哪里弱」变成「该往哪里补数据」的桥梁,收缩系数体现了小样本统计的经典思想。
KL 投影式分布重加权
给定按自然 token 占比和残差构造的建议分布 $e_k^v\propto(p_k^{\text{tok}})^{\alpha_{\text{nat}}}\exp(\beta_{\text{alloc}}g_k)$,最终训练份额通过求解 $v^\star=\arg\min_v \sum_k v_k\log\frac{v_k}{e_k^v}$ 得到,约束为各簇份额必须落在 $[\vartheta_{\min}p_k^{\text{tok}},\vartheta_{\max}p_k^{\text{tok}}]$ 区间内。这是带箱约束的 KL 最小投影,保证再分配既向弱项倾斜又不至于剧烈偏移导致遗忘。
这是 Stage II 重分配的数学核心,理解它才能明白残差信号如何安全地转化为采样概率。
研究动机
文档解析要求把任意来源的文档图像转成保留内容、元素类型、结构和阅读顺序的结构化文本,但真实文档在语言、版面、内容密度、元素构成和采集条件上同时变化,产生远超字符识别范畴的多样失败模式。现有训练语料严重偏向常见文档类型和干净的数字原生页面:扫描件、手机拍照、屏幕翻拍、手写笔记、中文数学文本、嵌套表格等模式要么稀少、要么标注不可靠。更关键的是,社区此前的思路几乎都是「扩覆盖」——更大规模抓取、标注修复、可控合成、退化增广——但单纯扩大覆盖并不能告诉你模型的剩余弱点在哪里:残余错误可能来自标注错误(PureDocBench 的审计在 OmniDocBench v1.5 的 21,353 个评测块中确认了 2,580 个标注错误)、低可观测性(内容模糊不可读)、解码退化(重复输出、停不下来),也可能才是真正的能力缺口,需要的数据干预完全不同。也就是说,「缺失数据支持」和「对已有支持曝光不足」这两种病因被混为一谈,导致数据扩张带有盲目性。
本文的目标是本文要为一个固定的骨干架构(Qwen3-VL 2B/4B)构建一套可测量的数据中心训练框架,把文档解析的数据扩展组织成两个明确分阶段的过程:Stage I 建立宽广且经过验证的覆盖,横跨监督粒度(整页/区域/组件)、版面、语言、数据来源和采集条件,约 4,000 万条记录;Stage II 用与训练、难例挖掘和最终评测完全隔离的诊断探针测量 Stage I 模型的残余错误,把标注错误与真实模型错误区分开,据此定向补造数据,并在固定的 Stage II 监督 token 预算 $B_2$ 内重分配训练曝光。最终目标是在 OmniDocBench v1.6 和 PureDocBench 三条轨道上取得端到端解析器中最优的成绩,同时验证「能力感知精炼」这一范式本身的有效性。
与已有工作不同的是,本文的独特切入点是把训练数据混合当作「语料覆盖与模型能力之间的可测量接口」,而不是静态的数据集集合。与已有工作的本质区别有三点。第一,显式区分两类干预:收集/合成新记录扩张经验支持,重放/重加权已有记录改变曝光——两者对「缺数据」和「缺曝光」两种病因分别对症。第二,以计入损失的目标 token 而非记录条数作为预算和配额单位,因为长页面和短组件对训练量的贡献相差悬殊,按条数采样会系统性错配曝光。第三,诊断信号来自一个与训练、难例挖掘、最终评测三方隔离的探针集 $\mathcal{D}_{\text{probe}}$,误差在固定的视觉-结构簇上聚合,并用收缩估计防止小簇噪声;每个高误差样本先经归因审计(标注错误/解码退化/低可观测性/真实能力缺陷)才允许进入难例流。相比之下,PaddleOCR-VL 的不确定性簇采样、MinerU2.5-Pro 的标注修复都只覆盖了其中一环,没有把「覆盖构建、能力诊断、定向补造、预算重分配」连成闭环。
核心方法
直觉上,这篇论文把「训练一个文档解析器」拆成「先上大课、再补小灶」两步。Stage I 是大课:汇集公开数据集、自产数据、定向爬取和可控合成约 4,000 万条记录,覆盖整页、文本/混合区域、孤立表格、孤立公式四种监督粒度(配比约 40%/25%/25%/10%),语言覆盖简繁中文和英文,采集条件覆盖数字原生、扫描、拍照、截图和屏幕翻拍;同时用「页面程序」从语义 HTML 双路编译出图像和精确目标,再用保目标的退化合成扩充外观变化。训练目标是最小化每个监督 token 的平均负对数似然 $\mathcal{L}(\theta;q_1)$,各数据源按 token 份额(幂参数 $\rho\in[0,1]$ 平衡大来源)经长度校正转成记录采样概率 $q_1$。Stage II 是补小灶:用冻结的 Stage I 检查点在一个独立的探针集上测每个「视觉-结构簇」的残差误差,结合对训练池的难例挖掘与严格归因审计,构造约 500 万条精炼池——包含经验证的难例、定向补造的新数据(真实检索+页面程序合成)和 Stage I 重放——再按公式 10–11 把 token 预算向残差高的簇倾斜(有上下界约束防遗忘),得到分布 $q_2$ 训练出最终模型 $\theta_2$。两个模型规模内部骨干、输出序列化格式和自回归目标完全一致,因此对比衡量的纯粹是数据协议的贡献。
核心创新是把数据扩展从「盲目加量」升级为「有诊断依据的定向干预」,其概念基石是覆盖(coverage)与能力(capability)的分离。已有方法要么只扩覆盖(更大多样的语料),要么用模型反馈做采样(不确定性采样、Rho-1 的逐 token 筛选),但没有一个框架同时回答三个问题:模型的错误是否真实(排除标注错误、低可观测性和解码退化的假阳性)?错误是缺数据支持还是缺曝光(决定是补造新数据还是重放已有数据)?在固定预算下应把曝光从哪些簇挪到哪些簇(需要稳定统计的簇级残差和带约束的重分配)?本文用四件工具闭环回答:三方隔离的探针集防止诊断信号泄漏进训练;SigLIP2+PCA+结构元数据的聚类把误差聚合成可解释的簇级残差 $g_k$(含收缩稳定化和组件通道分解,能发现被整页均分掩盖的小面积表格/公式错误——例如拍照合同里公式整体缺失但页面级误差不大);归因审计(用 DocEDR 做图像-目标-渲染三方一致性诊断与修复)保证难例的「难」是真的难;KL 投影重加权配合 $\vartheta_{\min}/\vartheta_{\max}$ 曝光界,让再分配温和可控。另一个被广泛忽视的细节是把退化增广严格限制为保目标变换:只有当退化后所有受监督内容仍可读时才保留原目标,否则拒绝或改成可见内容裁剪,并且外观变体与源页面共享去重组标识、不重复计入语义支持统计。
方法步骤详情
Stage I 的流程如下。第一步,数据汇集与转换:公开数据集+自产数据+定向爬取(教育材料、报纸、手写、混排页)+合成文档,从每个来源选信息量最大的可靠标注转成统一的阅读顺序 Markdown/HTML 表格/LaTeX 公式目标,来源与转换标识把页面-区域-组件的派生记录关联起来防止重复曝光。第二步,多专家标注与难度分层:标注不全时用 MinerU2.5-Pro、PaddleOCR-VL-1.6、dots.mocr 三个专家系统各出一版候选目标,归一化后按公式 6 两两计算 NED,全部对子低于阈值 $\delta_{\text{ann}}$ 且通过 HTML/LaTeX 可解析性检查的直接进入训练;两比一不同需图像复核;三方全不同则扣下,交更强多模态模型和人工审核后留作 Stage II 候选。可靠记录按结构复杂度、组件密度、专家分歧分为 Easy/Medium/Hard 三层。第三步,可控合成:页面程序以语义 HTML 为可执行中间表示,一个 DOM 树双路编译——一路渲染成图像并输出节点几何,另一路遍历同一棵树生成元素类别、阅读顺序 Markdown、HTML 表格和源 LaTeX,得到像素级对齐的精确监督;渲染失败、内容裁切、表格公式非法的都被拒收。第四步,保目标退化:按采集路径组织算子族(纸张色调纹理、印刷复印扫描条纹、传输压缩;透视弯曲折痕、光照阴影、摩尔纹屏幕翻拍),严重度受内容密度、字号、公式笔画和表格线宽约束。第五步,按公式 4–5 做 token 份额平衡与重复组上限控制,训练出 $\theta_1$(ViT+LLM 全量更新,全局 batch 512、序列长 8192、AdamW lr $5\times10^{-6}$ 余弦退火)。Stage II 的流程:第一步,在训练池挖掘样本上计算整页 NED 和组件级误差(文本 NED、表格 $1-\text{TEDS}$、公式 $1-\text{CDM}$),超阈值者进入审计;第二步,归因审计区分标注错误(修复后可回普通监督)、解码退化、低可观测性(剔除出难例)与真实能力缺陷,产出已验证难例集 $\mathcal{H}$;第三步,冻结的 SigLIP2 特征聚类把训练池分成固定簇,探针集上按公式 9 计算收缩残差并标准化为 $g_k$ 和组件残差 $\Delta_k^{\text{elem}}$,加权排序生成数据需求(如中文数学文本、嵌套表格、跨区域阅读关系);第四步,通过真实检索或页面程序定向合成满足需求,新记录用冻结中心和变换重新指派簇;第五步,按公式 10–12 计算再分配份额 $v_k^\star$ 并与难例流(份额 $\lambda_{\text{hard}}$)组合成 $q_2$,冻结 ViT、只训 LLM,在预算 $B_2$ 内训练得到 $\theta_2$。
技术新颖性
技术新颖性可以从四个层面评估。数据工程层面,「语义 HTML 双路编译」保证了合成数据的目标与像素严格对齐(同一 DOM 树同时产出图像与全部监督串),比 DocHumming 等渲染合成更系统地杜绝了标注-内容错位;「保目标退化」把增广从盲目的图像变换升级为带可读性准入和去重组约束的外观扩展,明确区分视觉多样性与语义支持。统计方法层面,收缩估计 $R_k^{\text{sh}}=\gamma_k R_k+(1-\gamma_k)\bar{R}$($\gamma_k=n_k^{\text{eff}}/(n_k^{\text{eff}}+\lambda_{\text{sh}})$)用于簇级残差是文档解析领域少见的严谨处理,明确区分「观测到的失败」与「基于先验的估计」;组件通道(文本/表格/公式)的残差分解能揪出整页 NED 掩盖的小面积结构错误。训练记账层面,以监督 token 而非记录数为预算单位,并用均值长度校正 $\alpha_g\propto v_g/\bar{L}_g$ 把份额换算成采样概率,这在数据混合文献(DoReMi、Nemotron-Climb)中通常被忽略。框架层面,把「池扩张」与「曝光重分配」定义为可分离的两类干预并用固定 token 预算约束每个阶段,为数据中心的模型开发提供了可复用的方法论模板。诚实地讲,单个组件都有先例(多模型交叉标注近似于 MinerU2.5-Pro、簇采样近似于 PaddleOCR-VL 的 UACS),新颖性主要体现在闭环整合与统计严谨性上。
实验结果
主实验分三块。第一,OmniDocBench v1.6(1,651 页多样化文档)对比:WeVisDoc-4B 取得 Overall 95.38、TextEdit 0.036、FormulaCDM 96.81、TableTEDS 92.95、TableTEDS_S 95.34、ROEdit 0.125,在端到端专精模型系列中排第一,比此前领先的 HunyuanOCR-1.5(94.74)高 0.64 分;2B 版本以一半参数量拿到 95.06,同样处于端到端前沿。需要指出流水线系统 PaddleOCR-VL-1.6(96.33)和 MinerU2.5-Pro(95.75)数字更高,但它们属于「版面分析+区域识别」的流水线类别,图 1 的对比限定在端到端系统内。第二,PureDocBench 三轨道(1,475 个 HTML/CSS 源页渲染出对齐的 Clean/Digital Degraded/Real Degraded 视图):4B 模型 Avg3 达 75.54,超过最强广义基线 Qwen3.5-122B-A10B(74.11,参数量大 30 倍的 MoE)1.43 分;Clean 79.81、Digital Degraded 77.74 均为最高;Real Degraded 69.08 比此前端到端最好成绩(Logics-Parsing-v2 的 67.64)推进 1.44 分。2B 模型 Avg3 73.86 亦属第一梯队。从 2B 扩到 4B 在 Clean/Digital/Real 上分别 +0.45/+1.12/+3.48,说明更大容量主要在强外观偏移下兑现收益。第三,Stage II 消融(表 4,同规模、同评测协议,三次推理取均值):2B 从 OmniDocBench 93.50 到 95.06(+1.56)、Avg3 从 72.12 到 73.86(+1.74);4B 从 94.22 到 95.38(+1.16)、73.19 到 75.54(+2.35)。增益分布极有信息量:Digital Degraded +2.38(2B)/+2.55(4B)、Real Degraded +2.37/+4.03,而 Clean 仅 +0.46/+0.49——与 Stage II 面向分布尾部和采集退化设计的意图完全吻合。附录图 9–12 的定性案例进一步显示 Stage II 修复了数独网格遗漏、列主序误读、显示公式串行化丢失、表格越界扩张、临床表单过度表格化等具体失败模式,但也承认物理采集条件下局部识别错误仍然存在。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| OmniDocBench v1.6 整页端到端解析 | Overall ↑ | 95.38(WeVisDoc-4B);2B 为 95.06 | 94.74(HunyuanOCR-1.5,端到端系列此前最优) | +0.64 |
| PureDocBench 三轨道均值 | Avg3 ↑ | 75.54(WeVisDoc-4B) | 74.11(Qwen3.5-122B-A10B,最强基线);73.92(FD-RL,端到端此前最优) | +1.43(对比 122B 通用 VLM) |
| PureDocBench Clean 轨道 | Overall ↑ | 79.81(4B) | 78.38(FD-RL) | +1.43 |
| PureDocBench Digital Degraded 轨道 | Overall ↑ | 77.74(4B) | 76.33(FD-RL) | +1.41 |
| PureDocBench Real Degraded 轨道 | Overall ↑ | 69.08(4B) | 67.64(Logics-Parsing-v2,端到端此前最优) | +1.44 |
| OmniDocBench v1.6 表格结构 | TableTEDS_S ↑ | 95.34(4B) | 95.39(GLM-OCR,全表最高) | -0.05(基本持平,第一梯队) |
| Stage II 消融:Real Degraded 轨道(4B) | Overall ↑ | 69.08(Stage II) | 65.05(Stage I 同规模检查点) | +4.03(2B 为 +2.37) |
局限与改进
作者明确承认的局限有三层。第一,阶段对比只评估了完整的 Stage II 协议(继续训练+残差感知分配+难例+定向补造+重放的组合),无法把「残差感知重分配」这一核心机制的贡献单独剥离出来——论文在正文和结论中反复强调这一点,这是全文因果证据链上最大的缺口。第二,评测覆盖有限:尽管 Real Degraded 刷新了端到端纪录,手写、历史扫描件、严重破损文档和更广的采集条件仍然测量不足;PureDocBench 的退化是合成的或受控采集的,与真实世界长尾退化有保真度差距。第三,残差再分配依赖探针集、表征模型(SigLIP2)、聚类选择和评测器,引入了额外计算成本且对这些选择敏感。我自己的观察补充四点:其一,Overall 指标(公式 13)不含阅读顺序(ROEdit 单列),「榜首」结论未覆盖阅读顺序维度,且其 ROEdit 0.125 略逊于流水线最优的 0.116;其二,4,000 万条训练语料、探针集构建和三专家标注流水线均未完整开源,框架最重要的部分(数据配方细节、阈值 $\delta_{\text{ann}}$、$\eta_{\text{str}}$、$\lambda_{\text{sh}}$、$\vartheta$ 界等的取值与敏感性)外界无法直接检验;其三,框架只在 Qwen3-VL 一个骨干家族上验证,跨架构泛化性未知;其四,Real Degraded 上 69 分与 Clean 的 79.81 仍有约 10.7 分差距,说明物理采集退化远未解决。
独立分析的弱点
第一,消融粒度不足:Stage II 同时引入五种干预,即便在等 token 预算下做「重分配开/关」的对照,也需要额外训练运行,但这对验证核心主张(残差感知分配优于自然分布)是必要的——建议至少在 2B 规模补一组 $q_2$ 为均匀重放的对照,以及 $\beta_{\text{alloc}}=0$(不带残差信号)的对照。第二,探针集的统计功效未报告:收缩公式缓解了小簇方差,但论文没有给出探针规模、每簇有效样本量 $n_k^{\text{eff}}$ 的分布,也没有残差估计的置信区间;如果多数簇的有效样本只有个位数,$g_k$ 的排序可能接近噪声,重分配就成了随机扰动——建议报告按簇分层的不确定度并做排序稳定性检验。第三,诊断-修复循环成本高:每个模型规模都要跑挖掘推理、探针推理、三专家标注和人工审计,且检查点更新后分数需重算,工程开销限制了迭代频率——可探索用 LoRA 代理模型或轻量探针降低诊断成本。第四,退化合成的保真度-多样性权衡没有被量化:论文没有测量合成退化与真实退化的分布距离,也未验证在合成退化上的收益能迁移到多真实的场景——建议加入真实退化数据的留出验证。第五,「验证过的难例」依赖人工与更强模型审核,审核标准的主观性和标注者间信度未说明。第六,阅读顺序不在 Overall 内,而论文的统一序列化恰恰声称保序,值得单独改进(如加入顺序敏感的损失项;跨区域阅读关系虽已出现在定向合成需求中,但其单独效果未被量化)。
未来方向
作者提出的方向包括:扩充真实采集数据(尤其手写、历史扫描、严重破损文档),发展更稳定、更可解释的能力估计方法,降低混合更新的计算成本,以及扩展到更多语言和文档领域的评测;同时强调高风险部署仍需溯源控制与人工复核。基于本文成果可以自然延伸的研究有:其一,把残差诊断从监督学习扩展到强化学习——用簇级残差作为 RL 奖励的加权信号,与 Infinity-Parser、FD-RL 的格式奖励结合,形成诊断驱动奖励的闭环;其二,在线/持续版本——不再划分两个阶段,而是在训练过程中周期性探针诊断并动态调整混合,研究遗忘与适应的平衡(本文固定 $B_1$/$B_2$ 的两段式只是最简单的实现);其三,把「覆盖-能力」接口形式化:在固定总预算下求解最优两阶段预算分配 $B_1$ 与 $B_2$ 之比,本文未讨论该比例的敏感性;其四,跨架构验证:在非 Qwen 骨干(如 SmolDocling、DeepSeek-OCR 的压缩式编码)上重跑同一数据协议,检验数据贡献的架构无关性;其五,可观测性建模:把「低可观测性」从排除项变成显式预测目标,让模型学会拒识不可读内容而不是硬解码,这对医疗、法律单据等高风险场景有直接价值。
复现评估
开放情况:模型权重已开源(HuggingFace 的 Tencent/WeVisDoc-4B 和 Tencent/WeVisDoc-2B),有 GitHub 仓库和项目主页,附录还公开了统一的解析系统提示词;但约 4,000 万条的 Stage I 语料、500 万条精炼池、探针集、页面程序生成器和三专家标注流水线均未完整开源,论文也未给出 $\delta_{\text{ann}}$、$\eta_{\text{str}}$、$\lambda_{\text{sh}}$、$\vartheta_{\min/\max}$、$\lambda_{\text{hard}}$、$\alpha_{\text{nat}}$、$\beta_{\text{alloc}}$ 等超参的具体取值。算力需求:训练配置为全局 batch 512、序列长 8192、bfloat16、FlashAttention、DeepSpeed ZeRO-2,4B 模型在 4,000 万级记录上全量训练,推测需要数十张 A100/H100 级 GPU 训练数天到数周;推理评测需对每个检查点跑三次取均值。复现难度分层:用开源权重复现表 2/表 3 的推理数字——容易(官方评测协议+确定性解码);基于公开数据集部分重建 Stage I 并训出 2B 模型——中等偏难,主要缺口是自产数据、爬取数据和合成器;完整复现含 Stage II 诊断闭环的全流程——很难,因为探针集构建、人工审计协议和全部超参不可得。对研究者的务实建议是:把本文当作方法论文而非配方论文,引用其框架设计(隔离探针、token 记账、收缩残差、KL 投影重分配)并按自己的场景重标定参数。
论文图表