阅读笔记:HPD-Parsing: Hierarchical Parallel Document Parsing
TL;DR
这篇论文提出一种新解码范式------分层并行解码(Hierarchical Parallel Decoding, HPD) ,解决 unified VLM 文档解析器"整页单条自回归生成"造成的序列瓶颈 。做法是:主版面分支(layout branch)串行协调全局结构与阅读序,遇到路由 token <FORK> 时 fork 出并发的内容分支(content branch)解码各区域,分支内再叠加 P-MTP 推测解码。核心结论是 1B 模型达到 4,752 TPS,是最快现有文档解析模型的 2.62×、vanilla 自回归 baseline 的 3.06× 吞吐,且在 OmniDocBench v1.6 上保持 competitive 精度(overall 94.91,端到端 unified 里 SOTA) 。关键证据是 跨输出长度桶的效率增益随长度增大而扩大(最长桶 18.04× 更少解码步、3.67× 吞吐、5.80× 更低单请求延迟) ,干净证明分层并行解决了"序列长度依赖的减速"。主要 caveat:精度并非整体 SOTA------overall 94.91 落后 pipeline 顶尖 PaddleOCR-VL-1.6(96.3)1.39 分;且速度优势的部分背景是它用了 4 倍于 DeepSeek-OCR-2 的 input token 预算换精度。
1. 研究内容
1.1 研究问题、痛点与动机
-
研究问题 :这篇想回答------能否把 unified VLM 文档解析的"整页单条自回归生成"重构为更高效的结构,在不大幅牺牲精度的前提下大幅提升吞吐?
-
痛点 :unified VLM 解析器把版面、文本、公式、表格、阅读序统一到单模型序列生成,精度与通用性强,但逐 token 自回归解码 使解码成本随文档长度线性增长。作者做了一组 profiling(见下图):在 InternVL3.5-1B 上,decoder 延迟随输出长度快速增长并主导总成本,长输出样本的解码耗时可达视觉编码的近 500 倍------瓶颈不在视觉处理,而在"长序列执行路径"。

