Baidu Unlimited-OCR:ドキュメント解析における長さの壁を突破
Baiduの参照スライディングウィンドウアテンション(R-SWA)が、どのようにO(1)の恒定メモリによるドキュメント解析を実現し、ページごとのOCRを過去のものにするか。
Unlimited-OCR
メモリ複雑度O(1)を維持しながら、単一の前向伝播で数十ページのドキュメントを解析。
分割することなく、単一のパスで数十ページの文書を解析します。
KVキャッシュサイズが一定に保たれ、GPUのメモリ不足(OOM)を防ぎます。
ドキュメントの長さが増加しても、トークンあたりの生成速度は低下しません。
Baiduは、複雑なドキュメント数十ページを一定のメモリフットプリントで単一のフォワードパスで解析し、OmniDocBenchでSOTAの結果を達成した画期的なドキュメント解析モデル Unlimited-OCR を公式にオープンソース化しました。
ドキュメントインテリジェンスの進化
長年、ドキュメントのデジタル化は2段階のプロセスでした。まず個々のページ画像に対して光学文字認識(OCR)を実行し、その後にヒューリスティックやLLMを使用してレイアウト、表、読み順を再構築していました。最近ではマルチモーダルVLMがエンドツーエンドでの解析能力を示していますが、ドキュメントの長さによって厳しく制限されていました。50ページのPDFを一度に処理しようとすると、アテンション機構の二次関数的なスケールアップにより、すぐにGPUメモリが枯渇してしまいます。
長文ドキュメント処理におけるKVキャッシュのボトルネック
標準的なTransformerデコーダでは、モデルがテキストを生成する際、以前のすべてのトークンのKey-Value(KV)状態をメモリ(KVキャッシュ)に保存し、再計算を防ぎます。長文ドキュメントを書き写す場合、出力テキストは数千トークンに及ぶことがあります。これによりKVキャッシュが線形に増加し、自力アテンションにおける二次関数的なメモリ消費を引き起こします。結果として推論が極めて遅くなり、最終的にはメモリ不足(OOM)エラーでシステムがクラッシュします。
Memory Footprint Comparison (KV Cache)
Memory demands inflate rapidly as the output grows. Results in Out-of-Memory (OOM) crashes on long documents.
Memory footprint remains perfectly flat. The model only remembers the visual source and the immediate text window.
参照スライディングウィンドウアテンション (R-SWA) の登場
人間が文書を書き写すときの認知プロセス(元のページ(参照)を見ながら、直前に書いた少数の言葉だけを短期記憶に留める)から着想を得て、R-SWAはアテンションを2つの部分に分割します:
完全な視覚的参照
デコーダは、ドキュメントページの完全な視覚的特徴(参照)に常にアテンションを向けることができ、視覚的コンテキストを失いません。
スライディングウィンドウテキストアテンション
デコーダは、生成された履歴全体ではなく、最近生成された固定スライディングウィンドウ内のテキストトークン(デフォルトは128トークン)のみにアテンションを向けます。
一定のKVキャッシュ
テキスト履歴へのアテンションを制限することで、KVキャッシュサイズが一定に保たれます。これにより、生成中のO(1)のメモリ複雑度とトークンごとのフラットなレイテンシが実現します。
比較:従来のOCR vs. Unlimited-OCR
| 機能 | 従来のページ単位OCR | Baidu Unlimited-OCR |
|---|---|---|
| 最大ドキュメント長 | 1 - 2 ページ(1回あたり) | 無制限(50ページ以上でテスト済み) |
| メモリ複雑度 | O(N²) 二次的増加 | O(1) 一定メモリ |
| ページ結合エラー | 高い(表や文の断裂) | ゼロ(シームレスなエンドツーエンド解析) |
| トークンあたりのレイテンシ | 指数関数的に増加 | 完全に平坦な直線 |
技術の裏側:アーキテクチャと効率性
Unlimited-OCRは、DeepSeek-OCRのベースライン上に構築されており、高度に圧縮されたSAM-ViT-B + CLIP-Lビジョンエンコーダを利用しています。デコーダの標準的な自力アテンション層をR-SWAモジュールに置き換えています。モデルはMixture-of-Experts(MoE)設計を採用しています:
- 30億総パラメータ: 広範な多言語ドキュメントデータセットで訓練された有能なベースモデル。
- 5億アクティブパラメータ: 推論中には一部のエキスパートのみがアクティブになり、非常に高いスループットと低消費電力を実現します。
- 業界最高水準の精度: OmniDocBench v1.5ベンチマークで 93.23%の総合スコア を獲得し、新たなSOTAを確立しました。
Unlimited-OCRを始める
BaiduはMITライセンスのもとでUnlimited-OCRをリリースしました。モデルの重みをダウンロードし、ローカルで推論を実行したり、ドキュメント処理パイプラインに統合したりできます。一般的なコンシューマGPU1枚で快適に動作します。
インストールと実行
git clone https://github.com/baidu/Unlimited-OCR.gitよくある質問
Unlimited-OCRの最大ページ制限はどれくらいですか?▼
一般的なハードウェアで動作しますか?▼
商用利用は可能ですか?▼
コミュニティの話題
長文ドキュメント生成時の一定のKVキャッシュはゲームチェンジャーです。ついにメモリ不足エラーなしで50ページのレポートを解析できるようになります!
Hugging Faceのスペースデモをテストしました。速度は1ページ目から30ページ目まで完全に一定のままでした。Baiduの素晴らしい仕事です。
MoE(総3B / アクティブ500M)を使用しているため、単一のコンシューマGPUで高いスループットで実行できます。統合するのが楽しみです。