数十ページの契約書や研究論文をOCRするたびに、GPUメモリが足りなくなってページごとに分割する——そんな経験はありませんか。

Baiduが2026年6月22日に公開したUnlimited OCRは、新しいアテンション機構R-SWA(Reference Sliding Window Attention)でこの壁を取り除きます。出力が長くなってもKVキャッシュ(生成中に蓄積される中間表現)のサイズが一定のままなので、複数ページを1回の推論でまとめて解析できます。

この記事でわかること

  • 長文OCRでメモリが膨らむ原因と、R-SWAの解き方
  • Unlimited OCRの性能数値とDeepSeek OCR・Mistral OCR 4との位置づけ
  • ローカル実行の方法と、導入時に押さえるべき制約

長文OCRが遅くなる本当の理由

エンドツーエンド型のOCRモデルは、LLM(大規模言語モデル)をデコーダーに使います。言語の文脈を活かせる一方、出力トークンが増えるたびにKVキャッシュも増え、GPUメモリと生成速度の両方が悪化します。

実務ではページ単位でループ処理し、各ページのたびにメモリをリセットするのが一般的です。Baiduの技術レポート(arXiv:2606.23050)は、既存モデルでは10ページすら1回の推論で処理できないと指摘しています。ページをまたいだ文脈も失われ、外部のオーケストレーション層が必須になります。

R-SWAがKVキャッシュを固定する仕組み

R-SWAは「参照入力は常に見える、自分の出力は直近だけ見える」という人間の写経行動をモデル化した機構です。

各出力トークンは次の2つだけに注目します。

  • 参照トークン全体 — OCRでは文書画像を圧縮したビジュアルトークンとプロンプト
  • 直近128トークン — すでに生成した出力の末尾(デフォルト値)

古い出力はキューから追い出され、キャッシュサイズは「参照トークン数 m + ウィンドウ幅 n(128)」で頭打ちになります。出力が1,000トークンでも10万トークンでも、キャッシュは同じ大きさのままです。

通常のスライディングウィンドウアテンションと違い、ビジュアルトークンは状態遷移に混ぜません。デコードが進んでも文書画像の特徴がぼやけず、認識精度の低下を防ぎます。

Unlimited OCRのアーキテクチャ概要

https://github.com/baidu/Unlimited-OCR

Unlimited OCRはDeepSeek OCRをベースに、デコーダーの全アテンション層をR-SWAに置き換えた3BパラメータのMoE(Mixture of Experts)モデルです。推論時に活性化するのは500Mパラメータだけです。エンコーダーのDeepEncoderは変更せず、約200万枚の文書データで4,000ステップの継続学習を行いました(学習は128基のA800 GPU、バッチサイズ256、最大シーケンス長32,768トークン)。

DeepEncoderは1,024×1,024のページ画像を256トークンに圧縮する16倍圧縮率を持ちます。マルチページ処理では1024×1024のBaseモードを使い、最大32,768トークンまで1回の推論で数十ページを処理できます。ライセンスはMITで、Hugging FaceとGitHubからモデル重みとコードを取得できます。

ベンチマークと競合との比較

文書解析の標準ベンチマークOmniDocBenchでの結果は次のとおりです(Baidu技術レポートより)。

モデル OmniDocBench v1.5 OmniDocBench v1.6
DeepSeek OCR(ベースライン) 87.01
Unlimited OCR 93.23(+6.22) 93.92
Mistral OCR 4 93.07

テキスト編集距離・数式認識・表構造抽出の各指標でもDeepSeek OCRを上回り、精度と効率のトレードオフは発生していません。スループットは5,580 TPS(トークン/秒、512並列)で、ベースラインの4,951 TPSより12.7%速いです。出力長6,000トークン付近では最大35%の差が開きます。

翌日の6月23日にMistral AIもMistral OCR 4を公開し、OmniDocBenchで93.07点を記録しました。両者のスコアはほぼ互角ですが、注力点は異なります。Mistral OCR 4は段落レベルのバウンディングボックスや信頼度スコアなど構造化出力と、自社インフラへの単一コンテナ展開を前面に出しています。Unlimited OCRは長文を1パスで処理する定数メモリアーキテクチャが主眼です。パイプラインのボトルネックが文書長とメモリか、出力形式と主権的デプロイかで選び分ける形になります。

Hacker Newsのスレッドは446ポイントを集め、RTX 4090で200ページの日本語文法PDFを約1時間で転写したというユーザー報告も話題になりました(独立検証はされていません)。

使い方と実務への影響

https://huggingface.co/baidu/Unlimited-OCR

単一画像はHugging Face Transformersのinferメソッド、複数ページやPDFはinfer_multiで処理します。PDFはPyMuPDFでページ画像に変換してから渡します。SGLangサーバー経由のOpenAI互換APIや、Hugging Face Spacesのブラウザデモも用意されています。

定数KVキャッシュにより、GPU割り当てを最悪ケースの文書長に合わせて積み増す必要がなくなります。ページ分割のオーケストレーション層を外せるため、RAGパイプラインの前処理が簡素化されます。BaiduはR-SWAをOCR以外の参照ベースタスク——音声認識での長時間音声、機械翻訳、文書QA——にも応用可能と述べています。

知っておくべき制約

R-SWAの128トークン出力ウィンドウは、定義や脚注がウィンドウ外に出ると直接参照できないという構造上の制約を生みます。手書き文字、劣化したスキャン、非標準フォント、複雑なLaTeX数式は依然として難しいカテゴリです。Parseur創業者のJoss82氏はHacker Newsで「OCRは2026年でもまだ苦手な領域がある」と指摘し、分野全体の課題として議論しました。

32,768トークンの上限は「無限」ではありません。ページ数が増えるとプリフィル側のビジュアルトークンが長くなり、論文では128Kコンテキストへの拡張を今後の課題としています。OmniDocBenchのスコアは学術論文や財務報告書など構造化された文書向けであり、本番環境のあらゆる文書タイプを保証するものではありません。

試すならここから

Hugging Face Spacesのブラウザデモか、GitHubリポジトリのinfer_multiで手元のPDFを1本流してみてください。ページ分割なしで通るか、表や数式の品質が要件を満たすかを確認したうえで、RAGパイプラインへの組み込みを検討するのが現実的な進め方です。