MarkTechPost(RSS)
精选
73AI 编辑部评分,满分 100

百度发布Unlimited OCR:3B参数MoE模型,KV缓存恒定实现长文档高效解析

2026-06-25 13:39· 52天前· Asif Razzaq
AI 导读

百度推出Unlimited OCR,一个3B参数的MoE模型,推理时仅激活500M参数。其核心创新Reference Sliding Window Attention(R-SWA)将KV缓存大小固定为Lm + n(n默认128),内存和延迟不随输出长度增长。模型基于DeepSeek OCR继续训练4000步,支持32K最大长度,通过DeepEncoder实现16倍token压缩。在OmniDocBench v1.5上整体得分93.23,超出DeepSeek OCR基线6.22分;v1.6得分93.92为最高。Base模式下吞吐达5580 TPS,比DeepSeek OCR提升12.7%,6000 token输出时延迟低35%。适用于整本书转录等场景,代码与权重已在HuggingFace开源。

推荐理由

Baidu这个OCR模型用R-SWA把KV缓存压成常量,长文档解析终于不用越跑越慢了。MIT开源,3B总参但推理只消500M,做文档管线的可以直接接。

正文 · AI 翻译

大多数端到端 OCR 模型会随着输出增长而变慢。每生成一个 token,KV cache 就会增加。内存占用上升,生成速度拖慢。解析数十页文档变得不切实际。百度的 Unlimited OCR 直接解决了这个问题。它用另一种设计替换了解码器的注意力机制,使内存占用保持恒定。

摘要

  • Unlimited OCR 是一个 3B 参数的混合专家模型,其中仅有 500M 参数处于激活状态。
  • 它用参考滑动窗口注意力(R-SWA)替换了解码器注意力机制,使 KV cache 保持恒定。
  • 该模型在 32K 最大长度限制下,单次前向传播即可解析数十页文档。
  • 它在 OmniDocBench v1.5 上取得了 93.23 的分数,比 DeepSeek OCR 基线高出 6.22 分。
  • 它基于 DeepSeek OCR 通过持续训练构建,而非从头开始训练。

什么是 Unlimited OCR?

Unlimited OCR 以 DeepSeek OCR 作为基线。它保留了 DeepEncoder 和混合专家解码器。MoE 设计拥有总计 3B 参数,但在推理时仅激活 500M 参数。

DeepEncoder 是压缩引擎。它将窗口注意力下的 SAM-ViT 与全局注意力下的 CLIP-ViT 级联起来。在桥接处,它应用了 16 倍 token 压缩。一张 1024×1024 的 PDF 图像仅变成 256 个视觉 token。更少的输入 token 意味着更小的预填充。

DeepEncoder 原生支持五种分辨率模式,Unlimited OCR 保留了其中两种。“基础”模式以 1024×1024 运行,适用于多页文档处理。“高达”模式使用动态分辨率,适用于单页文档。

https://arxiv.org/pdf/2606.23050

R-SWA 如何保持缓存恒定

其贡献在于参考滑动窗口注意力。标准多头注意力会为每个 token 存储一个键和值。随着输出长度 T 增长,缓存也随之增长。其大小为 CMHA(T) = Lm + T。内存和延迟会无限制地攀升。

R-SWA 打破了这种关联。每个生成的 token 会关注所有参考 token,即视觉 token 和提示词。它还会关注前 n 个输出 token,其中 n 默认为 128。所有更早的 token 都会被驱逐。缓存变成一个大小为 m + n 的固定队列。

其大小为 CR-SWA(T) = Lm + min(n, T) ≤ Lm + n。它受一个常数限制。当 T 远大于 n 时,缓存比率趋近于零。因此内存保持平稳,每步延迟也保持平稳。

研究团队将此与软遗忘进行类比。一个人抄写书籍时,会扫视原文和最后几个字,而不会重读已抄写的所有内容。视觉 token 从不经历状态更新,从而避免了线性注意力中出现的渐进式模糊。下方的交互式模拟器允许你调整 T 值,并观察两个缓存如何响应。