-
动机 / 为什么重要 :文档解析是信息抽取、检索、RAG 的基础组件,随文档工作量增长,推理效率与精度同等重要 。现有加速路线要么压上下文(DeepSeek-OCR 压视觉 token、Unlimited OCR 的 R-SWA 滑窗注意力),要么在 AR 框架内增并行(Youtu-Parsing 区域并行、GLM-OCR 的 MTP、HunyuanOCR-1.5 的 DFlash)------但整页生成的解码范式本身未被重构 。作者抓住文档解析的一个内在性质:版面需要全局协调,但块内容可以局部并行------这使单条全页 AR 轨迹"不必要地串行"。
-
领域定位 :VLM 文档解析的推理加速 / 解码范式方向;上游是通用多模态基座 InternVL3.5-1B,下游是大规模文档数字化 / RAG 索引。与 OvisOCR2 等同期工作互补------后者追求精度 SOTA,本文追求吞吐 SOTA。
1.2 核心贡献
- 分层并行解码(HPD)这一新范式:把全页 AR 重构为"主版面分支全局协调 + 内容分支局部并行 + P-MTP 帧内加速"。这是"开新方向"级别的贡献(重构解码图结构,非微小改进),且作者指出该范式可外推到关键信息抽取、多页理解、结构化生成。
- staged adaptation + 自动化难度感知数据 pipeline:用三阶段训练(全页 AR 初始化 → branch-specific 切换格式 → 轻量 RL)把常规 AR 能力迁移到分层解码,配套四阶段数据 pipeline(聚类采样 → 多模型标注+难度估计 → VLM 迭代修正 → 分布平衡),以最小人工标注缓解范式切换的精度退化。
- 吞吐 SOTA + competitive 精度:1B 模型 4,752 TPS,比最快现有解析模型快 1.62×、比自训 AR baseline 快 3.06×;OmniDocBench v1.6 overall 94.91(端到端 unified 第一),超过更大的 Qianfan-OCR(4B, 93.90)、Logics-Parsing-v2(4B, 93.33)、FireRed-OCR(2B, 93.26)。
1.3 相关工作脉络
#mermaid-svg-vZEj66leAsqzHtbL{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-vZEj66leAsqzHtbL .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-vZEj66leAsqzHtbL .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-vZEj66leAsqzHtbL .error-icon{fill:#552222;}#mermaid-svg-vZEj66leAsqzHtbL .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-vZEj66leAsqzHtbL .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-vZEj66leAsqzHtbL .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-vZEj66leAsqzHtbL .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-vZEj66leAsqzHtbL .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-vZEj66leAsqzHtbL .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-vZEj66leAsqzHtbL .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-vZEj66leAsqzHtbL .marker{fill:#333333;stroke:#333333;}#mermaid-svg-vZEj66leAsqzHtbL .marker.cross{stroke:#333333;}#mermaid-svg-vZEj66leAsqzHtbL svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-vZEj66leAsqzHtbL p{margin:0;}#mermaid-svg-vZEj66leAsqzHtbL .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-vZEj66leAsqzHtbL .cluster-label text{fill:#333;}#mermaid-svg-vZEj66leAsqzHtbL .cluster-label span{color:#333;}#mermaid-svg-vZEj66leAsqzHtbL .cluster-label span p{background-color:transparent;}#mermaid-svg-vZEj66leAsqzHtbL .label text,#mermaid-svg-vZEj66leAsqzHtbL span{fill:#333;color:#333;}#mermaid-svg-vZEj66leAsqzHtbL .node rect,#mermaid-svg-vZEj66leAsqzHtbL .node circle,#mermaid-svg-vZEj66leAsqzHtbL .node ellipse,#mermaid-svg-vZEj66leAsqzHtbL .node polygon,#mermaid-svg-vZEj66leAsqzHtbL .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-vZEj66leAsqzHtbL .rough-node .label text,#mermaid-svg-vZEj66leAsqzHtbL .node .label text,#mermaid-svg-vZEj66leAsqzHtbL .image-shape .label,#mermaid-svg-vZEj66leAsqzHtbL .icon-shape .label{text-anchor:middle;}#mermaid-svg-vZEj66leAsqzHtbL .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-vZEj66leAsqzHtbL .rough-node .label,#mermaid-svg-vZEj66leAsqzHtbL .node .label,#mermaid-svg-vZEj66leAsqzHtbL .image-shape .label,#mermaid-svg-vZEj66leAsqzHtbL .icon-shape .label{text-align:center;}#mermaid-svg-vZEj66leAsqzHtbL .node.clickable{cursor:pointer;}#mermaid-svg-vZEj66leAsqzHtbL .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-vZEj66leAsqzHtbL .arrowheadPath{fill:#333333;}#mermaid-svg-vZEj66leAsqzHtbL .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-vZEj66leAsqzHtbL .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-vZEj66leAsqzHtbL .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-vZEj66leAsqzHtbL .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-vZEj66leAsqzHtbL .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-vZEj66leAsqzHtbL .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-vZEj66leAsqzHtbL .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-vZEj66leAsqzHtbL .cluster text{fill:#333;}#mermaid-svg-vZEj66leAsqzHtbL .cluster span{color:#333;}#mermaid-svg-vZEj66leAsqzHtbL div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-vZEj66leAsqzHtbL .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-vZEj66leAsqzHtbL rect.text{fill:none;stroke-width:0;}#mermaid-svg-vZEj66leAsqzHtbL .icon-shape,#mermaid-svg-vZEj66leAsqzHtbL .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-vZEj66leAsqzHtbL .icon-shape p,#mermaid-svg-vZEj66leAsqzHtbL .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-vZEj66leAsqzHtbL .icon-shape .label rect,#mermaid-svg-vZEj66leAsqzHtbL .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-vZEj66leAsqzHtbL .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-vZEj66leAsqzHtbL .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-vZEj66leAsqzHtbL :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} DeepSeek-OCR
视觉token压缩, 2025-26
Unlimited OCR
R-SWA 滑窗注意力, 2026
Youtu-Parsing
区域并行解码, 2026
GLM-OCR
多token预测 MTP, 2026
HunyuanOCR-1.5
DFlash 并行草稿, 2026
P-MTP
作者前作, 2026
HPD-Parsing(本文)
分层并行解码, 2026
- 关键传承 :文档解析加速有两条互补路线------减上下文 (DeepSeek-OCR 压视觉 token、Unlimited OCR 的 R-SWA 限制 KV cache)与增并行(Youtu-Parsing 区域并行、GLM-OCR 的 MTP、HunyuanOCR-1.5 的 DFlash)。本文把它们重组为"分层并行",并把作者前作 P-MTP 集成进每个分支。
- 分歧 :上述方法仍在 AR 框架内优化 (局部区域仍 token-by-token,或整页仍单条轨迹);本文重构了整页生成的范式------主分支串行 + 内容分支并发 + 共享前缀 KV 复用,跳出"单条全页 AR 轨迹"。
2. 方法概要
- 方法路线:系统构建 + 实证评测(新解码范式 + 配套训练策略与数据 pipeline,OmniDocBench 验证精度与效率)。
- 关键假设 :
- 显式:版面需要全局协调,但块内容主要基于其对应视觉证据、对远处区域依赖有限------这是内容可并行的前提。
- 显式:局部内容的强视觉 grounding 使生成轨迹相对可预测,从而适合多 token 预测(P-MTP)。
- 隐式(读者识别):版面分支能正确给出阅读序与
<FORK>位置 ------若版面分支判错阅读序或漏 fork,后续内容分支会出错,这把 pipeline"版面错误不可挽回"的问题部分重新引入了 unified 架构。 - 隐式:跨块语义依赖(如"见下表"、脚注-正文对应、跨栏引用)弱到可被并行分支忽略。
- 数据 / 实验设置 :
- 数据自建:Stage 1 用 2.8M 全页样本(MinerU-2.5 Pro 标注为主);Stage 2 用 100K branch-specific 样本(多模型标注 + 难度估计 + VLM 迭代修正);Stage 3 用 600 个按错误模式组织的难例。
- 评测:OmniDocBench v1.6(文本 edit distance、公式 CDM、表格 TEDS/TEDS-S、阅读序 edit distance)。
- baseline:自训同架构 AR 1B(公平速度对照)+ 一众专门 VLM 与通用大 VLM(精度对照)。
- 硬件:8×A800 80GB 训练;vLLM 0.17.1 部署评测。
- 训练目标 :标准 next-token(k=0k=0k=0)与 P-MTP 各 look-ahead 深度(k≥1k\geq 1k≥1)的联合损失(公式见 2.3),按 branch-specific 有效性 mask 加权;Stage 3 额外加 task-aware reward(公式/表格/版面)+ count-based consistency reward。
整体处理流程 (鸟瞰):HPD-Parsing 把整页解析从"单条自回归轨迹"重构为"分层并行解码"。推理时,视觉编码器(InternViT,动态 tile 裁剪至多 24 块、每块 448×448448\times448448×448)把页面编码为视觉 token;主版面分支 按阅读顺序串行生成结构化序列,每个版面单元含类别 + 归一化坐标 + 路由 token <FORK>;调度器每遇到 <FORK> 就 fork 出一个内容分支 ,复用共享前缀(视觉 + 版面结构前缀)的 KV cache、用 <CHILD> 标记起始、独立解码该区域内容,多分支并发执行;每个分支内再叠加 P-MTP 推测解码 (残差 MLP 预测多未来 token、平均接受 6.6 token/步)进一步缩短步数;所有子分支完成后按阅读序 interleave 输出整页结果。训练分三阶段:先全页 AR 初始化解析能力,再 branch-specific 监督切换到分层解码格式并优化难例,最后轻量 RL 精修。
2.1 架构图

