Dolphin — 异构锚点提示的文档解析(字节,2025)

📄 原文:arXiv:2505.14059 · PDF

⭐ “analyze-then-parse” + 元素级并行解析:检测结果作为 anchor 送入识别模块,各元素可以并行解码。

一句话

两阶段 “analyze-then-parse”:① 第一阶段按阅读顺序生成一串 layout 元素(异构:文本/表格/ 公式…),这些元素当 anchor;② 把每个 anchor + 任务专属 prompt 喂回同一模型, 并行解析各元素内容。轻量 + 并行 → 高效。

核心机制:Heterogeneous Anchor Prompting (HAP)

  • anchor = 第一阶段检出的版面元素(带类型),已排好阅读顺序。
  • 第二阶段:anchor + task-specific prompt → 模型对该元素做识别。不同类型元素配不同 prompt (表格→HTML、公式→LaTeX、文本→纯文本)。
  • 并行:所有 anchor 的第二阶段解析可同时跑(互不依赖)→ 比整页顺序解码快得多。

对检测—识别组合系统的启示

  • 这就是你”检测→生成”衔接的教科书做法:前端 DETR 出的每个 query/框 = 一个 anchor, 后端 AR 逐 anchor 并行生成 → 既解耦又高效,避免整页长序列解码。
  • task-specific prompt 按元素类型分流:表格/公式/文本用不同 prompt + 输出格式, 后端一个 AR 解码器靠 prompt 切换,省得为每类训独立 decoder。
  • 阅读顺序在第一阶段就定:前端检测时顺带出顺序(DETR query 间的关系可建模), 后端只管识别,关系不落缝里(回应 dots-ocr 的担忧)。
  • 并行解码 = 效率关键:文档几百个元素,并行比自回归整页快一个量级, 对 OCR 系统后端吞吐至关重要(另见 youtu-parsing 的并行解码)。

关联