训练方式

Unlimited OCR 并非从头开始训练。研究团队从 DeepSeek OCR 检查点继续训练了 4,000 步。他们冻结了 DeepEncoder,仅训练解码器。训练使用了约 200 万份文档样本,在 8×16 块 A800 GPU 上进行。训练数据以 9:1 的比例偏向单页数据,多页样本则通过拼接方式构建。

基准测试

研究团队在 OmniDocBench v1.5 和 v1.6 上进行了评估。主要发现/统计结果是 v1.5 上的总体得分为 93.23,比 DeepSeek OCR 基线高出 6.22 分。下表比较了三个相关模型。这三个模型均采用相同的 3B-A0.5B 规模。

指标 (v1.5)DeepSeek-OCRDeepSeek-OCR 2Unlimited-OCR
总体 ↑87.0189.1793.23
文本编辑 ↓0.0730.0490.038
公式 CDM ↑83.3786.8592.61
表格 TEDS ↑84.9785.6090.93
阅读顺序编辑 ↓0.0860.0600.045

在 OmniDocBench v1.6 上,Unlimited OCR 总体得分达到 93.92。这是研究论文 v1.6 比较中的最高分。在文本、公式和表格识别方面均保持优势。

速度也有所提升。在 OmniDocBench 的 Base 模式下,Unlimited OCR 达到 5,580 TPS,而 DeepSeek OCR 为 4,951 TPS,提升了 12.7%。随着输出长度增加,差距进一步拉大。在 6,000 token 的输出上限下,DeepSeek OCR 落后 Unlimited OCR 35%。

适用场景

恒定缓存特别适合那些逐页处理系统表现不佳的工作负载。

  • 整本书籍转录:输入 40 页以上的内容,并一次性连续解析。在 40 页以上时,报告的编辑距离保持在 0.11 以下,Distinct-35 达到 96.90%。
  • 文档解析流水线:在单次前向传播中提取文本、表格、公式和阅读顺序。
  • 高吞吐量批量解析:附带的 infer.py 启动一个 SGLang 服务器,并对一个文件夹或 PDF 发送并发请求。
  • 超越 OCR:研究团队称 R-SWA 是一种通用的解析注意力机制,可应用于 ASR 和翻译。

运行方式:极简代码

Transformers 路径需要设置 trust_remote_code=True 以及 CUDA GPU。单图像解析使用 Gundam 模式。

import torch
from transformers import AutoModel, AutoTokenizer

name = "baidu/Unlimited-OCR"
tokenizer = AutoTokenizer.from_pretrained(name, trust_remote_code=True)
model = AutoModel.from_pretrained(
    name, trust_remote_code=True, use_safetensors=True,
    torch_dtype=torch.bfloat16,
).eval().cuda()

model.infer(
    tokenizer,
    prompt="<image>document parsing.",
    image_file="your_image.jpg",
    output_path="your/output/dir",
    base_size=1024, image_size=640, crop_mode=True,   # gundam mode
    max_length=32768,
    no_repeat_ngram_size=35, ngram_window=128,
    save_results=True,
)

多页和 PDF 解析在 Base 模式下调用 model.infer_multi,图像尺寸设为 image_size=1024。为满足生产环境吞吐量,SGLang 使用 fa3 注意力后端提供兼容 OpenAI 的 API。

优势与不足

优势:

  • 恒定 KV 缓存使得长输出场景下的内存和延迟保持平稳。
  • 在 OmniDocBench v1.5 和 v1.6 上取得端到端 SOTA 分数。
  • 仅 500M 活跃参数,推理成本低廉。
  • MIT 许可证、开放权重,同时支持双 Transformers 和 SGLang。
  • R-SWA 带来的提升在单页场景下未产生可测量的精度损失。

不足:

  • 解析并非真正无限制;32K 上下文仍对预填充阶段构成边界。
  • 尽管经过高度压缩,长预填充仍随页数累积而增长。
  • 多页运行仅使用 Base 模式,因此可能遗漏极小的文字。
  • ASR 和翻译迁移仍属未来工作,并非已交付成果。