上图 (a) 展示分层解码:输入图像按预设长宽比编码为视觉 token;主版面分支协调全局结构并动态 fork 多个内容分支并发解码、复用共享前缀 KV cache;每分支内 P-MTP 进一步缩短路径。(b) 展示 P-MTP:轻量预测模块 + 渐进损失加权(深度越大权重越小,down-weight 不可靠的长程预测)。
2.2 模块详解
-
视觉编码器(InternViT,0.3B):输入文档图像 → 输出视觉 token。
- 处理流程:动态 tile-based 裁剪------按分辨率与长宽比自适应把图像分成至多 24 块;每块 resize 到 448×448448\times448448×448 并独立编码;所得视觉 token 投影到语言空间喂给 LLM。
- 设计理由:动态分块保留高分辨率细节(文档解析对清晰度敏感),又不强制所有页固定分辨率。
-
主版面分支(layout branch):输入视觉 token + 指令 → 输出按阅读序的结构化序列。
- 处理流程:串行生成一系列版面单元,每个单元含类别 + 归一化空间坐标 + 路由 token
<FORK>;<FORK>表示"该区域内容可由独立分支解码"。 - 设计理由:把"全局协调"(空间结构、区域关系、阅读序)集中在一条串行轨迹里,既保留 unified 架构的全局上下文优势,又为内容并行化提供精确的 fork 点。
- 关键机制:
<FORK>是分支并发的触发器------它本身不携带内容,只标记"此处 fork"。
- 处理流程:串行生成一系列版面单元,每个单元含类别 + 归一化空间坐标 + 路由 token
-
内容分支(content branch):输入共享视觉上下文 + 该单元的结构前缀 → 输出该区域的局部内容。
- 处理流程:fork 时,新分支复用可用的视觉与结构前缀 KV cache ,把
<FORK>替换为<CHILD>作为内容生成起点,开始解码区域内容;每个分支只维护自己的增量内容 KV cache。 - 设计理由(核心效率来源):避免冗余前缀计算 (不重新编码图像、不重复公共 prefill);更重要的是上下文隔离 ------全页 AR 下每个新 token 都 attend 到全部前序输出,KV cache 与单步 attention 成本随文档长度持续增长;HPD 下每个分支只 attend 共享视觉 + 自己的结构前缀 + 自己的局部历史,缩短活跃 attention 范围,从而可高效并发。
- 训练监督:内容分支只对
<CHILD>之后的局部转写做监督(公式 1 的 mask),结构前缀只作 conditioning、不要求复现。
- 处理流程:fork 时,新分支复用可用的视觉与结构前缀 KV cache ,把
-
P-MTP(Progressive Multi-Token Prediction):输入 decoder 隐状态 → 输出多个未来 token 的推测分布。
- 处理流程:在解码位置 ttt、look-ahead 深度 kkk,把前一层隐表示与"上一预测 token 的 embedding"结合,经共享 LM head 投影得推测分布 p^tk\hat{p}_t^kp^tk;推理时每分支起草多 token、并行验证、单步接受多个(平均接受长度 6.6 token/步)。
- 设计理由:局部内容的强视觉 grounding 使轨迹可预测,MTP 因此能高效接受;渐进损失加权给可靠推测路径更大权重、down-weight 不可靠长程预测,稳定训练。
- 来源:作者前作 xiang2026p,本文把它集成进 layout 与 content 两类分支。
-
推理调度器(FCFS + fork + 引用计数):输入并发请求流 → 输出各请求的解码序列(详见 Algorithm 1)。
- 处理流程要点:FCFS 排序时子分支优先于新 parent 请求 (子分支 bypass KV 占用门槛,因为它们共享 parent 前缀、边际开销小);KV 不足时抢占最新到达的请求 (preempt youngest);P-MTP 推测验证后写回 KV;检测到
<FORK>时 spawn 子分支并对 KV 块零拷贝共享(fork_ptr) 、引用计数 +1;分支完成后引用计数 −1,归零才真正释放;某 parent 的所有子分支完成后 interleave 输出其整页结果并清理 fork 数据。 - 设计理由:在 vLLM 的 FCFS 框架上扩展,保留稳定在线服务行为;引用计数保证共享 KV 块在所有消费分支完成前不被误释放。
- 处理流程要点:FCFS 排序时子分支优先于新 parent 请求 (子分支 bypass KV 占用门槛,因为它们共享 parent 前缀、边际开销小);KV 不足时抢占最新到达的请求 (preempt youngest);P-MTP 推测验证后写回 KV;检测到
-
三阶段训练(staged adaptation):输入 InternVL3.5-1B 初始权重 → 输出 HPD-Parsing 最终模型。
- 处理流程:
- Stage 1 解析能力初始化 :用常规全页序列生成格式训练,学习广泛识别/结构理解/阅读序/结构化生成;backbone 与 P-MTP 在联合损失下同优化,所有有效位置监督。2.8M 样本,lr 1×10−41\times10^{-4}1×10−4。
- Stage 2 范式切换 + 难例优化 :从 Stage 1 出发,每页重组为 layout 实例(监督完整结构序列)与 content 实例(用公式 1 的 mask,只监督
<CHILD>后内容);P-MTP 在同 mask 下从 next-token 扩展到渐进 look-ahead。100K branch-specific 样本,lr 1×10−51\times10^{-5}1×10−5。 - Stage 3 reward-guided 优化 :轻量 RL,分层输出结构使 reward 可直接分配到不同解析组件------构造 task-aware reward(公式质量、表格解析、版面预测)+ count-based consistency reward,精细反馈识别保真度/结构准确性/输出合规性。600 个按错误模式组织的难例,lr 5×10−75\times10^{-7}5×10−7,global batch 96。
- 设计理由:分层解码引入了 layout/content 两种解码角色,需 branch-specific 监督;但直接从头训分层格式会丢解析能力,故先用全页 AR 打底再迁移。Stage 1--2 均 1 epoch、per-device batch 2、8 步梯度累积(effective batch 128)、max seq 16000、warmup 0.05、bfloat16、DeepSpeed ZeRO-1 + gradient checkpointing + FlashAttention。
- 处理流程:
-
自动化难度感知数据 pipeline(四阶段):输入原始文档图像池 → 输出平衡、可靠、分层标注的训练数据。

