

我们发布了 jina-ocr-v1,这是一个拥有 34 亿参数的文档解析器,每个词元约有 5.7 亿活跃解码器参数。它在 OmniDocBench v1.6 上得分为 91.14,在 olmOCR-Bench 上得分为 83.4,且以 2.57 页/秒的处理速度在十四个受测系统中拥有最高的页面吞吐量。在 NVIDIA L4 GPU 上,其推测解码头使解码速度几乎翻了一番,同时保持了解码的无损性。
该模型基于 DeepSeek-OCR 的压缩视觉编码器和混合专家解码器构建,并新增了两项特性。FastMTP 草稿头递归地将一个块应用于三个预测步骤,因此草稿参数不会随深度增加。训练后阶段在密集可验证奖励下运行,即每一项检查都是针对参考标准的确定性代码对比,并进行评分。基于这一骨干网络,训练后阶段在 olmOCR-Bench 上提升了 7.4 分,并优化了 OmniDocBench 的所有指标列。


tag模型与训练
长输出使得文档解析的解码成本昂贵。DeepSeek-OCR 通过压缩视觉编码器和紧凑的混合专家解码器消除了大部分成本,而 jina-ocr-v1 继承了这两者,并针对依然存在的自回归瓶颈进行了优化。

OCR 的输出是近乎确定性且具有局部结构的,这使其成为推测解码的理想工作负载。通常的构建方式是为每个预测深度附加一个草稿头,因此草稿参数会随着模型前瞻的深度而增加。FastMTP 使用单个密集块进行递归应用,进行 K=3 的步骤。验证器会贪婪地检查每个提议,并接受草稿与验证器一致的最长前缀,因此提交的序列等于验证器的贪婪序列,而推测过程仅改变输出所需的时间。
| 组件 | 规格 |
|---|---|
| 视觉编码器 | DeepEncoder (~3.8亿): SAM (8000万) → 16x 卷积 → CLIP-L (3亿) |
| 视觉词元 | 256 @ 1024x1024 (基础); 256+100n, n ≤ 9 (Gundam, ≤ 1,156/页) |
| 解码器 | DeepSeek-3B-MoE: 12 层, d = 1280, 64 个路由 + 2 个共享, top-6 |
| 活跃/总参数 | ~5.7亿 / ~30亿 (解码器); < 10亿 / ~34亿 (整个模型) |
| 词表 | 129,280 |
| 位置限制 | 32,768 (RoPE, θ = 106) |
| MTP 头 | 1 个共享密集块, 递归 K = 3 步 (FastMTP) |
模型规格。解码器输出 Markdown 格式,其中表格以 HTML 表示,公式以 LaTeX 表示。
训练数据提取自包括 olmOCR-mix、FinePDFs、LightOnOCR、MMTab 和 UniMER 在内的公共 OCR 语料库,外加刻意选择的困难源,如 Europeana 报纸、国会图书馆誊本和 NARA 养老金档案。基于规则的过滤器会剔除退化循环和重复项,视觉语言通道会对困难源进行重新标注。我们还出于一个特定原因合成页面:在自然页面上,公式和表格的奖励项仅适用于极少数样本,因此大多数滚动输出不带有结构性信号。JinaOCRSynth 为每页填充了可评分的公式和表格,并附带了单元测试。
训练后阶段运行有监督对齐、针对退化页面的鲁棒性微调以及 GRPO,并在外部循环的各轮次中重复。GRPO 奖励是可验证项的乘积,每一项均由针对参考转录的确定性代码计算得出。
| 组件 | 信号 | 作用 |
|---|---|---|
| 内容 | 混合 LaTeX/HTML 的归一化编辑距离 | 文本保真度 |
| 公式 | 公式字符串匹配 | 公式准确性 |
| 表格 | TEDS, TEDS-S, 表格编辑距离 | 结构恢复 |
| 结构有效性 | 括号平衡,标签闭合,表格完整性 | 格式规范性 |
| 单元测试 | 通过 olmOCR 风格的存在、顺序、数学和表格测试的比例 | 密集反馈 |
| 重复与格式 | 重复惩罚,HTML 一致性 | 退化控制 |
乘法奖励合成。大多数项都有底线值,因为在乘积模式下,一次检查失败就会移除本来正确页面的梯度。重复项没有底线值,因为退化循环是最容易膨胀内容得分的失败模式。
每一轮都会留下候选检查点池。代理在固定的评估预算下搜索合并配置,并使用单元测试和编辑距离检查对其进行评分,所选合并中的错误将驱动下一轮的收集。草稿头在循环选择的验证器上最后进行适配。
tag结果
| 模型 | 参数量 | ArXiv | OldScans-Math | Tables | OldScans | Multi-col | LongTiny | Hdr/Ftr | Base | 整体 |
|---|---|---|---|---|---|---|---|---|---|---|
| Gemini 3 Flash | – | 80.1 | 73.6 | 64.6 | 45.8 | 75.3 | 90.3 | 27.4 | – | – |
| Qwen3-VL-235B | 235B/22B | 88.4 | 81.2 | 86.7 | 49.6 | 85.9 | 88.9 | 33.6 | – | – |
| DeepSeek-OCR | 3B/570M | 77.5 | 74.5 | 77.3 | 33.1 | 67.3 | 83.0 | 96.1 | 99.3 | 76.0 |
| dots.mocr | 3B | 85.9 | 85.5 | 90.7 | 48.2 | 85.3 | 81.6 | 94.0 | 99.7 | 83.9 |
| olmOCR-2 | 8B | 82.9 | 82.1 | 84.3 | 48.3 | 84.3 | 81.4 | – | 99.7 | 82.4 |
| LightOnOCR-2 | 1B | 89.6 | 85.6 | 89.0 | 42.2 | 84.8 | 91.4 | 19.7 | 99.6 | 83.2 |
| chandra-ocr-2 | 4B | 86.9 | 89.1 | 92.1 | 51.1 | 82.1 | 93.7 | 91.4 | 99.9 | 85.8 |
| jina-ocr-v1 | 3B/570M | 86.1 | 82.3 | 88.8 | 42.6 | 85.5 | 93.2 | 88.7 | 99.9 | 83.4 |
olmOCR-Bench 测试结果。jina-ocr-v1 的整体得分为 83.4,比其训练基础 DeepSeek-OCR 高出 7.4 分,并领先于 8B 参数的 olmOCR-2。Hdr/Ftr(页眉/页脚)列测试的是文本缺失情况,即鼓励省略页眉和页脚,因此忠实于全页转录的系统在该项评分较低。
| 方法 | 参数量 | 整体 ↑ | TextEdit ↓ | FormulaCDM ↑ | TableTEDS ↑ | TableTEDS-S ↑ | ROEdit ↓ |
|---|---|---|---|---|---|---|---|
| Gemini 3 Flash | – | 92.62 | 0.066 | 95.16 | 89.29 | 93.51 | 0.172 |
| Qwen3-VL-235B | 235B/22B | 89.78 | 0.063 | 92.55 | 83.07 | 86.75 | 0.166 |
| DeepSeek-OCR-2 | 3B/570M | 90.25 | 0.050 | 91.84 | 83.89 | 87.75 | 0.144 |
| HunyuanOCR-1.5 | 1B | 94.74 | 0.039 | 94.50 | 93.67 | 94.71 | 0.129 |
| PaddleOCR-VL-1.6 | 0.9B | 96.34 | 0.033 | 97.53 | 94.76 | 97.10 | 0.128 |
| jina-ocr-v1 | 3B/570M | 91.14 | 0.046 | 93.28 | 84.68 | 89.01 | 0.142 |
OmniDocBench v1.6 测试结果。jina-ocr-v1 在 570M 激活参数下达到 91.14 分,在每一项指标上均优于 DeepSeek-OCR-2,并领先于体量大得多的 Qwen3-VL-235B。
tag在 L4 上使用投机采样
| 模式 | k | 输出 词元/s ↑ | 加速比 S ↑ | 接受率 | τ | c ↓ |
|---|---|---|---|---|---|---|
| Eager | 0 | 42.7 | 1.00x | – | – | 1.00 |
| Eager | 1 | 64.0 | 1.50x | 82.6% | 1.83 | 1.22 |
| Eager | 2 | 77.9 | 1.82x | 69.1% | 2.38 | 1.30 |
| Eager | 3 | 83.1 | 1.95x | 57.6% | 2.73 | 1.40 |
| Graph | 0 | 158.3 | 1.00x | – | – | 1.00 |
| Graph | 1 | 185.6 | 1.17x | 82.9% | 1.83 | 1.56 |
| Graph | 2 | 183.8 | 1.16x | 69.3% | 2.38 | 2.05 |
| Graph | 3 | 172.9 | 1.09x | 57.9% | 2.74 | 2.51 |
基于 olmOCR-Bench、NVIDIA L4、vLLM 0.20.1、批处理大小为 1 的 FastMTP 测试。τ 是每个投机步骤中平均提交的词元数(包含奖励词元),c = τ/S 是一个投机步骤相对于一个自回归步骤的开销成本。数据是在与上述图表不同的设备上测得。
草稿质量不依赖于执行模式,因为在 k = 3 时,Eager 模式下的 τ 为 2.73,CUDA 图模式下为 2.74。基准测试则会受此影响。CUDA 图将自回归解码从每秒 42.7 个词元提升至 158.3 个,而投机步骤的开销保持在 9 毫秒左右,因此其成本从 1.40 个自回归步骤上升至 2.51 个。增益主要取决于它所替代的验证步骤的成本,这使得 Eager 模式下的最佳深度为 k = 3,而在图模式下为 k = 1。
tag快速开始
最快的运行方式是使用 Jina Reader。将 r.jina.ai 指向一个 URL 并添加一个请求头:Reader 会抓取页面或 PDF,对其进行渲染,使用 jina-ocr-v1 处理结果,并返回 Markdown。无需部署,无需编写图像处理代码,且使用与平台其他服务相同的 API 密钥。
curl "https://r.jina.ai/https://example.com/document.pdf" \
-H "Authorization: Bearer $JINA_API_KEY" \
-H "X-Respond-With: jina-ocr-v1"添加 X-Page 参数可转录多页文档中的某一页。这两个参数均可在 Reader API 编辑器中找到,其中的切换开关会自动为你编写请求头。
若要直接访问模型,托管端点兼容 OpenAI 格式,只需使用 jina.ai 的 API 密钥即可。
curl https://api.jina.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ***" \
-d '{
"model": "jina-ocr-v1",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Transcribe the provided document image into a clean Markdown format, preserving the natural reading order."},
{"type": "image_url", "image_url": {"url": "https://example.com/document.png"}}
]
}]
}'
若要自行部署,权重和自定义模型代码包含在一个 Hugging Face 仓库中,加载时需设置 trust_remote_code=True。FastMTP 需要 vLLM 0.21 或更高版本,并在引擎启动前进行一次性的架构注册。
import sys
from huggingface_hub import snapshot_download
from PIL import Image
from vllm import LLM
sys.path.insert(0, snapshot_download('jinaai/jina-ocr-v1'))
from deepseek_ocr_mtp import DEFAULT_OCR_PROMPT, register, vllm_llm_kwargs, vllm_sampling_params
register()
llm = LLM(**vllm_llm_kwargs('jinaai/jina-ocr-v1',
num_speculative_tokens=3,
mtp_heads=1,
mtp_recursive=True))
image = Image.open('document.png').convert('RGB')
outputs = llm.chat(
[{'role': 'user', 'content': [{'type': 'image_pil', 'image_pil': image},
{'type': 'text', 'text': DEFAULT_OCR_PROMPT}]}],
sampling_params=vllm_sampling_params(max_tokens=4096),
)
print(outputs[0].outputs[0].text)
一个细节决定了是否能获得加速。辅助函数会注册 method="eagle" 的头,因为 FastMTP 是在递归隐藏状态反馈下训练的,而默认的 method="mtp" 会在每个草稿步骤重新回到目标模型上。Transformers 路径仅运行 MoE 解码器,会忽略 MTP 权重。
该模型还支持中英文的表格与公式元素级转录、标题生成、文档问答(VQA)以及关键信息提取。权重在 CC BY-NC 4.0 协议下发布。
tag结论
凭借 570M 的激活参数,jina-ocr-v1 处于两个基准测试的“准确率-参数量”前沿,并拥有我们测量过的所有系统中最高的页面吞吐量。两个关键杠杆实现了这一成果,且均无需更大的模型:对每个可验证的检查点进行分级奖励,以及针对最终验证器训练的草稿头。
输出长度值得进一步关注。词元吞吐量和页面吞吐量对系统的排名方式不同,且输出长度与解析质量无关,因此可以单独优化简洁性。在所有得分高于 83 分的系统中,jina-ocr-v1 的输出长度最短。