来源:MarkTechPost(RSS) · marktechpost.com

百度发布Unlimited OCR:3B参数MoE模型,KV缓存恒定实现长文档高效解析

MarkTechPost(RSS)·2026-06-25 13:39·52天前·Asif Razzaq
AI 导读

百度推出Unlimited OCR,一个3B参数的MoE模型,推理时仅激活500M参数。其核心创新Reference Sliding Window Attention(R-SWA)将KV缓存大小固定为Lm + n(n默认128),内存和延迟不随输出长度增长。模型基于DeepSeek OCR继续训练4000步,支持32K最大长度,通过DeepEncoder实现16倍token压缩。在OmniDocBench v1.5上整体得分93.23,超出DeepSeek OCR基线6.22分;v1.6得分93.92为最高。Base模式下吞吐达5580 TPS,比DeepSeek OCR提升12.7%,6000 token输出时延迟低35%。适用于整本书转录等场景,代码与权重已在HuggingFace开源。

正文 · AI 翻译

大多数端到端 OCR 模型会随着输出增长而变慢。每生成一个 token,KV cache 就会增加。内存占用上升,生成速度拖慢。解析数十页文档变得不切实际。百度的 Unlimited OCR 直接解决了这个问题。它用另一种设计替换了解码器的注意力机制,使内存占用保持恒定。

摘要

  • Unlimited OCR 是一个 3B 参数的混合专家模型,其中仅有 500M 参数处于激活状态。
  • 它用参考滑动窗口注意力(R-SWA)替换了解码器注意力机制,使 KV cache 保持恒定。
  • 该模型在 32K 最大长度限制下,单次前向传播即可解析数十页文档。
  • 它在 OmniDocBench v1.5 上取得了 93.23 的分数,比 DeepSeek OCR 基线高出 6.22 分。
  • 它基于 DeepSeek OCR 通过持续训练构建,而非从头开始训练。

什么是 Unlimited OCR?

Unlimited OCR 以 DeepSeek OCR 作为基线。它保留了 DeepEncoder 和混合专家解码器。MoE 设计拥有总计 3B 参数,但在推理时仅激活 500M 参数。

DeepEncoder 是压缩引擎。它将窗口注意力下的 SAM-ViT 与全局注意力下的 CLIP-ViT 级联起来。在桥接处,它应用了 16 倍 token 压缩。一张 1024×1024 的 PDF 图像仅变成 256 个视觉 token。更少的输入 token 意味着更小的预填充。

DeepEncoder 原生支持五种分辨率模式,Unlimited OCR 保留了其中两种。“基础”模式以 1024×1024 运行,适用于多页文档处理。“高达”模式使用动态分辨率,适用于单页文档。

https://arxiv.org/pdf/2606.23050

R-SWA 如何保持缓存恒定

其贡献在于参考滑动窗口注意力。标准多头注意力会为每个 token 存储一个键和值。随着输出长度 T 增长,缓存也随之增长。其大小为 CMHA(T) = Lm + T。内存和延迟会无限制地攀升。

R-SWA 打破了这种关联。每个生成的 token 会关注所有参考 token,即视觉 token 和提示词。它还会关注前 n 个输出 token,其中 n 默认为 128。所有更早的 token 都会被驱逐。缓存变成一个大小为 m + n 的固定队列。

其大小为 CR-SWA(T) = Lm + min(n, T) ≤ Lm + n。它受一个常数限制。当 T 远大于 n 时,缓存比率趋近于零。因此内存保持平稳,每步延迟也保持平稳。

研究团队将此与软遗忘进行类比。一个人抄写书籍时,会扫视原文和最后几个字,而不会重读已抄写的所有内容。视觉 token 从不经历状态更新,从而避免了线性注意力中出现的渐进式模糊。下方的交互式模拟器允许你调整 T 值,并观察两个缓存如何响应。

训练方式