- 处理流程:
- 聚类与采样:提取视觉特征、按文档特征聚类,从各簇选代表样本------去冗余、防数据被高度重复版面主导。
- 多模型标注与难度估计 :用互补的开源解析器(PaddleOCR-VL-1.5、MinerU-2.5 Pro)生成伪标签;同时用中间 HPD-Parsing checkpoint 解析同批样本,按 OmniDocBench 协议对比 checkpoint 预测与伪标签,按差异分为 Easy / Medium / Hard。
- VLM-based 修正 :难例走迭代修正------更强 VLM 检查当前标注的错误类型(文本/结构/格式),按预定义规则调整 prompt 并重新生成/修正,循环至满足质量标准或达最大 NNN 轮。对密集表格、多栏、公式、歧义区域尤其有效。
- 分布平衡:跨难度(Easy/Medium/Hard)与文档属性(文本块/表格/公式/复杂版面)平衡比例,防被简单样本主导。
- 设计理由:三阶段训练各需不同数据画像(Stage 1 重广覆盖、Stage 2 重 branch-specific 精修、Stage 3 重难例 reward),同一 pipeline 按阶段实例化产出 2.8M / 100K / 600 三套,最小化人工标注。
- 处理流程:
2.3 算法 / 伪代码
原文给出 Algorithm 1(FCFS Scheduling + Hierarchical Parallel Decoding) 与两个关键公式。转述并解读如下。
公式 (1):内容分支有效性 mask
Mtdec=I(t>t⟨CHILD⟩) \mathcal{M}t^{\text{dec}}=\mathbb{I}(t>t{\langle\text{CHILD}\rangle}) Mtdec=I(t>t⟨CHILD⟩)
- 解读 :t⟨CHILD⟩t_{\langle\text{CHILD}\rangle}t⟨CHILD⟩ 是
<CHILD>在内容序列中的位置。mask 只在<CHILD>之后的位置为 1------即内容分支只对局部转写算损失,结构前缀(共享视觉 + 该单元的 layout 前缀)只作 conditioning、不要求复现。这让内容分支专注学局部生成,不浪费容量去重建共享上下文。
公式 (2):next-token 与 P-MTP 的联合损失
L=∑k=0K∑t=0NMt+k+1 Wt,k ℓ (p^tk, yt+k+1)∑t=0NMt+k+1 \mathcal{L}=\sum_{k=0}^{K}\frac{\sum_{t=0}^{N}\mathcal{M}{t+k+1}\,\mathcal{W}{t,k}\,\ell\!\left(\hat{p}t^k,\,y{t+k+1}\right)}{\sum_{t=0}^{N}\mathcal{M}_{t+k+1}} L=k=0∑K∑t=0NMt+k+1∑t=0NMt+k+1Wt,kℓ(p^tk,yt+k+1)
- 解读 :k=0k=0k=0 是标准 next-token 目标(Wt,0=1\mathcal{W}{t,0}=1Wt,0=1),k≥1k\geq 1k≥1 是深度-kkk 的渐进推测预测。Wt,k\mathcal{W}{t,k}Wt,k 是渐进损失权重,结合距离衰减与路径/目标一致性信号,down-weight 不可靠的长程预测。Mt+k+1\mathcal{M}_{t+k+1}Mt+k+1 按分支类型决定该目标位置是否有效(全页/layout 全监督,content 遵公式 1)。该损失在所有解码分支上联合优化,使 P-MTP 与 backbone 端到端协同。
Algorithm 1:FCFS 调度 + 分层并行解码(关键步骤解读)
输入:KV 占用阈值 τ\tauτ、draft window KKK、并发上限 NmaxN_{\max}Nmax。主循环每轮做五件事:
- FCFS 排序 :队列脏时重排------子分支的排序键为
(0, parent 到达序, −parent 活跃子数, 自身到达序),parent 新请求为(1, 自身到达序)。效果是子分支整体优先于新 parent,且同一 parent 的子分支按活跃数量调度。 - KV 分配与抢占 :活动池中每条请求尝试
AllocKV;失败则抢占"最新到达"的请求(preempt youngest),部分释放其 KV 并把它塞回队列头部------标准 vLLM 抢占策略。 - 入池门控 :从队列出列进活动池时,只有 parent 请求受 KV 占用 / 并发上限门控;子分支 bypass(因其共享 parent 前缀、边际 KV 开销小)。
- P-MTP 推测与验证 :并行对所有活动请求起草 spec_tokens;计算接受长度 naccn_{\text{acc}}nacc(最长匹配前缀);更新请求长度 r.len←r.len+nacc+1−(K−nacc)r.\text{len} \leftarrow r.\text{len}+n_{\text{acc}}+1-(K-n_{\text{acc}})r.len←r.len+nacc+1−(K−nacc) 并写回 KV------多接受则前进多步、少接受则回退草稿。
- Fork 检测 + 引用计数释放 :检测到
<FORK>且当前非子分支时,spawn 子分支并对 KV 块零拷贝共享(fork_ptr)、引用计数 +1、子分支入队;完成的分支从池中移除、其 KV 块引用计数 −1(归零才真释放);某 parent 的所有子分支完成后InterleaveOutputs输出整页结果并清理 fork 数据。
- 解读 :算法的精髓是把"分层解码"落到工程上可调度------子分支优先 + 共享前缀零拷贝 + 引用计数,使并发分支的边际开销足够小,FCFS 在线服务行为不被破坏。这是把范式创新变为可部署系统的关键一环。
3. 关键结果
- 主要发现 :
- 效率 SOTA :4,752.1 TPS、2.68 PPS(BS=512),比自训 AR baseline(1,554.8 TPS / 1.02 PPS)提升 3.06× / 2.62× ;比最快现有模型 DeepSeek-OCR-2(2,932.1 TPS)高 1.62×。
- 精度 competitive:OmniDocBench v1.6 overall 94.91(1B),端到端 unified 里 SOTA,超 Qianfan-OCR(4B, 93.90)、Logics-Parsing-v2(4B, 93.33)、FireRed-OCR(2B, 93.26);ReadOrderEdit 0.124(优于多数对手)。
- 长输出增益放大 :跨长度桶,最长桶达 18.04× 更少解码步、3.67× 更高吞吐(BS=512)、5.80× 更低单请求延迟(BS=1)------分层并行的优势随文档长度增长而扩大。
- 证据强度 :
- 效率证据扎实:同架构 AR baseline 是公平对照(同 backbone、同训练目标、仅解码范式不同),且跨长度桶的趋势(越长越有利)与理论预期一致------关键解码路径由"最长活跃分支"而非"所有块长度之和"决定。
- 精度证据中等:overall 94.91 落后 pipeline 顶尖 PaddleOCR-VL-1.6(96.3)1.39 分、落后 MinerU2.5-Pro(95.75)0.84 分、落后 GLM-OCR(95.22)0.31 分;在端到端 unified 里仅比 HunyuanOCR-1.5(94.74)高 0.17 分。论文用"competitive"措辞,未谎称精度 SOTA,但 abstract 把速度放在了首位。
- 最支撑结论的一条证据:Figure 5 跨输出长度桶的效率增益------它最干净地证明"分层并行解决了序列长度依赖的减速",且量化了范式红利(最长桶 18.04× 更少步)。
3.1 关键结果图 / 表

