English

PaDoc: Layout-Grounded Parallel Decoding for Document Parsing

Artificial Intelligence 2026-08-06 v1

Abstract

End-to-end document parsers provide a unified interface, but serialize page layouts and regional contents into one autoregressive sequence. This formulation forces independent regions onto a decoding path whose length grows with the total content, whereas crop-based two-stage parsers expose region-level parallelism at the cost of repeated visual prefills and fragmented page context. To retain full-page context while removing dependencies, we propose PaDoc, a layout-grounded parser that treats the predicted layout as a branching structure over a shared page representation. Under a region-sufficiency assumption, we derive a prefix-conditioned factorization in which the layout stream and regional content branches advance concurrently, reducing the decoding depth to the longest layout-content path. We realize this factorization within a single MLLM: packed variable-length ancestor attention preserves the visibility under standard next-token training, while masked parallel decoding creates branches that the evaluated vLLM backend serves as concurrent requests with cache-resident shared-prefix reuse. On OmniDocBench Full, PaDoc attains an Overall layout F1 of 91.1 and, among end-to-end parsers, a top-tier Overall score of 94.24 together with the best Text Edit (0.038) and Formula CDM (95.59). On a 384-page subset and one A800 GPU, it is the fastest end-to-end parser at five concurrency levels, improving valid-page throughput by 67.4-118% and reducing P95 latency by 39.2-54.9% relative to a same-backbone Sequential SFT baseline. Code is available at https://github.com/Longin-Yu/Padoc

Cite

@article{arxiv.2608.06146,
  title  = {PaDoc: Layout-Grounded Parallel Decoding for Document Parsing},
  author = {Hao Yu and Jiabo Zhan and Kang Liu and Linnan Zhao and Dongxu Yue and Rui Chen and Jinglin Wang and Chong Sun and Chen Li and Jing Lyu and Chun Yuan},
  journal= {arXiv preprint arXiv:2608.06146},
  year   = {2026}
}