論文 · arXiv 2606.23050
Unlimited OCR Works
3行まとめ
- 🎯 標準的なLLMベースのOCRデコーダは、長時間の複数ページ文書転記において、線形なKVキャッシュの増大と生成速度の低下に悩まされている。
- 🔧 デコードトークンがすべてのプレフィックス/視覚トークンへグローバルにアテンションを払いつつ、直近の出力トークンの一定因果ウィンドウ()のみを保持するReference Sliding Window Attention(R-SWA)を採用。
- 📈 OmniDocBench v1.5で全体スコア93.23%(DeepSeek OCRから+6.22%)を達成し、長い出力に対しても一定の生成レイテンシを維持。
概要
近年、DeepSeek OCRに代表されるエンドツーエンドのOCRモデルが、再びOCR技術に大きな注目を集めています。大規模言語モデル(LLM)をデコーダとして採用することで、言語の事前分布を活用でき、OCR性能が向上するという見解が広く支持されています。しかし、その弊害も明白です。出力シーケンスが長くなるにつれて、蓄積されるKVキャッシュがメモリ消費量を押し上げ、生成速度を次第に低下させます。これは、長時間の書き写し作業でも効率の低下を示さない人間とは対照的です。本テクニカルレポートでは、人間の構文解析作業メモリ(ワーキングメモリ)を模倣するように設計されたモデル「Unlimited OCR」を提案します。DeepSeek OCRをベースラインとし、デコーダ内の全アテンション層を提案手法であるReference Sliding Window Attention(R-SWA)に置き換えることで、デコードプロセス全体を通じてKVキャッシュを一定に維持しながら、アテンションの計算コストを削減します。DeepSeek OCRのエンコーダの高い圧縮率と独自の一定KVキャッシュ設計を組み合わせることで、Unlimited OCRは標準的な最大長32Kの条件下において、単一のフォワードパスで数十ページの文書を転記することが可能です。さらに重要な点として、R-SWAは汎用的なパース用アテンション機構であり、OCRにとどまらず、ASRや翻訳などのタスクにも同様に適用できます。コードおよびモデルの重みは http://github.com/baidu/Unlimited-OCR で公開されています。
英語の原文概要
Recently, end-to-end OCR models, exemplified by DeepSeek OCR, have once again thrust OCR into the spotlight. A widely held view is that employing a large language model (LLM) as the decoder allows the model to leverage the prior distribution of language, leading to improved OCR performance. However, the downside is equally evident: as the output sequence lengthens, the accumulated KV cache drives up memory consumption and progressively slows down generation. This stands in stark contrast to humans, who exhibit no such decline in efficiency during long-horizon copying tasks. In this technical report, we propose Unlimited OCR, a model designed to emulate human parsing working memory. Taking DeepSeek OCR as the baseline, we replace all attention layers in the decoder with our proposed Reference Sliding Window Attention (R-SWA), which reduces attention computation costs while maintaining a constant KV cache throughout the entire decoding process. By combining the high compression rate of DeepSeek OCR's encoder with our constant KV cache design, Unlimited OCR can transcribe dozens of pages of documents in a single forward pass under a standard maximum length of 32K. More importantly, R-SWA is a general-purpose parsing attention mechanism - beyond OCR, it is equally applicable to tasks such as ASR, translation, etc. Codes and model weights are publicly available at http://github.com/baidu/Unlimited-OCR.
論文解説
問題と動機
人間は、元の参照資料へのアクセスを保ちながら、局所的な文脈を追跡するために作業メモリ(ワーキングメモリ)を利用することで、速度を落とさずに数百ページの書き写しや数時間の音声翻訳を継続して行えます。これとは対照的に、現在のマルチモーダル大規模言語モデル(MLLM)や高密度OCRシステムは、長期的な構文解析に苦慮しています。既存のシステムは通常、ステップごとにメモリをリセットするページ単位の for-loop 方式で複数ページ文書を処理しており、これは真の連続処理ではなく対症療法的なエンジニアリングの回避策にすぎません。
エンドツーエンドモデルが長いデコードシーケンスを試みる際、標準的なマルチヘッドアテンション(MHA)は出力長 に比例してキー・バリュー(KV)キャッシュを線形に蓄積します。これにより、GPUメモリ消費量が漸次増大し、レイテンシが低下します。また、再帰的な状態更新を伴う線形アテンションモデルも、状態更新によって視覚的な参照特徴が徐々にぼやけてしまうため上手く機能しません。
主なアイデア
- Reference Sliding Window Attention (R-SWA): 生成されたトークンは、すべての静的プレフィックス参照トークン(視覚表現および指示文)にグローバルにアテンションを払う一方、局所的には直前の 個の出力トークンにのみアテンションを向けます(デフォルトは )。
- 一定のデコードKVキャッシュ(Constant Decoding KV Cache): 生成バッファ内で より古いトークンをFIFOキュー経由で破棄することにより、デコードキャッシュのフットプリントは厳密に を上限とし、ステップごとの一定レイテンシと一定のGPUメモリ使用量を保証します。
- 高圧縮の視覚プレフィックス: DeepSeek OCRのDeepEncoder( の画像を16倍圧縮して256トークンに削減)と組み合わせることで、標準のコンテキスト長制限を超えることなく、単一パスで数十ページを事前入力(prefill)できます。
手法
Unlimited OCRはDeepSeek OCRをベースラインとして構築されており、固定されたDeepEncoder(SAM-ViTとCLIP-ViTのカスケード)と、3Bパラメータ(有効化パラメータ500M)のMixture-of-Experts(MoE)LLMデコーダを組み合わせています。デコーダ内のすべての標準MHA層はR-SWAに置き換えられます。
数式による定式化
デコードステップ における生成トークンに対し、アクセス可能なアテンション集合 は2つのセグメントで構成されます:
ここで、 は長さ の静的プレフィックスセグメントであり、 は生成トークンに対する因果スライディングウィンドウです:
トークン から位置 へのアテンション重み は以下の通りです:
出力表現は、アクセス可能集合にわたって集約されます:
KVキャッシュのスケーリング
標準的なMHAはデコード長 に対して線形にスケールしますが()、R-SWAはキャッシュ容量を制限します:
デコードが支配的になる場合( かつ )、相対的なキャッシュ比率はゼロに漸近します:
実験結果
- OmniDocBench v1.5: Unlimited OCRは全体スコア93.23%を達成し(87.01%のDeepSeek OCRに対して絶対値で+6.22%の向上)、テキスト編集距離(Text Edit Distance)を0.073から0.038に低減、表構造スコア(Table TEDS)を84.97%から90.93%へと引き上げました。
- OmniDocBench v1.6: 全体スコア93.92%を記録し、Qianfan-OCR(93.90%)やFireRed-OCR(93.26%)といった同世代のエンドツーエンドモデルと同等以上の性能を示しました。
- 推論速度: OmniDocBenchのテストにおいて、Unlimited OCRはDeepSeek OCRの4,951 TPSに対して5,580 TPS(12.7%の高速化)を達成しました。6,144トークン生成時の理論上の最大並行処理下では、DeepSeek OCRが5,822.87 TPSに低下するのに対し、Unlimited OCRは7,847.71 TPSを記録しました(35%の性能差)。
- 複数ページの長大文書OCR: 複数ページの書籍での評価において、Unlimited OCRは2ページで0.0362、20ページで0.0572、40ページ以上で0.1069の編集距離を達成しました(Distinct-35は96.90%を維持)。
限界と未解決の課題
- Prefillのボトルネック: 現在のモデルは依然として最大入力コンテキスト長(32Kトークン)によって制約されています。DeepEncoderが1ページを256トークンに圧縮するとはいえ、数百ページ規模になるとPrefill時のメモリを大幅に消費します。
- 極小文字における精度の低下: 複数ページ設定においてDeepEncoderの1024×1024 Baseモードを使用すると、アテンションウィンドウの損失ではなく解像度の制限に起因して、非常に小さなフォントサイズの認識エラーが発生します。
- 外部Prefillプール: 今後の展望として、128Kコンテキストでの学習や、ページをめくる動作を模倣した自律的かつ動的なPrefill KVフェッチ機構の構築が挙げられています。
重要用語
- Reference Sliding Window Attention (R-SWA)
- 各デコードトークンが、すべての静的なプレフィックス/視覚トークンへグローバルに、かつ直前の 個の生成トークンへ局所的にアテンションを払うアテンション機構。
- DeepEncoder
- SAM-ViTとCLIP-ViTをカスケード接続し、1024x1024の画像を256個の視覚トークンへと圧縮する16倍のトークン圧縮率を実現したビジュアルエンコーダ。
- Constant KV Cache
- FIFO破棄キューを用いてトークン数を に抑え、GPUメモリ消費とステップごとのレイテンシを一定に保つデコードキャッシュ構造。
- Long-horizon Parsing
- 中断のない単一のフォワードパス内で、複数ページの文書(例:20〜40ページ以上)を継続的に転記または構文解析すること。
- OmniDocBench
- テキスト編集距離、数式CDM、表構造(TEDS)、読み取り順序などを多角的に評価するドキュメント解析ベンチマーク。
- Flash Attention v3 Kernel Latency
- デコード中のステップごとのカーネル実行時間。標準MHAでは線形に増加するが、R-SWAでは一定に維持される。
- Distinct-n
- 生成中のハルシネーションや堂々巡りのループを測定するために使用される、全n-gramに対する一意なn-gramの比率として定義される多様性指標。
よくある質問
Unlimited OCRにおけるスライディングウィンドウ幅 $n$ のデフォルト値は何ですか?
因果デコードウィンドウ はデフォルトで128トークンに設定されており、これは進捗状況の追跡とページ内の連続性を保つために十分なサイズです。
R-SWAは通常のSliding Window Attention (SWA)とどう異なりますか?
通常のSWAはすべてのトークンにわたってローカルウィンドウを適用するため、視覚的な参照トークンが破棄されるか、段階的にぼやけてしまいます。R-SWAは、生成テキスト上でのみウィンドウをスライドさせながら、すべての視覚/プレフィックストークンには状態遷移なしでグローバルにアクセス可能な状態を維持します。
推論時にはいくつのパラメータが有効化されますか?
Unlimited OCRは全体で3BパラメータのMoEアーキテクチャを採用していますが、推論時にアクティブになるのは500Mパラメータのみです。
出力長が伸びるとDeepSeek OCRの速度が低下するのに対し、Unlimited OCRが低下しないのはなぜですか?
DeepSeek OCRはシーケンス長に応じてKVキャッシュサイズが増大する標準MHAに依存しており、アテンションの計算負荷とメモリオーバーヘッドが増加するためです。Unlimited OCRはKVキャッシュを で一定に保つため、ステップごとにフラットなレイテンシを維持できます。
このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。