Unlimited OCR 并非从头开始训练。研究团队从 DeepSeek OCR 检查点继续训练了 4,000 步。他们冻结了 DeepEncoder,仅训练解码器。训练使用了约 200 万份文档样本,在 8×16 块 A800 GPU 上进行。训练数据以 9:1 的比例偏向单页数据,多页样本则通过拼接方式构建。

基准测试

研究团队在 OmniDocBench v1.5 和 v1.6 上进行了评估。主要发现/统计结果是 v1.5 上的总体得分为 93.23,比 DeepSeek OCR 基线高出 6.22 分。下表比较了三个相关模型。这三个模型均采用相同的 3B-A0.5B 规模。

指标 (v1.5)DeepSeek-OCRDeepSeek-OCR 2Unlimited-OCR
总体 ↑87.0189.1793.23
文本编辑 ↓0.0730.0490.038
公式 CDM ↑83.3786.8592.61
表格 TEDS ↑84.9785.6090.93
阅读顺序编辑 ↓0.0860.0600.045

在 OmniDocBench v1.6 上,Unlimited OCR 总体得分达到 93.92。这是研究论文 v1.6 比较中的最高分。在文本、公式和表格识别方面均保持优势。

速度也有所提升。在 OmniDocBench 的 Base 模式下,Unlimited OCR 达到 5,580 TPS,而 DeepSeek OCR 为 4,951 TPS,提升了 12.7%。随着输出长度增加,差距进一步拉大。在 6,000 token 的输出上限下,DeepSeek OCR 落后 Unlimited OCR 35%。

适用场景

恒定缓存特别适合那些逐页处理系统表现不佳的工作负载。

  • 整本书籍转录:输入 40 页以上的内容,并一次性连续解析。在 40 页以上时,报告的编辑距离保持在 0.11 以下,Distinct-35 达到 96.90%。
  • 文档解析流水线:在单次前向传播中提取文本、表格、公式和阅读顺序。
  • 高吞吐量批量解析:附带的 infer.py 启动一个 SGLang 服务器,并对一个文件夹或 PDF 发送并发请求。
  • 超越 OCR:研究团队称 R-SWA 是一种通用的解析注意力机制,可应用于 ASR 和翻译。

运行方式:极简代码

Transformers 路径需要设置 trust_remote_code=True 以及 CUDA GPU。单图像解析使用 Gundam 模式。

import torch
from transformers import AutoModel, AutoTokenizer

name = "baidu/Unlimited-OCR"
tokenizer = AutoTokenizer.from_pretrained(name, trust_remote_code=True)
model = AutoModel.from_pretrained(
    name, trust_remote_code=True, use_safetensors=True,
    torch_dtype=torch.bfloat16,
).eval().cuda()

model.infer(
    tokenizer,
    prompt="<image>document parsing.",
    image_file="your_image.jpg",
    output_path="your/output/dir",
    base_size=1024, image_size=640, crop_mode=True,   # gundam mode
    max_length=32768,
    no_repeat_ngram_size=35, ngram_window=128,
    save_results=True,
)

多页和 PDF 解析在 Base 模式下调用 model.infer_multi,图像尺寸设为 image_size=1024。为满足生产环境吞吐量,SGLang 使用 fa3 注意力后端提供兼容 OpenAI 的 API。

优势与不足

优势:

  • 恒定 KV 缓存使得长输出场景下的内存和延迟保持平稳。
  • 在 OmniDocBench v1.5 和 v1.6 上取得端到端 SOTA 分数。
  • 仅 500M 活跃参数,推理成本低廉。
  • MIT 许可证、开放权重,同时支持双 Transformers 和 SGLang。
  • R-SWA 带来的提升在单页场景下未产生可测量的精度损失。

不足:

  • 解析并非真正无限制;32K 上下文仍对预填充阶段构成边界。
  • 尽管经过高度压缩,长预填充仍随页数累积而增长。
  • 多页运行仅使用 Base 模式,因此可能遗漏极小的文字。
  • ASR 和翻译迁移仍属未来工作,并非已交付成果。

来源:MarkTechPost(RSS)· marktechpost.com