LayoutLite — Token-Level Implicit Layout Analysis for Efficient Document OCR

📄 · arXiv abs · PDF

  • arXiv: 2607.22200v1(2026-07-24)
  • 团队: 元蓝科技(Yuanli Technology, Beijing)+ 北京师范大学;Xudong Liu, Bicheng Wan, Yulin Jin
  • 代码: github.com/dpxudong/LayoutLite

一句话

文档 OCR 里高分辨率图产生的视觉 token 大量是空白/冗余,但通用视觉 token 压缩会误删 OCR 关键细节 → LayoutLite 是一个即插即用小模块,插在视觉编码器与语言解码器之间,做token 级隐式版面分析:给每个视觉 token 打信息量分、剪掉低分 token(保留原始空间位置编码),不微调原模型、只用少量无标注文档、GRPO 强化学习训练。在 OmniDocBench v1.7 上,对 FireRed-OCR / Logics-Parsing-V2 做到 50% token 压缩几乎不掉分,prefill 延迟 / FLOPs / KV cache 降 40%+。

关键动机(一个漂亮的观察)

  • 视觉 token 是局部的(Fig 3):把某几个数字对应的视觉 token 从图里删掉,解码器就只是跳过这些数字、照常输出其余——多个 OCR 模型都这样。说明视觉 token 主要编码其对应图像区域的局部信息。
  • 推论:既然是局部的,就能识别并丢弃冗余 token 而不伤 OCR 精度;删空白边距 token 无影响,删内容区 token 才丢字。
  • 现有三种范式都不显式删低信息 token:①动态分辨率编码器(HunyuanOCR/FireRed/Logics-V2,按图大小分配 token 仍编码空白)②两段 pipeline(paddleocr-vl/mineru2.5,靠版面检测、有误差传播)③固定分辨率编码器(got-ocr2/DeepSeek-OCR-V2/unlimited-ocr,resize 后大量空白进 token)。

方法

1. 多层特征聚合 + Conv1D 打分(模块结构)

  • 不只用最后一层:取编码器多层 hidden state {H_i1..H_id},各过同一个 Patch Merger 得多级 token V ∈ R^{d×N×D}。
  • 核心洞察:信息 token 与冗余 token 在编码器逐层的特征演化轨迹不同——有内容的 token 表示随自注意力逐层聚合而演变,空白背景 token 几乎不变。
  • 把每个 token 跨层表示当成沿深度维的短序列,用 kernel=d 的 Conv1D 捕捉「跨层变化模式」(类比建模帧间时序变化)→ 两层 FC → Sigmoid → 每 token 分数 S ∈ [0,1]^N。
  • 极轻量:Qwen3-VL(D=1024, d=4)下仅 ~19M 参数 ≈ 原模型 1%。

2. 基于聚类的阈值剪枝(推理)

  • 对每张图的分数做 K-means(K=2) 得两个簇心 l_i, r_i,阈值 = l_i + α(r_i - l_i),α 全局共享、二分搜索定以满足目标压缩率 → 每图自适应二值 mask。比全局阈值更鲁棒(吃每图自己的分数分布)。
  • 保留 token 的原始 MRoPE 空间坐标不变 → 剪枝后文档空间结构仍在。

3. GRPO 强化学习训练(无标注)

  • token 选择是离散、不可微、无冗余标注、只能整 mask 应用后看输出,SFT 不适用 → 建模成策略学习。
  • 冻结底座 VLM,只训 LayoutLite。视觉编码器每图跑一次、hidden state 缓存复用于多个采样 mask → 极省样本:Qwen3-VL-2B 上几百张无标注图、单卡 A100 ~20GB、几小时收敛。
  • 用 GRPO:每图采一组 B 个 mask 应用到同一视觉特征、比较各自 OCR 输出,把策略推向组内最优 mask(正好契合「token 重要性只能靠删它对最终输出的影响来判断」)。简化版省掉 KL 惩罚:L_GRPO = -(1/B)Σ R̂_i log P(mask_i)。
  • 奖励 = OCR 一致性 + 压缩率约束:R = LevRatio(Y_pruned, Y_full) − λ|r−a|^m。主信号是剪枝输出与原输出的 Levenshtein ratio(避免用真值标注);软正则把丢弃率约束在目标 a 附近(否则退化成全保留骗满分)。
  • Bernoulli 采样探索:token 以概率 S[i] 保留;FC2 bias 初始化使所有 token 初始分=a。

