深度解读 OCR 多模态 智谱AI
论文:arXiv:2603.10910 · 2026年3月 · Zhipu AI × 清华大学
一句话:0.9B参数,OmniDocBench v1.5 第一名,超越 Gemini-3 Pro 和 Qwen3-VL-235B
GLM-OCR 是一个仅 0.9B 参数的多模态文档理解模型,通过 CogViT 视觉编码器(0.4B)+ GLM 语言解码器(0.5B)+ 多 Token 预测(MTP)机制,在 OmniDocBench v1.5 上拿到 94.62 分(第一名),超越所有大模型——包括 Gemini-3 Pro(90.33)和 Qwen3-VL-235B(89.15)。
论文原图 Figure 1:GLM-OCR 在 OmniDocBench v1.5 各子项上全面领先
0.9B 小模型 vs 千亿大模型——专精设计比暴力堆参数更有效
三个核心看点:
GLM-OCR 本质上是一个视觉-语言生成模型,由三部分组成:
📷 CogViT 视觉编码器 (0.4B) → 🔗 跨模态连接器 → 📝 GLM 解码器 (0.5B) + MTP 多头预测
论文原图 Figure 2:GLM-OCR 整体架构——Task1 文档解析(版面检测→区域裁剪→并行识别→Markdown/JSON)和 Task2 关键信息提取(全图+Prompt→JSON),右侧展示 MTP 共享参数多头预测机制
视觉编码器把文档图像变成特征向量,投影到语言空间后作为前缀 token 送入解码器,解码器自回归生成结构化文本(Markdown/JSON)。
任务1:文档解析——先用 PP-DocLayout-V3 做版面分析,把页面切成段落/表格/公式等区域,然后并行识别每个区域,最后合并输出 Markdown/JSON。先拆后认,降低幻觉,可并行加速。
任务2:关键信息提取(KIE)——不需要版面切割,直接把整张图 + 任务 prompt 送入模型,按 JSON schema 生成结构化字段(比如发票号、金额、公司名等)。端到端,Prompt 控制输出格式。
问题:传统自回归解码一次只吐一个 token,对于 OCR 这种确定性强、局部依赖明显的任务来说太慢了——想想表格的 HTML 标签,一个 <td> 后面几乎一定跟内容再跟 </td>。
方案:在主预测头之外挂 k 个共享参数的辅助预测头,每步同时预测 k 个未来 token。训练时 k=10,推理时平均有效生成 5.2 个/步。
效果:吞吐提升约 50%,同时还改善了结构化输出的完整性(更少的"断标签")。共享参数让额外显存开销很小。
| 阶段 | 内容 | 关键点 |
|---|---|---|
| Stage 1 | 视觉编码器预训练(MIM + CLIP + 知识蒸馏) | 数百亿图文对 |
| Stage 2.1 | 视觉-语言联合预训练 | 多模态对齐 |
| Stage 2.2 | 引入 MTP 目标继续预训练 | 适配多 token 生成 |
| Stage 3 | SFT 监督微调(文字/公式/表格 + KIE) | 任务专精化 |
| Stage 4 | GRPO 强化学习 + 任务感知奖励 | 结构可靠性 |
💡 作者思考:RL 阶段的奖励设计很讲究——不同任务用不同指标:文字识别用编辑距离、公式用 CDM、表格用 TEDS、KIE 用字段级 F1,还加了全局正则化惩罚重复生成和格式错误。这种细粒度奖励比"一刀切"的 RLHF 靠谱得多。
论文展示了 GLM-OCR 在文字、表格、公式、信息提取四类任务上的 Input→Output 实际对比:
论文原图 Figure 4:文字识别——意大利餐厅手写菜单,多语言混合+欧元符号+透视变形,完美还原每一行
论文原图 Figure 5:表格识别——临床统计表,多层表头+合并单元格+缺失值+p值标注,结构完整重建
论文原图 Figure 6:公式识别——密集行列式+矩阵运算+多级下标,输出语法正确可编译的 LaTeX
论文原图 Figure 7:关键信息提取——海关报关单(含印章),按 JSON Schema Prompt 精确提取嵌套字段
论文原图 Figure 3:GLM-OCR SDK 复杂文档解析——中文考题(数学公式+表格混排)和英文技术文档,Input→结构化 Markdown 输出
| 数据集 | GLM-OCR (0.9B) | PaddleOCR -VL-1.5 | MinerU 2.5 | dots.ocr (3B) | Gemini-3 Pro | GPT-5.2 |
|---|---|---|---|---|---|---|
| OmniDocBench v1.5 | 94.6 | 94.5 | 90.7 | 88.4 | 90.3 | 85.4 |
| OCRBench (Text) | 94.0 | 75.3 | 75.3 | 92.1 | 91.9 | 83.7 |
| UniMERNet (公式) | 96.5 | 96.1 | 96.4 | 90.0 | 96.4 | 90.5 |
| PubTabNet (表格) | 85.2 | 84.6 | 88.4 | 71.0 | 91.4 | 84.4 |
| TEDS_TEST (表格) | 86.0 | 83.3 | 85.4 | 62.4 | 81.8 | 67.6 |
| Nanonets-KIE | 93.7 | - | - | - | 95.2 | 87.5 |
| Handwritten-KIE | 86.1 | - | - | - | 94.5 | 78.2 |
蓝色加粗 = 开源模型最佳。Gemini-3 Pro / GPT-5.2 为闭源参考,不参与排名。
| 场景 | GLM-OCR | PaddleOCR-VL-1.5 | dots.ocr | Gemini-3 Pro |
|---|---|---|---|---|
| 代码文档解析 | 84.7 | 75.8 | 80.8 | 86.9 |
| 真实场景表格 | 91.5 | 86.1 | 81.8 | 90.6 |
| 手写体识别 | 87.0 | 87.4 | 71.7 | 90.0 |
| 多语言文字 | 69.3 | 54.8 | 65.1 | 86.2 |
| 印章识别 🔴 | 90.5 | 42.2 | 63.0 | 91.3 |
| 票据 KIE | 94.5 | - | - | 97.3 |
🔴 印章识别:降维打击——GLM-OCR 拿到 90.5,比第二名 dots.ocr(63.0)高出 27.5 分,直逼 Gemini-3 Pro(91.3)。PaddleOCR-VL-1.5 只有 42.2。这说明 GLM-OCR 在中文特色场景下做了针对性优化。
| 模型 | 图片 (pages/s) | PDF (pages/s) |
|---|---|---|
| GLM-OCR | 0.67 | 1.86 |
| PaddleOCR-VL-1.5 | 0.39 | 1.22 |
| Deepseek-OCR2 | 0.32 | - |
| MinerU2.5 | 0.18 | 0.48 |
| dots.ocr | 0.10 | - |
GLM-OCR 的 PDF 吞吐量是 MinerU2.5 的 3.9 倍,是 dots.ocr 的 6.7 倍(图片模式)。MTP 机制功不可没。
从纸质文档到结构化数据——GLM-OCR 支持发票、合同、表格、手写体、印章等多种文档类型
GLM-OCR 支持四大部署方式:vLLM(高并发推理)、SGLang(结构化生成优化)、Ollama(一键本地部署)、LLaMA-Factory(领域微调)。
💰 MaaS API 定价:0.2 元 / 百万 token(输入输出统一价)
1. "小模型革命"正在文档 AI 赛道上演
GLM-OCR、PaddleOCR-VL(0.9B)、MinerU2(0.9B)、Dolphin(0.3B)……越来越多 sub-1B 模型在文档理解上追平甚至超越通用大模型。原因很简单:OCR 本质上是确定性任务——输入图像,输出就是图上写了什么,不需要"创造性"。大模型的参数冗余变成了负担(延迟高、成本高、容易幻觉)。
2. MTP 的 OCR 特供价值
多 Token 预测在通用 LLM 上是锦上添花的加速手段,但在 OCR 场景价值被放大。因为 OCR 输出结构高度规律——Markdown 表格的 |、LaTeX 的 \frac{}{}、JSON 的 {"":}——局部可预测性极强,MTP 命中率自然就高。场景特性 × 技术手段的完美匹配。
3. 两阶段 vs 端到端:工程务实 > 学术优雅
GLM-OCR 没有追求"端到端一个模型搞定一切"的学术美感,而是务实地选择了版面分析(PP-DocLayout-V3)+ 区域并行识别的两阶段方案。论文坦承有误差传播,但换来了:(1) 小模型不容易幻觉,(2) 可并行加速,(3) 模块可替换。工程上的好用比论文上的好看重要得多。
4. RL 的精细化是关键
Stage 4 的强化学习不是简单套 RLHF,而是给每个子任务设计了专用奖励函数(编辑距离/CDM/TEDS/F1)+ 全局结构正则化。RL 要在 OCR 上起效,任务感知的奖励设计比算法本身更重要。
5. 对行业的影响
0.2元/百万 token 的定价和 Ollama 一键部署,意味着 OCR 能力正在从"花钱买 API"变成"本地自己跑"。对金融、法律、医疗等数据敏感行业来说是大利好——不用把客户合同传到云上了。