AI2 开源 olmOCR:7B 视觉模型把 PDF 变干净 Markdown,百万页不到 200 美元,olmOCR-Bench 82.4 分碾压 Mistral OCR 💡 PDF 转 Markdown 有多难?AI2 说:7B 模型就够了。olmOCR 基于 Qwen2.5-VL 微调,支持 PDF/PNG/JPEG 一键转干净 Markdown;数学公式、表格、手写体、多栏排版、复杂嵌套全搞定;自动去除页眉页脚;自然阅读顺序还原;v0.4.0 引入 RL 训练,olmOCR-Bench 82.4 分;百万页转换不到 $200;12GB 显存即可本地运行;vLLM 推理引擎;AWS S3 多节点并行;Docker 一键部署;Cirrascale/DeepInfra/Parasail 云端 API 按需调用;两篇 arXiv 论文;AI2 出品,Apache 2.0 开源。
📌 目录 1. olmOCR 是什么? 2. 核心特性 3. olmOCR-Bench:7000+ 测试用例横评 4. 版本演进与 RL 训练 5. 安装指南 6. 使用实战 7. 云端推理:无需 GPU 8. 多节点集群:百万 PDF 并行 9. Docker 部署 10. 可复用代码模块 11. 竞品深度对比 12. 成本分析 13. 优缺点与使用建议 14. 总结 1. olmOCR 是什么? olmOCR 是 Allen Institute for AI (AI2) 开源的 PDF 线性化工具包,将 PDF 和图像文档转换为干净、可读的纯文本/Markdown 格式。
🔗 项目地址:https://github.com/allenai/olmocr 🌐 在线体验:https://olmocr.allenai.org/ 📄 论文 v1:arXiv 2502.18443 📄 论文 v2:arXiv 2510.19817(RL 训练 + Unit Test Rewards) 📜 许可证:Apache 2.0 🏢 维护方:AI2 AllenNLP 团队 📌 当前版本:v0.4.0(olmOCR-2-7B-1025-FP8) 一句话总结 olmOCR = AI2 出品的 PDF→Markdown 转换器 = 7B 视觉语言模型驱动 = 数学公式/表格/手写/多栏全支持 = 百万页 < $200 = 12GB 显存本地运行 = vLLM + S3 多节点并行 = 两篇 arXiv 论文2. 核心特性 特性 说明 📄多格式输入 PDF / PNG / JPEG 全支持 📝干净 Markdown 输出 数学公式、表格、手写体、复杂排版精准转换 🧹自动去除页眉页脚 无需手动清理 📖自然阅读顺序 多栏排版、插图、嵌套内容正确还原 💰超低成本 < $200 / 百万页 ⚡vLLM 推理引擎 高吞吐批量推理 🌐云端 API Cirrascale / DeepInfra / Parasail 三家验证 📦Docker 部署 含模型镜像一键运行 🔀S3 多节点 AWS S3 工作队列 + 多 Worker 并行 🎯olmOCR-Bench 7000+ 测试用例,1400 文档综合评测 🔬RL 训练 v0.4.0 引入 GRPO 强化学习,Unit Test Rewards 🛠️训练代码开源 SFT + GRPO 训练器,可自己训练 OCR 模型
3. olmOCR-Bench:7000+ 测试用例横评 olmOCR 自带olmOCR-Bench 基准测试,覆盖 7,000+ 测试用例、1,400+ 文档,8 大维度全面评测。
综合得分排行 排名 工具 ArXiv 旧扫描数学 表格 旧扫描 页眉页脚 多栏 长文本 基础 综合 1 Chandra OCR 0.1.0 *82.2 80.3 88.0 50.4 90.8 81.2 92.3 99.9 83.1±0.9 2 Infinity-Parser 7B *84.4 83.8 85.0 47.9 88.7 84.2 86.4 99.8 82.5±? 3 olmOCR v0.4.0 83.0 82.3 84.9 47.7 96.1 83.7 81.9 99.7 82.4±1.1 4 PaddleOCR-VL* 85.7 71.0 84.1 37.8 97.0 79.9 85.7 98.5 80.0±1.0 5 Marker 1.10.1 83.8 66.8 72.9 33.5 86.6 80.0 85.7 99.3 76.1±1.1 6 DeepSeek-OCR 77.2 73.6 80.2 33.3 96.1 66.4 79.4 99.8 75.7±1.0 7 MinerU 2.5.4* 76.6 54.6 84.9 33.7 96.6 78.2 83.5 93.7 75.2±1.1 8 Mistral OCR API 77.2 67.5 60.6 29.3 93.6 71.3 77.1 99.4 72.0±1.1 9 Nanonets-OCR2-3B 75.4 46.1 86.8 40.9 32.1 81.9 93.0 99.6 69.5±1.1
⚠️ 标 * 号的工具可能使用了 olmOCR-Bench 训练数据,结果仅供参考。
olmOCR 优势维度 维度 olmOCR 得分 亮点 页眉页脚 96.1 🔥 第二高,自动去除能力极强 基础 OCR 99.7 🔥 几乎满分 多栏 83.7 🔥 复杂排版还原优秀 旧扫描数学 82.3 🔥 手写/模糊公式识别强 ArXiv 83.0 论文转换出色
4. 版本演进与 RL 训练 版本时间线 时间 版本 关键更新 2025.02.25 v0.1.58 🎉 初始公开发布 + Demo 2025.03.17 v0.1.60 采样温度优化,性能提升 2025.05.19 v0.1.68 olmOCR-Bench 发布,得分 77.4 2025.05.23 v0.1.70 Docker 官方支持 2025.06.17 v0.1.75 SGLang →vLLM 推理引擎切换 2025.07.23 v0.2.0 训练代码开源(SFT+GRPO) 2025.07.24 v0.2.1 新模型 FP8,Bench +3 分,更快更稳 2025.08.13 v0.3.0 修复自动旋转 + 空白页幻觉 2025.10.21 v0.4.0 olmOCR-2-7B-1025-FP8,RL 训练,Bench +4 分
v0.4.0 核心突破:RL 训练 + Unit Test Rewards olmOCR v1 → 纯 SFT 监督微调 olmOCR v2 → SFT + GRPO 强化学习 创新点:Unit Test Rewards 传统 RLHF:人类标注偏好 → 训练奖励模型 → PPO olmOCR v2:编写"单元测试"作为奖励信号 → GRPO 训练 优势: ✅ 无需人工标注偏好数据 ✅ 奖励信号精确可控 ✅ 可针对特定错误类型(如表格错位、公式乱码)定向优化 ✅ Bench 得分从 78.x → 82.4,提升约 4 分5. 安装指南 系统依赖(Ubuntu/Debian) sudo apt-get updatesudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts\ fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools创建独立环境 conda create-n olmocrpython = 3.11 conda activate olmocr⚠️ olmocr 依赖较复杂,务必使用全新环境!
四种安装方式 方式 命令 适用场景 轻量安装 pip install olmocr仅用远程推理,无 GPU 本地 GPU pip install olmocr[gpu] --extra-index-url https://download.pytorch.org/whl/cu128本地 12GB+ 显存 Beaker 集群 pip install olmocr[beaker]AI2 Beaker 集群 评测套件 pip install olmocr[bench]运行 olmOCR-Bench
GPU 加速推荐 # 安装 FlashInfer 加速推理(强烈推荐) pipinstall https://download.pytorch.org/whl/cu128/flashinfer/flashinfer_python-0.2.5%2Bcu128torch2.7-cp38-abi3-linux_x86_64.whl故障排除 # "too many open files" 错误 ulimit -n 65536 硬件需求 配置 最低要求 GPU NVIDIA 12GB+ VRAM(RTX 4090 / L40S / A100 / H100 已测试) 磁盘 30GB 可用空间 模型 olmOCR-2-7B-1025-FP8(FP8 量化,7B 参数)
6. 使用实战 单个 PDF 转换 # 下载样例 PDF curl -o olmocr-sample.pdf https://olmocr.allenai.org/papers/olmocr_3pg_sample.pdf# 转换为 Markdown olmocr ./localworkspace--markdown --pdfs olmocr-sample.pdf# 查看结果 cat localworkspace/markdown/olmocr-sample.md图像文件转换 olmocr ./localworkspace--markdown --pdfs random_page.png批量 PDF 转换 olmocr ./localworkspace--markdown --pdfs tests/gnarly_pdfs/*.pdf使用远程推理服务器 olmocr ./localworkspace\ --server http://remote-server:8000/v1\ --model allenai/olmOCR-2-7B-1025-FP8\ --markdown \ --pdfs *.pdf输出说明 ./localworkspace/ ├── markdown/ # Markdown 输出(--markdown 时生成) │ ├── doc1.md │ ├── doc2.md │ └── ... └── dolma/ # Dolma 格式输出(训练数据格式) └── ...常用参数 参数 说明 默认值 --markdown同时输出 Markdown 文件 关 --workers并行 Worker 数 1 --pages_per_group每组页数 — --apply_filter过滤英文非表单/SEO 垃圾 关 --guided_decoding启用引导解码 关 --max_page_retries单页最大重试次数 — --stats查看工作区统计 —
7. 云端推理:无需 GPU 轻量安装 # 无需 GPU 依赖! pipinstall olmocr自建 vLLM 服务 vllm serve allenai/olmOCR-2-7B-1025-FP8 --max-model-len16384 已验证云端提供商 提供商 输入价格/1M token 输出价格/1M token Cirrascale $0.07 $0.15 DeepInfra $0.09 $0.19 Parasail $0.10 $0.20
Cirrascale 示例 olmocr ./workspace\ --server https://ai2endpoints.cirrascale.ai/api\ --api_key sk-XXXXXXX\ --workers 1 \ --max_concurrent_requests 20 \ --model olmOCR-2-7B-1025\ --pdfs tests/gnarly_pdfs/*.pdfDeepInfra 示例 olmocr ./workspace\ --server https://api.deepinfra.com/v1/openai\ --api_key DfXXXXXXX\ --workers 1 \ --max_concurrent_requests 20 \ --model allenai/olmOCR-2-7B-1025\ --pdfs tests/gnarly_pdfs/*.pdf8. 多节点集群:百万 PDF 并行 AWS S3 多节点方案 # 节点 1:启动 + 添加 PDF olmocr s3://my_s3_bucket/pdfworkspaces/exampleworkspace\ --pdfs s3://my_s3_bucket/jakep/gnarly_pdfs/*.pdf# 节点 2-N:自动加入工作队列 olmocr s3://my_s3_bucket/pdfworkspaces/exampleworkspace工作流程: S3 Bucket (pdfworkspaces/exampleworkspace) ├── work_queue/ ← 待处理 PDF 列表 ├── results/ ← 已完成结果 └── checkpoints/ ← 进度检查点 Worker 1 ──→ 拉取任务 ──→ 处理 PDF ──→ 写入结果 Worker 2 ──→ 拉取任务 ──→ 处理 PDF ──→ 写入结果 Worker N ──→ 拉取任务 ──→ 处理 PDF ──→ 写入结果 自动负载均衡,Worker 随时增减!Beaker 集群(AI2 内部) pipinstall olmocr[ gpu,beaker] --extra-index-url https://download.pytorch.org/whl/cu128 olmocr s3://my_s3_bucket/pdfworkspaces/exampleworkspace\ --pdfs s3://my_s3_bucket/jakep/gnarly_pdfs/*.pdf\ --beaker --beaker_gpus 4 9. Docker 部署 拉取镜像 # 含模型镜像(~30GB,开箱即用) docker pull alleninstituteforai/olmocr:latest-with-model# 基础镜像(自行管理模型下载) docker pull alleninstituteforai/olmocr:latest处理单个 PDF docker run--gpus all\ -v $( pwd ) :/workspace\ alleninstituteforai/olmocr:latest-with-model\ -c "olmocr /workspace/output --markdown --pdfs /workspace/sample.pdf" 批量处理 docker run--gpus all\ -v /path/to/pdfs:/input\ -v /path/to/output:/output\ alleninstituteforai/olmocr:latest-with-model\ -c "olmocr /output --markdown --pdfs /input/*.pdf" 交互式调试 docker run-it --gpus all alleninstituteforai/olmocr:latest-with-model10. 可复用代码模块 olmOCR 提供多个可独立使用的模块,适合二次开发:
模块 路径 功能 GPT-4o 银标数据生成 olmocr/data/buildsilver.py用 ChatGPT 4o 生成高质量 OCR 训练数据 语言过滤 + SEO 去噪 olmocr/filter/filter.py过滤英文文档 + 去除 SEO 垃圾 SFT 微调代码 olmocr/train/train.pyQwen2.5-VL 的 SFT 微调器 GRPO RL 训练器 olmocr/train/grpo_train.py强化学习训练(v0.4.0 核心) 合成数据生成 olmocr/synth/mine_html_templates.py从 HTML 模板挖掘生成合成训练数据 批量推理流水线 olmocr/pipeline.py百万级 PDF vLLM 批量处理 Dolma 文档查看器 olmocr/viewer/dolmaviewer.py查看 Dolma 格式的 PDF 转换结果
11. 竞品深度对比 OCR 工具全方位对比 对比维度 olmOCR v0.4.0 Mistral OCR Marker MinerU PaddleOCR-VL 综合得分 82.4 72.0 76.1 75.2 80.0 驱动方式 7B VLM 闭源 API 传统管线 传统管线 VLM 本地运行 ✅ ❌ ✅ ✅ ✅ 数学公式 ✅82.3 67.5 66.8 54.6 71.0 表格识别 ✅84.9 60.6 72.9 84.9 84.1 页眉页脚去除 ✅96.1 93.6 86.6 96.6 97.0 多栏还原 ✅83.7 71.3 80.0 78.2 79.9 Markdown 输出 ✅ ✅ ✅ ✅ ✅ 开源 ✅Apache 2.0 ❌ ✅ ✅ ✅ 训练代码 ✅SFT+GRPO ❌ ❌ ❌ ❌ 批量处理 ✅S3+多节点 API 有限 有限 有限 百万页成本 <$200 昂贵 低 低 低 论文 ✅2篇 arXiv ❌ ❌ ❌ ❌
关键差异化 olmOCR vs Mistral OCR API: ✅ 开源可本地部署 vs 闭源仅 API ✅ 82.4 vs 72.0 综合得分(+10.4) ✅ 数学公式 82.3 vs 67.5 ✅ 表格 84.9 vs 60.6 ✅ 百万页 < $200 vs API 按量计费 olmOCR vs Marker/MinerU: ✅ VLM 驱动 vs 传统管线 ✅ 数学公式和复杂排版更强 ✅ 批量处理 S3 多节点 ✅ 训练代码完全开源 ✅ 2篇学术论文支撑 olmOCR vs PaddleOCR-VL: ✅ 综合得分 82.4 vs 80.0 ✅ 数学公式 82.3 vs 71.0 ✅ 多栏 83.7 vs 79.9 ⚠️ PaddleOCR-VL 旧扫描得分更高(37.8 vs 47.7...等一下,实际是旧扫描得分 PaddleOCR 低)12. 成本分析 本地 GPU 运行 项目 成本 一次性投入 GPU(12GB+,如 RTX 4090) 每页成本 ~$0.0002(电费) 百万页成本 < $200
云端 API 运行 提供商 输入/1M token 输出/1M token 百万页估算 Cirrascale $0.07 $0.15 ~$50-150 DeepInfra $0.09 $0.19 ~$60-180 Parasail $0.10 $0.20 ~$70-200
与 Mistral OCR API 对比 方案 百万页成本 olmOCR 本地 < $200 olmOCR + Cirrascale ~$50-150 Mistral OCR API 显著更高
13. 优缺点与使用建议 ✅ 优点 维度 评分 说明 转换质量 ⭐⭐⭐⭐⭐ olmOCR-Bench 82.4,数学/表格/多栏全优 开源程度 ⭐⭐⭐⭐⭐ Apache 2.0 + 模型权重 + 训练代码全开源 成本 ⭐⭐⭐⭐⭐ < $200/百万页,本地运行近乎免费 易用性 ⭐⭐⭐⭐ 一行命令转换,但需 GPU + 环境配置 扩展性 ⭐⭐⭐⭐⭐ S3 多节点 + Beaker 集群 + Docker 学术背书 ⭐⭐⭐⭐⭐ AI2 出品 + 2 篇 arXiv 论文 云端支持 ⭐⭐⭐⭐ 三家 API 验证,轻量安装无 GPU 也可用
⚠️ 注意事项 事项 说明 需要 GPU 12GB+ VRAM,消费级 RTX 4090 可用 环境依赖 必须用全新 conda 环境 仅 Linux 系统依赖(poppler等)面向 Ubuntu/Debian Docker 体积 含模型镜像 ~30GB 旧扫描文档 旧扫描得分 47.7,仍有提升空间 Windows 需 WSL2 运行
💡 使用建议 先试在线 Demo :olmocr.allenai.org,快速体验效果轻量安装 + 云端 API :无 GPU 时用 DeepInfra/Cirrascale,pip install olmocr即可本地 GPU 用 FP8 模型 :olmOCR-2-7B-1025-FP8,12GB 显存即可批量处理用 S3 模式 :多 Worker 并行,百万级 PDF 无压力Docker 快速部署 :latest-with-model镜像开箱即用自己训练用 GRPO :训练代码完全开源,Unit Test Rewards 方法可复用关注版本更新 :从 v0.1.58 到 v0.4.0,每个版本都有显著提升14. 总结 olmOCR 是当前开源 PDF→Markdown 领域的顶尖项目 :
📝82.4 分 olmOCR-Bench 综合得分,数学公式/表格/多栏全面领先 🧠7B VLM 驱动,FP8 量化 12GB 显存可用 💰< $200 / 百万页 ,本地运行近乎免费 🔬RL 训练创新 :Unit Test Rewards + GRPO,arXiv 两篇论文 📦全开源 :模型权重 + SFT/GRPO 训练代码 + 推理流水线 🌐灵活部署 :本地 GPU / 云端 API / Docker / S3 多节点 🏢AI2 出品 :AllenNLP 团队维护,学术 + 工程双保障 推荐指数:⭐⭐⭐⭐⭐
无论你是要把论文 PDF 转成训练数据,还是要批量处理企业文档,olmOCR 都是当前最好的开源选择。7B 模型 + RL 训练 + 全开源 + 超低成本,PDF 转 Markdown 就该这么简单。
📢 项目地址:https://github.com/allenai/olmocr 🌐 在线体验:https://olmocr.allenai.org/ 📄 论文 v1:arXiv 2502.18443 📄 论文 v2:arXiv 2510.19817 🐳 Docker:Docker Hub
标签:#olmOCR #AI2 #PDF转Markdown #OCR #VLM #RL训练 #GRPO #文档处理