UniRec-0.1B: Unified Text and Formula Recognition with 0.1B Parameters¶
会议: ECCV2026
论文: ECCV 官方页面
代码: https://github.com/Topdu/OpenOCR
领域: OCR / 文档解析
关键词: 文本与公式统一识别、多粒度识别、层级监督、语义解耦分词、轻量模型
一句话总结¶
UniRec-0.1B 用约 4000 万多粒度样本、显式行段监督和文本/公式解耦分词,从头训练一个 0.1B 编码器—解码器,在 UniRec-Bench 上达到 0.100 平均编辑距离,并在论文规定的单卡测试条件下将平均块识别耗时降至 0.37 秒。
研究背景与动机¶
文档解析并不是每一类内容都同样困难。论文对 OmniDocBench 的统计显示,文本、公式及混合内容占页面区域数量的 97.43%;用 MinerU2.5 处理时,这些内容合计消耗 36839 秒,占总解析耗时的 87.90%。如果把表格等复杂结构也交给同一个较大视觉语言模型,最常出现、相对容易饱和的识别任务也会承担较高的逐 token 解码成本。作者的模型规模实验中,文本与公式性能在约 0.1B 参数附近趋于饱和,而表格继续受益于更大模型;这是本文设置下的经验观察,不是所有 OCR 任务的普遍规模定律。
但直接把识别模型缩小也有两个具体障碍。一个字符、一行文字、跨行段落和文字夹公式的试题,在空间结构上差别很大;只把标注压平成字符串,会丢掉换行究竟表示排版折行还是段落结束的信息。另一方面,共享分词器可能把自然语言里的 sum 和 LaTeX 命令 \sum 拆成共享的片段,让本就有限的模型容量继续花在上下文消歧上。传统行识别器虽然很小,却通常需要额外检测才能处理多行段落,也难以直接覆盖公式混排。
本文选择保留标准编码器—解码器,把主要工作放在训练数据与输出表示上:既提供不同粒度的真实监督,又减少目标序列中的结构和语义歧义。它并不要求 0.1B 模型独立替代布局分析、表格识别和阅读顺序等所有模块,而是让轻量模型负责最常见的文字与公式区域。核心 idea:用明确的行段边界和保留公式语义的 token 表示降低小模型的学习负担,再以大规模、多域、多粒度数据训练一个可插入现有解析系统的统一识别器。
方法详解¶
整体框架¶
输入是文字、公式或两者混合的图像区域,输出是包含文本、公式标记与段落结构的序列。视觉端采用 FocalNet,保持输入长宽比,宽度和高度分别限制在 960、1408 像素以内;空间下采样后得到 768 维特征,再展平成视觉 token,供带交叉注意力的 6 层 Transformer 解码器读取。
训练侧先构建 UniRec40M,在标签中加入行与段落边界,再用 SDT 编码成离散目标序列,以交叉熵训练下一 token 预测。推理侧只有图像和已经生成的前缀,不需要真实标签;模型生成的层级 token 在输出后处理时转换为普通文本段落。下面虚线表示训练监督,实线分别表示数据准备与推理数据流。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
dataset["多粒度数据构建<br/>UniRec40M"] --> hierarchy["层级监督 HST<br/>标注行与段落边界"]
hierarchy --> tokenizer["语义解耦分词 SDT<br/>编码目标序列"]
image["输入图像区域"] --> encoder["FocalNet<br/>视觉特征"]
encoder --> decoder["自回归解码器<br/>交叉注意力"]
tokenizer -.->|训练标签| loss["token 交叉熵"]
decoder -.->|训练预测| loss
decoder --> output["SDT 解码与边界后处理<br/>文本、公式、段落"]
这里的统一是任务和粒度的统一,不是模型具备通用问答能力。对于完整页面,论文的系统实验仍由 MinerU2.5 或 PaddleOCR-VL 提供布局分析和表格识别,只替换第二阶段的文字与公式区域识别。因而“无需单独文本行检测”应理解为识别器可以直接处理多行区域,不能扩大为整套系统不需要任何布局检测。
关键设计¶
1. 多粒度数据构建:从源文档获得可对齐的文字与公式监督
UniRec40M 的关键不只是样本数量,而是同一数据管线能覆盖文字、公式、混合内容与多种识别粒度。作者收集约 200 万份 arXiv TeX 源文件和由 Wikipedia HTML 转换而来的 TeX 文件,为有效文字或公式 token 插入唯一颜色标识,再渲染为 PDF。通过颜色把源 token 与渲染区域对应起来,就能得到词级、行级监督;进一步解析 LaTeX 语法获得段落结构。这使训练目标不仅知道“这里有哪些字符”,还知道“它们属于哪一行、哪一段”,为后面的 HST 提供数据基础。
纯渲染数据容易偏向整洁排版,因此管线还用 PyMuPDF 从研报和报纸等原生 PDF 提取文本块与图像区域,并加入 LSVT、MTWI、HierText、CASIA-HWDB、TAL、K-12 等公开数据。手写笔记由 Qwen3VL-235B-A30B 辅助标注后人工修订;这属于数据标注环节,不是把教师模型蒸馏进识别网络。整库约含 3000 万英文、1000 万中文样本,按内容约为 1900 万纯文本、1300 万公式、800 万混合样本。论文表 2 的精确合计是 39.60M,而每轮按比例抽样或重采样实际使用 12.63M;不能把“训练 10 轮”理解成每轮遍历完整的 4000 万条。
2. 层级监督 HST:区分视觉折行与语义段落结束
HST 把空间结构变成目标序列中可学习的符号:<|ln|> 表示段落内部换行,<|pn|> 表示段落结束。普通字符监督只要求模型输出内容,在多行输入中却没有明确告诉它何时跨到下一行、何时开始新段落;这两个 token 让同一个解码器同时学习字符识别和行段边界。它没有引入额外的布局预测头或独立结构损失,结构符号与普通内容一起接受下一 token 监督,因此可以在不增加复杂推理模块的情况下改变学习目标。
生成后删除 <|ln|>,把 <|pn|> 替换为两个换行符:视觉上被折成两行的同一段不会被错误拆成两个段落,而原本的段落边界仍被保留。这样,训练使用比最终输出更细的结构信息,最终文本则保持适合阅读和下游处理的形式。表 3 中段落编辑距离从无 HST 的 0.049 降到 0.032,支持其收益与结构粒度相关;但边界标签本身依赖数据管线的质量,不能认为加入特殊 token 就自动解决任意版面阅读顺序。
3. 语义解耦分词 SDT:避免公式命令被迫借用普通词片段
SDT 分别在纯文本与数学公式语料上训练两个分词器,再把公式分词器中尚未存在于文本词表的 token 作为特殊 token 加入文本分词器。图 3 中,Dolphin 会把反斜杠和 sum 等部分拆开,而 SDT 能保留 \sum、\infty、\frac 等公式单元,使其不必与普通文本中的同名词片段共享完全相同的表示。这里实际是“独立学习词表,再合并到一个输出词表”,并不是推理时运行两个解码器,也不是对所有字符强行建立两套互不相交的 token ID;原文明确排除了已有 token 的重复加入。
这个设计把一部分语义区分提前交给离散表示,而不完全依赖小模型在每个上下文里重新消歧。解码器仍然沿一个序列生成普通文本、公式内容和结构标记,因而可以处理同一段中交替出现的文字与公式。它也不提供显式数学求解器或公式语法校验器,目标是忠实转写视觉内容。在无 HST 的消融条件下,加入 SDT 后公式编辑距离由 0.255 降到 0.144,明显大于纯文本的改进;这一对照支持公式表示确实是小模型的关键瓶颈,但不能仅凭该实验区分语义解耦与分词长度等潜在影响。
一个完整示例¶
考虑一张由两行英文说明和下一段公式组成的区域图像,说明文字提到单词 sum,公式含有 \sum。这是用于解释流程的示意输入,不是新增实验样本。
数据准备先记录第一段内部的折行,在标签中插入 <|ln|>;第一段结束以及公式段结束分别标记 <|pn|>。SDT 将普通单词与公式命令编码成可区分的 token,FocalNet 则提供同一张图像的二维视觉特征,解码器据此前缀和图像逐步产生目标序列。训练时边界预测错误也属于 token 预测错误,而不是被忽略的格式差异。
实际识别时不再提供上述标签。模型从图像自行预测内容与边界,SDT 将生成 ID 还原为文字和 LaTeX,再移除段内换行标记、恢复段落分隔。读者得到连贯的说明段和独立公式段;系统不需要先把说明文字切成两张行图再拼接,也不会把英语 sum 当作需要执行的数学运算。
损失函数 / 训练策略¶
网络使用带因果掩码的自回归解码,针对所有目标 token 计算交叉熵,包括文字、公式和结构标记;没有额外报告 HST 专用损失或蒸馏目标。缓存中的若干数学公式存在抽取损坏,因此这里依据正文解释训练机制,不补写为作者原式。
模型从头训练,不载入预训练权重。解码器隐藏维度为 768,按原文每头 64 维的设置对应 12 个注意力头;词表大小 56371,最大目标长度 1024。优化器是 AdamW,学习率 0.0001、权重衰减 0.01、全局 batch size 64,训练 10 轮;正文将调度写为 one-cycle,前 0.5 轮线性 warm-up。增强包含旋转、畸变、运动模糊和高斯噪声,训练使用 8 张 A800 40GB,耗时约 80 小时。轻量指部署模型参数少,不等于训练数据和训练算力开销很小。
实验关键数据¶
主实验¶
UniRec-Bench 从 OmniDocBench 抽取区域,覆盖 14301 个文本块、620 个公式块和 1314 个混合块,并按五种粒度、中英文及九个文档域细分。下表保留原文表 3 的 Edit 数值,衡量预测串与真值串的差异,越低越好;Avg 为三个模态列的算术平均,而非按样本数量加权的整库准确率。本文没有把它改写成整串完全正确率。
| 模型 | 参数量 | Avg Edit | 文本 Edit | 公式 Edit | 混合 Edit |
|---|---|---|---|---|---|
| Dolphin-1.5 | 0.3B | 0.206 | 0.050 | 0.365 | 0.202 |
| MinerU2.5 | 1.2B | 0.154 | 0.167 | 0.140 | 0.155 |
| PaddleOCR-VL | 0.9B | 0.100 | 0.041 | 0.125 | 0.135 |
| UniRec-0.1B | 0.1B | 0.100 | 0.038 | 0.134 | 0.128 |
UniRec 与 PaddleOCR-VL 的 Avg 持平,文本和混合内容更好,公式则差 0.009,不能写成所有任务全面领先。表 5 的完整页面实验中,仅替换文字/公式识别后,MinerU2.5 的 Overall Edit 从 0.143 降至 0.120;PaddleOCR-VL 从 0.115 降至 0.113,布局分析与表格识别保持不变。
消融实验¶
下表来自原文表 3,三行均为 0.1B 模型;段落列只对应文本的段落粒度子集。
| 配置 | Avg Edit | 文本 Edit | 公式 Edit | 混合 Edit | 段落 Edit |
|---|---|---|---|---|---|
| 无 HST、无 SDT | 0.159 | 0.062 | 0.255 | 0.161 | 0.053 |
| 无 HST、有 SDT | 0.113 | 0.050 | 0.144 | 0.143 | 0.049 |
| 完整模型 | 0.100 | 0.038 | 0.134 | 0.128 | 0.032 |
SDT 在无 HST 时让公式 Edit 下降 0.111;HST 在有 SDT 时让段落 Edit 下降 0.017。这些是绝对差值,不是相对错误率下降百分比。论文未提供“有 HST、无 SDT”这一行,因此不能完整分离两者的交互效应。
原文表 6 的效率对比如下,全部在单张 A800 40GB、batch size 1、Torch 或 PaddlePaddle 动态图、开启 KV Cache、无额外推理加速的条件下测量。
| 模型 | Blockavg / 秒 | Pageavg / 秒 |
|---|---|---|
| MinerU2.5 | 2.54 | 42.72 |
| PaddleOCR-VL | 1.88 | 31.92 |
| Dolphin-1.5 | 0.78 | 13.16 |
| UniRec-0.1B | 0.37 | 6.20 |
相对 PaddleOCR-VL,表 6 的块级速度比约为 5.08 倍。该表的 Pageavg 与图 1(d) 包含保留表格识别的系统计时不应混为一谈:图 1(d) 中替换后的系统仍有 5069 秒表格成本,作者报告约 4 倍系统加速。正文另用 42.72/6.20 描述接近 7 倍页面加速,反映了不同计时口径;这里保留原值与边界,不把 6.20 秒宣称为任何完整混合系统的端到端延迟。
关键发现¶
- 结构监督的收益集中体现于段落、多段落与复杂版面,分词改造对公式最显著,二者解决的问题不同。
- 表 4 的手写 Note 子集 Edit 为 0.055,对比 PaddleOCR-VL 的 0.067;数据域覆盖是重要因素,不能把全部收益归因于网络结构。
- 小模型的优势成立于专门训练的文本/公式识别范围,不意味着它能替代通用 VLM 的其他任务。
亮点与洞察¶
- 把有限容量优先用于识别,而不是让模型自己发现所有输出约定。HST 和 SDT 都是在监督表示上消除可避免的歧义,而非堆叠复杂模块。
- 按文档区域频率配置模型算力,比让所有任务使用同一参数规模更有针对性。前提是区域路由与较难任务的专家仍然可靠。
局限与展望¶
- 作者在结论中主要指出现有模型跨粒度能力不均衡,并未给 UniRec 提供完整失败类型分析;这些总体观察不能冒充本文独有的已证实局限。
- 本笔记判断:多语范围主要是中英文,最大目标长度为 1024,超长文档和其他语言的能力需要额外验证,不能从多粒度结果直接外推。
- 本笔记判断:消融不是完整的二乘二设计,也没有隔离数据规模、词表大小和序列长度的影响;“语义解耦是唯一原因”仍证据不足。
- 本笔记判断:动态图单样本测速不能代替高吞吐部署评估。还应对齐批处理、推理引擎、布局与表格成本后比较端到端收益。
相关工作与启发¶
- vs PP-Recv5 / OpenOCR-Rec:传统专家重点处理字符、词和行,UniRec 扩展到多行与公式混排;其价值在覆盖面,不能只按参数量断言替代所有高速行识别器。
- vs Dolphin-1.5:两者均可用于区域识别,本文强调公式表示与多域数据;仅凭跨模型结果无法排除训练数据差异,因此应结合 SDT 消融理解贡献。
- vs MinerU2.5 / PaddleOCR-VL:本文不是要求重建整套解析系统,而是替换高频识别模块。可迁移思路是先测任务频率与容量饱和点,再决定哪些能力需要独立专家。
评分¶
- 新颖性: 3/5,数据与表示设计组合有针对性,网络架构本身较常规。
- 实验充分度: 4/5,包含多粒度、多域、模块消融和系统替换,缺少完整交互消融与统一部署口径。
- 写作质量: 4/5,问题与设计对应清楚,但速度叙述需要仔细区分测量范围。
- 价值: 4/5,为低参数文档识别提供了数据管线、目标表示和系统集成的实用经验。