Unlimited-OCRが注目すべき理由

2026年6月、BaiduはUnlimited-OCRプロジェクトをオープンソース化し、GitHubで急速に24,000以上のスターを獲得し、Hugging Faceでのダウンロード数は320万回を突破しました。核心的なセールスポイントは直接的です:わずか3Bパラメータのモデルで、ページ分割なし、コンテキスト損失なし、クラウド課金なしで、完全な100ページPDFを一度に読み取ることができます。

従来のOCRツール(Tesseract、PaddleOCR)はドキュメントをページごとに処理し、各ページを独立して認識します。ページをまたぐテーブル、参照関係、段落の一貫性がすべて失われます。クラウドOCRサービス(Google Vision、Azure Document Intelligence)は精度が高いですが、1000ページあたり1.5〜15ドルの料金がかかり、機密ドキュメントをサードパーティサーバーにアップロードする必要があります。

Unlimited-OCRはこのジレンマを打破しました:ローカル実行、完全無料、ドキュメント全体を一度に処理。標準的なOCRベンチマークテストで93%の精度を達成し、DeepSeek-OCRベースラインより6ポイント高く、40ページ以上でもエラー率は0.11未満を維持しています。

コア技術:R-SWA注意機構

Unlimited-OCRの技術的ブレークスルーはR-SWA(Reference Sliding Window Attention、参照スライディングウィンドウアテンション)から来ています。

従来のLLMデコーダーのメモリ問題

エンドツーエンドOCRモデル(DeepSeek-OCRなど)は、大規模言語モデルをデコーダーとして使用し、言語事前分布を利用して認識精度を向上させます。しかし、致命的な欠陥があります:出力シーケンスが長くなるにつれて、蓄積されたKVキャッシュが大量のメモリを消費し、生成速度が徐々に低下します。

これは、人間がドキュメントを書き写す際、書き写したすべての内容を記憶し続けなければならない場合、50ページ目で脳が過負荷になるのと同じです。

R-SWAの解決策

R-SWAは人間の「解析作業メモリ」機構をシミュレートし、デコーダー内のすべての注意層を参照スライディングウィンドウアテンションに置き換えます:

  1. 一定のKVキャッシュ:デコードプロセス全体でKVキャッシュサイズが一定に保たれ、出力長に応じて成長しない
  2. 参照機構:モデルは蓄積された中間状態に依存するのではなく、いつでも元のドキュメント画像を「振り返る」ことができる

DeepSeek-OCRエンコーダーの高圧縮率と一定のKVキャッシュを組み合わせることで、Unlimited-OCRは32Kの標準最大長で1回のフォワードパスで数十ページのドキュメントを転写します。

さらに重要なのは、R-SWAは汎用の解析注意機構であり、音声認識(ASR)、翻訳などのシーケンスタスクにも同様に適用可能です。

技術仕様

指標 数値 説明
モデルパラメータ 3B 軽量、コンシューマーGPUで実行可能
コンテキストウィンドウ 32Kトークン 100ページ以上のドキュメントを処理可能
ベンチマーク精度 93% 標準OCR分析ベンチマークテスト
エラー率安定性 < 0.11 40ページ以上でも低エラー率を維持
サポート言語 多言語 中国語、英語、日本語、韓国語などをネイティブサポート
ライセンス MIT 完全オープンソース、商用利用可能
GitHubスター 24,000+ 2026年で最も急成長したOCRプロジェクト
Hugging Faceダウンロード 320万+ 極めて高いコミュニティ活動

従来のOCRおよびクラウドサービスとの比較

従来のOCRツールとの比較

機能 Unlimited-OCR Tesseract PaddleOCR
処理方法 ドキュメント全体を一度に処理 ページごとに処理 ページごとに処理
コンテキスト理解 ページ間関係を保持 なし なし
精度(複雑なドキュメント) 93% 70-80% 85-88%
多言語サポート ネイティブ多言語混在 言語モデルの切り替えが必要 多言語サポート
テーブル認識 テーブル構造を保持 基本的にサポートなし 部分的にサポート
デプロイ方法 ローカルGPU ローカルCPU ローカルGPU/CPU

