这项由清华大学与腾讯微信视觉联合开展的研究,于2026年8月以预印本形式发布,论文编号为arXiv:2608.06146v1,有兴趣深入了解的读者可通过该编号查询完整原文。
当你把一份扫描版PDF丢给AI去"读"的时候,AI究竟在做什么?它不是像人一样用眼睛扫视全页,而是像一个非常认真的抄写员,从第一个字开始,一个字一个字、一行一行地往后写,写完每一块区域的内容,才敢挪到下一块。这种做法虽然准确,但速度慢得让人抓狂——尤其是当文档里有十几块彼此毫无关联的段落、公式和表格时,抄写员却还要老老实实地排成一队,挨个儿处理。
清华大学与腾讯的研究团队注意到了这个根本性的低效问题,并提出了一套名为PaDoc(全称"Layout-Grounded Parallel Decoding for Document Parsing",即"以布局为基础的并行解码文档解析")的解决方案。核心思路用一句话概括:先让AI看清楚整页的"地图"(也就是页面布局),然后把各个区域的内容同时交给多个"抄写员"并行处理,而不是一个接一个地排队。实验结果显示,在同等硬件条件下,PaDoc比同等规模的顺序处理基线方案吞吐量提高了67%到118%,尾部延迟降低了39%到55%,同时解析质量也位居同类方法前列。
一、文档解析这件事,比你想象的更像一条流水线
要真正理解PaDoc的价值,得先弄清楚"文档解析"在AI领域到底是怎么运作的。
一份学术论文、财务报告或教科书页面,里面通常包含标题、正文段落、数学公式、表格和图片。人类读者扫一眼就能分辨出哪块是什么,然后根据需要去读对应区域。但AI并不天然具备这种"一眼看全局"的能力。早期的做法是让AI先当"侦察兵",把页面上每个区域的位置框出来(这叫布局分析),然后再对每个框里的内容逐一识别(这叫内容识别)。这种两阶段流水线的好处是可以并行处理不同区域,坏处是每处理一个区域都要把那块图像单独截取出来重新"看一遍",相当于侦察兵每次汇报都要重新翻看原始地图,效率不高,而且截取出来的小图丢失了页面全局信息,比如相邻段落的上下文关系、表格与其对应注释之间的归属关系等。
后来出现了"一体化"的端到端方法:用一个大模型把布局信息和内容信息统统串成一个长长的序列输出出来。这就像让一个人既要画地图又要抄内容,并且必须按照固定顺序一件事做完再做下一件。用技术语言描述,这类模型输出的序列长这样:先输出第一个区域的位置坐标,再输出第一个区域的文字内容,再输出第二个区域的坐标,再输出内容……如此循环,直到处理完整页所有区域。这种方式的致命弱点在于:哪怕页面上的两个段落离得很远、内容完全无关,AI也必须等第一个段落全部写完,才能开始写第二个段落的第一个字。整个处理时间等于所有区域内容长度之和,而不是最长那个区域的长度。
PaDoc的目标就是打破这个"串行"魔咒,同时又不走"截图重新看"的老路。
二、"先画地图,再开工厂"——PaDoc的核心逻辑
PaDoc的核心设计可以用一个工厂流水线来类比。假设你要同时加工一批零件,每批零件的规格(位置、尺寸)都不一样。传统方法是工厂里只有一台机器,你得把所有零件排成一队,一个处理完才能上下一个。PaDoc的做法是:先让一个工程师把所有零件的规格图纸一次性画完(这就是布局流),然后根据图纸同时开动多台机器并行加工(这就是内容分支),而且所有机器都共用同一份完整的原材料仓库(即整张页面的视觉信息)。
具体来说,PaDoc把文档解析过程分成两条并行的"流":一条是"布局流",按顺序预测每个区域的位置和类别;另一条由多个"内容分支"组成,每当布局流确定了一个区域的边界,就立刻启动一个内容分支来处理该区域的文字、公式或表格,与此同时布局流继续向前预测下一个区域。两件事同时进行,互不等待。
这套逻辑成立的理论前提,是研究团队提出的一个关键假设:在已知整张页面图像和某个区域的具体位置之后,该区域的文字内容与其他区域的内容之间是相互独立的。换句话说,一个表格里写的是什么数字,和旁边段落写的什么文字,在已知它们各自位置的前提下,彼此之间不需要互相参考。这个假设在绝大多数实际文档中是成立的——你不需要先读完第三段才能转录第一个公式。
研究团队在论文中用严格的信息论语言证明了这个假设的合理性,并由此推导出一个称为"前缀条件分解"的公式。简单说就是:每个内容分支只需要看到整页图像和当前区域之前的布局信息就够了,不需要看其他区域的内容,也不需要等后续区域的布局确定下来。这样一来,布局流每往前走一步,就能同时释放一个内容分支,整个处理深度从"所有区域内容长度的总和"压缩到"最长的那条布局-内容路径"。
从数字上看,研究团队在384页的测试集上统计发现:按顺序处理时,每页平均需要走923步自回归解码;PaDoc的关键路径平均只需要325步,中位数步骤减少量达到58.4%。
三、训练时如何让AI"学会"并行思考
讲到这里你可能会问:这套并行结构听起来很美,但AI在训练时是怎么学会这种方式的?毕竟现有的大语言模型默认都是一个字一个字地往后预测,你怎么让它同时维持多条"思路"?
研究团队的答案是一种叫做"祖先注意力"(Ancestor Attention)的训练机制,配合一种叫做"树变长注意力"(Tree-Varlen Attention)的高效实现方式。
先解释"祖先注意力"是什么意思。在PaDoc的结构里,整张页面图像是"根节点",各个区域的布局信息是"中间节点",各个区域的内容是"叶节点"。训练时,每个节点只被允许看到它的"祖先"信息——也就是图像和在它之前确定下来的布局信息——而看不到兄弟节点(其他区域的内容)。布局节点只能看到图像和更早的布局节点,内容节点只能看到图像、当前区域的布局以及自己区域内部前面已经生成的内容。这种可见性规则正好和前面说的独立性假设一一对应。
"树变长注意力"是这套规则的高效工程实现。直接把所有节点之间的可见关系用一张大矩阵表示出来,当序列很长时这张矩阵会占用巨大内存,而且无法使用GPU最优化的注意力计算核。研究团队的解决方案是把整棵"文档树"拆解成若干个变长的因果序列问题:布局流构成一个标准的因果序列;每个内容分支构成另一个序列,其键值对(Key-Value)从共享前缀中"借用",自己的查询(Query)也只计算一次。这样既避免了大矩阵,又保留了GPU友好的FlashAttention核函数。
研究团队还对比了三种注意力实现方式:直接用PyTorch的稠密SDPA(缩放点积注意力)、用块稀疏的Flex Attention,以及他们自己的Tree-Varlen。实验结果显示,在16个A800 GPU节点上,Tree-Varlen比稠密SDPA训练速度快了约18.5%,同时峰值内存略有下降;而Flex Attention在这个场景下反而更慢,最差情况下只有SDPA速度的约52%,还有长达数百秒的预编译开销。因此最终所有实验都采用Tree-Varlen方案。
训练目标本身没有任何特殊改动——就是标准的"预测下一个词"损失函数,不需要额外的辅助任务或特殊的解码头。PaDoc从Qwen3-VL-2B这个已有的视觉语言模型出发,先用约1100万条文档解析样本做持续预训练,再用精心筛选的约50万条高质量样本做监督微调。训练数据来自多个开源数据集以及公开的学术文档,并通过跨模型一致性验证和基于ViT嵌入的去重与采样,确保数据质量和多样性。
四、推理时如何实现真正的并行服务
训练好模型只是第一步,真正让并行性体现在实际推理速度上,还需要一套聪明的服务框架。
PaDoc的推理服务基于vLLM这个主流的大模型推理引擎。核心做法是:布局流作为一个独立请求在服务器上运行;每当布局流生成一个区域的结束标记,就立刻以独立请求的方式启动该区域的内容分支,并且这个新请求携带着与布局请求完全相同的多模态前缀(图像tokens)和已生成的布局前缀。vLLM的自动前缀缓存机制(Prefix Caching)能识别出这两个请求的前缀是完全一样的,直接复用已经计算好的键值缓存,不需要重新计算,只需要处理新增的分支初始化部分。这就像一个工厂里多台机器共用同一批原材料存放架,新机器上线时不用重新搬运已经到位的材料,直接拿来用就好。
vLLM的连续批处理机制(Continuous Batching)则负责把布局流和多个内容分支的计算请求打包在同一批次里同时送进GPU,让GPU的并行计算能力得到充分利用。一个文档页面最多可以产生255个内容分支,每个内容分支的生成长度最多8192个token,整体请求级别的上下文窗口支持到32768个token。
这套实现有一个很重要的特点:它不需要修改底层的模型架构,不需要引入额外的"草稿模型"(类似某些加速方法里用小模型打草稿、大模型验证的方式),也不需要改变GPU硬件配置。每张A800 GPU上跑一个模型副本,不同并发设置可能跑在不同的集群节点上,但节点内部不使用张量并行,保持配置简单。
五、实验数据告诉我们什么
所有评测都在OmniDocBench这个业界标准的文档解析基准上进行,包含1651页文档,涵盖学术论文、财务报告、教材等多种类型,标注了布局区域、阅读顺序和各区域的文字/公式/表格内容。效率测试使用其中均匀抽样的384页子集,固定在单张A800 80GB GPU上,测试5个并发级别:16、32、64、128和256个并发文档请求。
在布局分析质量上,PaDoc在端到端模型中取得了最高的整体F1分数91.1,整体精确率93.3%,表格类区域的IoU高达92.7、F1高达97.0,领先所有其他端到端方法。尽管PaDoc是单一模型,在表格精确率这个指标上甚至超过了专门的两阶段流水线方法。
在端到端解析质量上,PaDoc的综合得分(Overall)为94.24分,在所有端到端方法中位居前列,超过了参数量为4.7B的Qianfan-OCR(93.90分)。文本编辑距离(Text Edit)达到0.038,公式CDM得分95.59,均是端到端方法中的最佳。表格TEDS/TEDS-S为90.94/93.39,阅读顺序编辑距离0.133,整体均衡。作为参照,Ovis2.6-30B这个参数量高达30B的通用大模型得分93.62,比PaDoc的2.1B模型还低0.62分,由此可见专门针对文档解析任务的训练和结构设计的价值。
效率方面的数字更加直观。在所有5个并发级别上,PaDoc都是端到端方法里吞吐量最高、尾部延迟最低的。相比采用完全相同Qwen3-VL-2B骨干网络的顺序SFT基线,PaDoc的有效页面吞吐量提升了67.4%到118%,P95尾部延迟降低了39.2%到54.9%。具体数字:在64并发时,PaDoc达到1.722页/秒/GPU,而顺序基线仅0.879页/秒/GPU。即便是参数量只有1.0B的HunyuanOCR-1.5,在所有并发级别下也都被2.1B的PaDoc在吞吐量和延迟两个维度同时超过。参数量0.7B的MonkeyOCRv2更是被大幅甩开——后者在256并发时尾部延迟高达787秒,而PaDoc只有194秒。
输出token吞吐量同样可观。与顺序SFT基线相比,PaDoc的平均持续token吞吐量提升了26.9%到44.4%,在64并发时达到1551 tokens/秒/GPU的峰值持续吞吐。
对比两阶段流水线方法,PaDoc在延迟上仍然略高于参数量1.0到1.3B的紧凑型两阶段方法(如GLM-OCR、PaddleOCR-VL 1.5),但差距已经非常小,而后者需要额外维护一个独立的版面检测器和裁图流程。
六、同一骨干、不同训练目标:并行化带来了什么
为了把"并行训练目标"本身的效果从其他因素中单独抠出来,研究团队做了一个严格对照实验:PaDoc与顺序SFT基线使用完全相同的Qwen3-VL-2B骨干、完全相同的训练数据、完全相同的PageIoU评估协议。
布局质量对照表显示,PaDoc的整体F1比顺序SFT提高了1.46个百分点,公式F1提高了2.23个百分点,整体精确率提高了3.73个百分点,图像精确率提高了5.57个百分点。提升主要体现在精确率上,召回率略有下降,说明PaDoc的布局预测更"精准"但稍微"保守"一点——宁可少报也不乱报,这对下游应用通常是更好的选择。
内容解析质量对照显示,整体得分只差了0.345分(94.585 vs 94.240),文本编辑距离和表格TEDS/TEDS-S反而略有提升,公式CDM和阅读顺序编辑距离略有下降,差异都极小。这意味着并行训练目标几乎没有对内容识别质量造成负面影响,效率提升与质量保持几乎是"免费"的。
七、布局评估协议的细节设计
论文中还详细介绍了一套专门为文档解析设计的布局评估协议,称为PageIoU,这也是理解实验结果的重要背景。
不同文档解析系统使用的区域类别体系不尽相同,直接按类别硬匹配会把"类别命名差异"错误地计入"定位错误",对使用细粒度类别体系的系统不公平。为此,研究团队把OmniDocBench里28种细分类别映射到5个宽泛的大类:文本、表格、公式、图像和整页。每个细分类别要么是某个大类的"核心类别"(必须正确覆盖),要么是"可接受类别"(如果预测到了算分,但缺失也不扣分太多),要么不属于任何大类。
度量覆盖率而非匹配框:评估不做一对一框匹配,而是看预测区域覆盖了多少真实区域面积,这样避免了IoU阈值设置对结果的影响。同时区分"二值覆盖"(只看区域有没有被覆盖)和"可计数覆盖"(如果预测框重叠,重叠部分被重复计入,惩罚冗余预测),后者是主要报告指标。最终每页先算各类别的IoU、精确率、召回率,再做页面级宏平均,防止面积大的页面主导总分。论文中同时提供了全部4种协议组合(二值/可计数 × 可接受/忽略可接受)的完整结果,确保读者能从多角度理解排名情况。
说到底,PaDoc做的事情可以用一句话概括:它让AI解析文档时不再非要"一笔一划按顺序写",而是先把整页的地图勾勒出来,再让多支笔同时在各自的区域里书写,共用同一份视觉记忆,互不干扰。这个改变让速度翻倍,质量基本不变,而且不需要更换硬件或增加新的模型组件。
对于实际使用场景而言,这意味着同样一台服务器可以处理两倍的文档请求量,或者把单份文档的等待时间缩短一半。在医疗报告批量数字化、法律文书自动化处理、大规模学术文献挖掘等对吞吐量敏感的场景里,这种提升的实用价值相当直接。
当然,PaDoc的并行效益依赖于一个前提:文档里确实存在多个彼此独立的区域。对于只有一段文字的简单页面,并行与串行几乎没有区别。而对于内容密集、区域众多的复杂文档(比如技术手册或财务年报),提升效果会更加显著。研究团队也坦诚地指出,实际的挂钟时间还包含请求调度、缓存未命中时的额外预填充,以及不同分支长度不均衡带来的等待,所以理论上的"关键路径压缩比"(中位数58.4%)和实测的速度提升(中位数1.45到1.94倍)之间存在差距,这是工程现实层面需要继续优化的空间。
对于想进一步了解这项工作的读者,完整论文可以通过arXiv编号2608.06146v1查阅,代码也已在GitHub开放(仓库地址为Longin-Yu/Padoc)。
Q&A
Q1:PaDoc与传统两阶段文档解析方法相比,主要区别是什么?
A:传统两阶段方法先用布局检测器框出各区域位置,再对每个区域截图重新进行视觉编码来识别内容,每个区域都要单独"看一遍"原图,代价高且丢失全局上下文。PaDoc则用同一个模型完成全流程,所有内容分支共用同一张页面图像的视觉特征,不需要重复编码,同时通过前缀缓存复用已经计算好的布局信息,既保留了全页上下文,又实现了区域级并行处理。
Q2:PaDoc的并行解码在实际部署时需要特殊硬件或改动推理框架吗?
A:不需要。PaDoc直接运行在主流的vLLM推理引擎上,利用其已有的自动前缀缓存和连续批处理功能实现共享前缀复用和并发处理。不需要引入额外的草稿模型、修改GPU硬件配置或使用张量并行,配置与标准大模型服务部署基本相同,工程落地门槛较低。
Q3:PaDoc的并行化会不会影响文档内容的识别准确率?
A:影响极小。在相同骨干网络和训练数据的对照实验中,PaDoc与顺序处理基线的整体解析质量差距仅为0.345分(94.24 vs 94.585),文本编辑距离和表格TEDS实际上还略有提升,仅公式CDM和阅读顺序编辑距离有微小下降。布局定位精确率反而因并行训练目标提升了约3.7个百分点,整体上可以认为效率提升几乎是在不牺牲质量的前提下实现的。