- 重点解读(Figure 1):(a) 对比常规 AR(全页顺序生成)与 HPD(layout 协调的块级并行解码 + P-MTP);(b) HPD-Parsing 在吞吐---精度平面上占据右上角------吞吐最高且精度 competitive,把"快"和"准"的权衡向前推。
表:OmniDocBench v1.6 精度(节选代表性方法,完整表见原文 Table 1)
| 类型 | 方法 | 参数量 | Overall↑ | TextEdit↓ | FormulaCDM↑ | TableTEDS↑ | TEDS-S↑ | ReadOrderEdit↓ |
|---|---|---|---|---|---|---|---|---|
| 通用 VLM | Gemini 3 Pro | -- | 92.91 | 0.064 | 95.99 | 89.15 | 92.96 | 0.165 |
| 通用 VLM | Ovis2.6-30B-A3B | 30B | 93.70 | 0.035 | 95.17 | 89.44 | 92.40 | 0.135 |
| Pipeline | GLM-OCR | 0.9B | 95.22 | 0.044 | 97.18 | 92.83 | 95.39 | 0.133 |
| Pipeline | MinerU2.5-Pro | 1.2B | 95.75 | 0.036 | 97.45 | 93.42 | 95.92 | 0.120 |
| Pipeline | PaddleOCR-VL-1.6 | 0.9B | 96.3 | 0.032 | 97.5 | 94.8 | 97.11 | 0.127 |
| Unified | FireRed-OCR | 2B | 93.26 | 0.037 | 95.44 | 88.04 | 91.06 | 0.131 |
| Unified | Logics-Parsing-v2 | 4B | 93.33 | 0.041 | 95.65 | 88.42 | 91.98 | 0.137 |
| Unified | Qianfan-OCR | 4B | 93.90 | 0.040 | 95.08 | 90.53 | 93.31 | 0.130 |
| Unified | HunyuanOCR-1.5 | 1B | 94.74 | 0.039 | 94.50 | 93.67 | 94.71 | 0.129 |
| Unified | HPD-Parsing(本文) | 1B | 94.91 | 0.039 | 97.28 | 91.35 | 94.11 | 0.124 |
- 重点解读 :HPD-Parsing 以最小参数量(1B)在 unified 类里拿下最高 overall(94.91)。亮点是 FormulaCDM 97.28(全表最高之一,超 GLM-OCR 的 97.18)与 ReadOrderEdit 0.124(全表最低之一) ------前者说明视觉 grounding 强、公式识别准;后者印证 layout branch 对阅读序的建模有效。弱项是 TableTEDS 91.35,明显低于 pipeline 顶尖的 94.8------表格结构是精度短板,论文未单独讨论。
表:推理速度对比(OmniDocBench v1.6,BS=512,完整表见原文 Table 2)
| 类型 | 方法 | 参数量 | Avg Input Tokens | TPS↑ | PPS↑ |
|---|---|---|---|---|---|
| Pipeline | Youtu-Parsing | 2.5B | -- | 315.4 | 0.39 |
| Pipeline | PaddleOCR-VL-1.6 | 0.9B | -- | 1533.8 | 1.25 |
| Pipeline | MinerU2.5-Pro | 1.2B | -- | 1890.3 | 1.58 |
| Pipeline | GLM-OCR | 0.9B | -- | 2133.8 | 1.86 |
| Unified | Qianfan-OCR | 4B | 1856.9 | 994.5 | 0.60 |
| Unified | FireRed-OCR | 2B | 4532.3 | 1082.0 | 0.90 |
| Unified | HunyuanOCR-1.5 | 1B | 4496.9 | 1081.3 | 1.10 |
| Unified | DeepSeek-OCR-2 | 3B-A0.5B | 1100.2 | 2932.1 | 2.05 |
| Unified | Unlimited OCR | 3B-A0.5B | 1485.6 | 2901.5 | 2.03 |
| AR baseline | Baseline (Autoregressive) | 1B | 4809.3 | 1554.8 | 1.02 |
| Unified | HPD-Parsing(本文) | 1B | 4809.3 | 4752.1 | 2.68 |
- 重点解读 :HPD-Parsing 的 TPS(4,752.1)全表第一,且与 AR baseline 共享相同 input token 预算(4809.3) ,使 3.06× 提升的对照干净。但要注意:它的 input tokens(4809)是 DeepSeek-OCR-2(1100)的 4.37 倍------HPD-Parsing 用大得多的视觉 token 预算换精度,若严格控制 input token 相同,对 DeepSeek-OCR-2 的 1.62× 优势会缩小。论文承认这一点并把它表述为"在更大输入预算下仍更快",措辞诚实但也可反过来读。