4. 辅助版面监督(加速收敛)

  • 用现成版面模型 PP-DocLayoutV3 出框,落到 token 网格得 M_layout(落在文本/表/公式/图区域内=1)。
  • L_layout = (1/|Ω_out|)Σ_out S_j − (1/|Ω_in|)Σ_in S_j → 拉大内外区域分差,仅作初始化/引导,不强制复现检测器输出。
  • 总损失 L_total = L_GRPO + L_layout。

关键数据(OmniDocBench v1.7,1651 张图平均)

  • FireRed-OCR baseline(0% 压缩):Edit 0.044 / Formula CDM 94.315 / Table TEDS 88.343 / Overall 92.753。
  • +LayoutLite:压缩率 ≤50% 时 Overall 基本持平甚至微升——
    • 10%: 92.754|20%: 92.738|50%: 91.432(仅降 ~1.3)|60% 起明显崩(84.4)|70% 崩(49.4)。
    • 说明甜点区在 50% 附近,之后急剧退化。
  • 效率:50% 压缩下 prefill 延迟 / FLOPs / KV cache 均降到原来 ~50–60%(近线性随压缩率下降),仅加一点 LayoutLite 自身开销(Fig 2)。
  • 在 FireRed-OCR 和 Logics-Parsing-V2 两个 OCR 专用 VLM 上都验证有效(模型无关、可迁移)。

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

  • ⭐⭐⭐ 「视觉 token 是局部的」这个实验结论直接支撑检测—识别组合架构的假设:既然删某区 token 只影响该区输出,那么前端 DETR 出的框天然对应「哪些视觉 token 该喂给后端 AR」——可把 DETR 的 query/框直接当作显式版面 mask 去筛视觉 token,等于用 DETR 做 LayoutLite 想隐式学的事,但更准、可控。
  • ⭐⭐ 视觉 token 压缩 = 后端 AR 提速的正交手段:在 DETR 框内/框外分层剪枝,喂给 AR 的视觉上下文更短 → prefill/KV cache 直降 40%+,缓解长文档 context-overload(重复/漏字/结构错)。与 deepseek-ocr 光学压缩、unlimited-ocr R-SWA 压 KV、hpd-parsing 减串行步 并行叠加。
  • ⭐⭐ GRPO 用「剪枝前后输出 Levenshtein 一致性」当奖励、免标注训一个小选择器——这套「无真值、用冻结模型自身行为当信号」的 RL 训练范式,可复用到研究者任何「离散、不可微、无标注」的组件(如视觉 token 路由、区域选择)。样本极省(几百张图/单卡几小时)。
  • ⭐⭐ Conv1D 建模跨层特征演化轨迹判 token 信息量:一个便宜且可解释的判据(内容 token 逐层演变、空白 token 不变),可当后端编码器的 token 重要性/压缩打分头。
  • ⭐ 保留原始位置编码(MRoPE 坐标不动)再剪枝——压缩视觉 token 时务必保空间结构,否则后端解 markdown/表格/阅读顺序会乱。
  • ⭐ 辅助版面监督引导 RL:用现成 PP-DocLayoutV3 弱标注拉分差加速收敛,不强绑检测器输出——弱监督+RL 混合的训练配方。

与同类的关系

  • vs 通用视觉 token 压缩([FastV/PixelPrune/DivPrune/VisionZip 等]):这些在通用 benchmark 好但直接上 OCR 会误删细节 → LayoutLite 用 OCR 输出一致性当奖励,专为 OCR 保留细粒度。
  • vs 显式两段版面 pipeline(paddleocr-vl/mineru2.5):LayoutLite 做隐式版面分析、直接在 token 上操作,对非常规版面/旋转文档/检测失败更鲁棒(不依赖框的准确性、无误差传播)。
  • 底座实验用 Qwen3-VL,验证模型:firered-ocr、logics-parsing-v2。