クラウドOCRサービスとの比較

次元 Unlimited-OCR(ローカル) Google Vision API Azure Doc Intelligence
コスト 無料(一度きりのハードウェア) 1.50ドル/1000ページ 1.0〜10.0ドル/1000ページ
データプライバシー 完全ローカル Googleサーバーにアップロード Microsoftサーバーにアップロード
速度 GPUに依存、ネットワーク遅延なし ネットワーク遅延の影響を受ける ネットワーク遅延の影響を受ける
精度 93% 95%+ 95%+
オフライン利用 完全にサポート サポートなし サポートなし
バッチ処理 API制限なし レート制限あり レート制限あり

重要な結論:Unlimited-OCRの精度はトップクラスのクラウドサービス(93% vs 95%+)よりわずかに低いですが、コスト、プライバシー、オフライン可用性において圧倒的な優位性があります。ほとんどの企業シナリオ(契約書、財務、技術ドキュメント)では93%で完全に十分であり、データをローカル環境から出す必要がありません。

ローカルデプロイメント実践

ハードウェア要件

GPU構成 VRAM 適用シナリオ 推論速度
RTX 3060 12GB 単一/少数ページドキュメント ~2ページ/秒
RTX 3090/4090 24GB 100ページPDF ~5ページ/秒
A100 40GB 40GB バッチ処理 ~10ページ/秒
A100 80GB 80GB 高並列サービス ~15ページ/秒

最低要件:12GB VRAM(3BパラメータFP16は約6GB、KVキャッシュと画像エンコーディングを含めて12GB+必要)

環境準備

BASH
# 仮想環境を作成
python3 -m venv unlimited-ocr-env
source unlimited-ocr-env/bin/activate

# 依存関係をインストール(Python 3.12 + CUDA 12.9)
pip install torch==2.10.0 torchvision==0.25.0 \
    --index-url https://download.pytorch.org/whl/cu129
pip install transformers==4.57.1 Pillow==12.1.1 \
    einops==0.8.2 addict==2.4.0 easydict==1.13 \
    pymupdf==1.27.2.2 psutil==7.2.2

基本推論コード(Transformers)

PYTHON
import os, torch, tempfile, fitz
from transformers import AutoModel, AutoTokenizer

# モデルをロード
model_name = 'baidu/Unlimited-OCR'
tokenizer = AutoTokenizer.from_pretrained(
    model_name, trust_remote_code=True)
model = AutoModel.from_pretrained(
    model_name, trust_remote_code=True,
    use_safetensors=True, torch_dtype=torch.bfloat16,
).eval().cuda()

# PDFを画像に変換
def pdf_to_images(pdf_path, dpi=300):
    doc = fitz.open(pdf_path)
    tmp_dir = tempfile.mkdtemp(prefix='pdf_ocr_')
    mat = fitz.Matrix(dpi / 72, dpi / 72)
    paths = []
    for i, page in enumerate(doc):
        out = os.path.join(tmp_dir, f'page_{i+1:04d}.png')
        page.get_pixmap(matrix=mat).save(out)
        paths.append(out)
    doc.close()
    return paths

# 複数ページPDF解析
model.infer_multi(
    tokenizer,
    prompt='<image>Multi page parsing.',
    image_files=pdf_to_images('your_doc.pdf', dpi=300),
    output_path='output_dir',
    image_size=1024,
    max_length=32768,
    no_repeat_ngram_size=35,
    ngram_window=1024,
    save_results=True,
)

主要パラメータ説明

パラメータ 説明 推奨値
image_size 画像解像度 1024(PDFに必須)
max_length 最大出力トークン数 32768(100ページPDF)
no_repeat_ngram_size 重複防止n-gramサイズ 35
ngram_window n-gramチェックウィンドウ 1024(複数ページ)/ 128(単一ページ)
dpi PDFから画像への変換DPI 300(品質/速度のバランス)

高性能デプロイメント(vLLM)

本番環境ではvLLMを推奨し、Transformersより3〜5倍高いスループットを提供します:

BASH
# Dockerイメージをプル(CUDA 13.0)
docker pull vllm/vllm-openai:unlimited-ocr

# サービスを起動(OpenAI互換API)
docker run --gpus all \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    -p 8000:8000 \
    vllm/vllm-openai:unlimited-ocr \
    --model baidu/Unlimited-OCR \
    --served-model-name Unlimited-OCR \
    --max-model-len 32768 \
    --gpu-memory-utilization 0.9

vLLMはOpenAI互換APIを提供し、バッチリクエストと継続的バッチ処理をサポートし、企業レベルのOCRサービス構築に適しています。

実際の効果テスト

ドキュメントタイプ ページ数 内容特徴 精度 所要時間
学術論文(PDF) 50ページ 2段組み、数式、図表引用 95% 12秒
技術マニュアル 100ページ テーブル、コードブロック、多言語 93% 25秒
スキャン契約書 30ページ 低品質スキャン、スタンプ隠蔽 89% 8秒
財務報告書 20ページ 複雑なテーブル、数字密集 94% 5秒
多言語ドキュメント 15ページ 中英混在、日本語注釈 92% 4秒

強みのシナリオ:複数ページのコンテキスト一貫性、複雑なレイアウト(2段組み/画像テキスト混在)、数式とコードブロック、多言語混在。

限界のシナリオ:極めて低品質なスキャン(<150 DPI)では精度が85%に低下、手書き認識率は約70%、超高密度テーブル(>20列)では列配置エラーが発生する可能性。

限界と注意事項

既知の制限

  1. VRAM使用量:32Kコンテキストウィンドウには十分なKVキャッシュスペースが必要
  2. 初回ロードが遅い:モデルは約6GB、初回推論には最適化グラフのコンパイルが必要
  3. GPU必須:CPU推論をサポートしない(遅すぎて実用的でない)
  4. 出力形式:プレーンテキスト/Markdown、元のレイアウトを保持できない

一般的な問題のトラブルシューティング

問題 原因 解決策
CUDA Out of Memory VRAM不足 max_lengthまたはdpiを低下
出力の繰り返し内容 n-gramパラメータ不適切 no_repeat_ngram_sizeを増加
中国語認識エラー フォント問題 dpiを400+に向上
推論速度が遅い bfloat16未使用 torch_dtype=torch.bfloat16を確認

ベストプラクティス

  • DPI選択:通常のドキュメントは300 DPI、小さいフォント/低品質スキャンは400-600 DPI
  • バッチ処理:vLLMまたはSGLangを使用し、Transformersをページごとに呼び出さない
  • 出力検証:重要なドキュメント(契約書、財務)に対して人手による抜き取り検査を実施
  • キャッシュ戦略:PDFから変換した画像をディスクにキャッシュし、繰り返し変換を回避

総合評価

Unlimited-OCRは2026年のOCR分野で最も重要なオープンソースブレークスルーです。小モデル + 革新的アーキテクチャ = 大能力を証明しました。R-SWA注意機構はOCRの長文書問題を解決するだけでなく、ASR、翻訳などのシーケンスタスクに汎用解決策を提供します。

次元 評価 説明
精度 ⭐⭐⭐⭐⭐ 93%ベースライン、DeepSeek-OCRを超える
使いやすさ ⭐⭐⭐⭐ APIは簡潔だが、GPU環境が必要
パフォーマンス ⭐⭐⭐⭐⭐ 100ページPDFを一度に処理、コンテキスト損失なし
コスト ⭐⭐⭐⭐⭐ 完全無料、ローカル実行
ドキュメント ⭐⭐⭐ READMEは詳細だが、中国語チュートリアルは少ない

大量のドキュメントを処理する必要があるチームにとって、Unlimited-OCRは高価なクラウドOCRサービスを代替し、年間数万ドルを節約できます。さらに重要なのは、機密データをローカル環境から出す必要がなく、金融、医療、政府などの業界のコンプライアンス要件を満たします。

推奨指数:⭐⭐⭐⭐⭐ (5/5)