- 重点解读(Figure 5):(a) 解码步数:最长桶 HPD-Parsing 比 AR baseline 少 18.04×;(b) 请求吞吐(BS=512):最高 3.67×;© 单请求延迟(BS=1):最低 5.80×。三条曲线随长度增长而增益扩大------这是分层并行"关键路径由最长活跃分支决定、而非全页长度之和"的直接量化体现,也是全篇最干净有力的范式红利证据。
4. 批判性评估与价值
4.1 批判性评估
评估:HPD-Parsing 是一份范式创新清晰、效率证据扎实的工作,核心立论(分层并行可重构整页 AR、大幅提速且精度 competitive)基本成立,但"competitive accuracy"的措辞与几处对照公平性值得保留。
范式价值是真正的亮点 。把"版面全局协调 / 内容局部并行"这一文档解析的内在结构性质,转化为一个可调度的解码图(layout branch + 并发 content branches + 共享前缀 KV 复用 + P-MTP),是有洞察的------这不是在 AR 框架内做参数或 attention 的微调,而是重构了生成范式。作者也指出该范式可外推到关键信息抽取、多页理解、结构化生成,这提升了工作的长期参考价值。Figure 2 的 profiling(decoder 延迟主导、长输出达编码 500×)是扎实干净的动机证据。
反方最强论证------"快但不是最准",且速度优势的对照有水分 。OmniDocBench overall 94.91 落后 pipeline 顶尖 PaddleOCR-VL-1.6 达 1.39 分,落后 MinerU2.5-Pro 0.84 分;在 unified 里仅比 HunyuanOCR-1.5 高 0.17 分(在未报方差的情况下接近噪声)。论文反复用"competitive accuracy"包装,abstract 把 4,752 TPS 放在标题性结论首位------若用户场景是精度优先(正式文档数字化、合规存档、表格密集场景),HPD-Parsing 1.4 分的精度劣势可能比 2.6× 速度增益更关键,尤其 TableTEDS 91.35 vs 顶尖 94.8 的表格结构差距直接落在文档解析的核心痛点上。速度对照方面:对自训 AR baseline 的 3.06× 是干净的(同 backbone、同 input token 预算);但对 DeepSeek-OCR-2 的 1.62×,HPD-Parsing 用了 4.37× 的 input token 预算------若控制 input token 相同,优势会缩水。此外 P-MTP"平均接受 6.6 token/步"未报偏差/分布,长尾下接受长度可能很短,加速稳定性存疑。
假设层面的脆弱点 。"块内容对远处区域依赖有限"是并行的前提,但对强跨块语义依赖 的文档(法律合同的"如第 X 条所定义"、学术论文的"见 Algorithm 1 / Table 2"、脚注-正文对应、跨栏/跨页引用)可能不成立------这些情况下,隔离到独立分支的内容分支会丢失长程依赖信息。论文 Figure 9(b) 用"0 vs O"的消歧案例声称全局上下文帮助,但这其实主要来自 layout branch 提供的全局结构 ,而非跨块内容 依赖,论据与"内容可并行"的隐含主张之间有微妙错位。此外,版面分支判错阅读序或漏 fork 会把 pipeline"版面错误不可挽回"的问题部分重新引入------虽然 unified 架构保留了全局上下文缓解了这一点,但 fork 点错误仍是结构性的,论文未给 fork 错误率或其下游影响的分析。
论证缺口 。没有 HPD 解码本身 vs 全页 AR 的干净精度消融------Stage 2 同时改了解码格式与数据(branch-specific + 难例),无法单独归因精度变化来自范式还是数据/训练。也没有"OPD 风格的 fork 错误对最终精度的敏感性"分析。
仍可信赖的部分:效率对比的主体(vs 同架构 AR baseline、跨长度桶趋势)扎实;模型基于开源 InternVL3.5-1B、训练超参透明(lr / batch / seq len / epoch / 优化器配置全给),复现性优于多数技术报告;写作清晰、Algorithm 1 详尽。模型/代码是否开源未在正文明确看到(未给 HF 链接,(uncertain))。
综合可信度 :中高 ------ 范式创新与效率证据可信、复现透明度好;但"competitive accuracy"掩盖了 1.4 分的精度劣势与表格结构短板,速度优势对 DeepSeek-OCR-2 的对照受 input token 预算差异影响,应按"吞吐优先场景的 SOTA、精度优先场景仍逊于 pipeline 顶尖"校准理解。
4.2 Limitations 与复现性
- 论文自承:未来需扩展训练数据覆盖更广文档场景、探索 structure-aware attention 进一步缩减每步 attention 上下文(结论节)。
- 读者发现:精度落后 pipeline 顶尖 1.4 分、表格 TEDS 短板(91.35);"块内容独立"假设对跨块强语义依赖文档可能失效;fork 错误的下游影响未分析;P-MTP 接受长度未报分布;无 HPD-vs-AR 的干净精度消融。
- 复现性 :模型权重 (uncertain) (未明确开源链接)· 训练代码 否 (未提)· 训练超参 是 (lr/batch/seq/epoch/优化器全给)· 数据 部分 (规模与构造流程给,具体样本不公开)· 硬件 是 (8×A800 80GB)· (uncertain) P-MTP 的 KKK 值、Stage 3 reward 具体形式、最大修正轮数 NNN。
4.3 可复用与后续
- 可借鉴:分层并行解码范式可迁移到任何"全局结构 + 局部内容"的生成任务(代码结构-函数体、结构化输出、多页文档);共享前缀 KV 复用 + 引用计数 + 子分支 bypass 的调度方案对做高效推理引擎的人有直接参考价值;P-MTP 集成思路(渐进损失加权 down-weight 长程预测)可借鉴;四阶段难度感知数据 pipeline(聚类采样 + 多模型标注 + checkpoint 难度估计 + VLM 迭代修正 + 分布平衡)是通用的弱监督数据工程范式。
- 引用场景 :做文档解析推理加速 / 高吞吐结构化生成 / VLM 解码范式时引为范式开创者;讨论"全局协调 vs 局部并行"的结构化生成设计时引。BibTeX key 候选
anon2026hpdparsing(待补作者)。 - 下一步 :
- 若考虑采用,先在自有表格密集 / 跨块引用密集的数据上复测,确认 TableTEDS 短板与"内容并行"假设是否影响业务。
- 对照 OvisOCR2(同期、同榜单 overall 96.58、0.8B)评估:若可接受稍慢、追求精度上限,OvisOCR2 可能更合适;若吞吐优先,HPD-Parsing 更合适。
Verdict
推荐深读 --- 对做文档解析推理加速 / VLM 解码范式 / 高吞吐结构化生成的人,这篇提出了真正的新范式 (分层并行解码),效率证据扎实(同架构 baseline + 跨长度桶趋势)、训练细节透明、范式可外推到多页理解与结构化生成,长期参考价值高;但需带着保留读"competitive accuracy"------精度落后 pipeline 顶尖 1.4 分、表格结构是短板、对 DeepSeek-OCR-2 的速度优势受 input token 预算差异影响。最稳妥的定位是"吞吐优先场景的 SOTA、精度优先场景仍逊于 pipeline 顶尖与同期 OvisOCR2"。
作者:lusca | 版本:lusca-paper-read v1.10.1 | 出处:https://github.com/yjmm10/lusca-skill/tree/main/skills/lusca-paper-read