powered by TechFeed
表示モード
Deep Dive

低スペックGPUで1秒2.57ページ処理——Jina AIのOCRモデル「jina-ocr-v1」が「最高精度より実用的な速度」を選んだ理由

9月18日、MarkTechPostが「Jina AI Releases jina-ocr-v1: A 3.4B MoE Document Parser With Built-In Speculative Decoding for Low-Budget GPUs」と題した記事を公開した。Jina AIが低スペックGPU向けに設計した3.4BパラメータのMoE構成OCRモデル「jina-ocr-v1」のリリースを詳報したもので、精度ではなくスループットを設計の中心に据えた点が他のOCRモデルと一線を画す。

9月18日、MarkTechPostが「Jina AI Releases jina-ocr-v1: A 3.4B MoE Document Parser With Built-In Speculative Decoding for Low-Budget GPUs」と題した記事を公開した。Jina AIが低スペックGPU向けに設計した3.4BパラメータのMoE構成OCRモデル「jina-ocr-v1」のリリースを詳報したもので、精度ではなくスループットを設計の中心に据えた点が他のOCRモデルと一線を画す。


スループット最速——精度よりも「速く動く」を選んだOCRモデル

jina-ocr-v1の最大の特徴は精度ではなく、スループットだ。A100(40GB)・並列度32の環境で1秒あたり2.57ページを処理し、Jina AIが計測した14システム中トップの数値を記録した。比較として、olmOCR-2が1.22ページ/秒、chandra-ocr-2が0.38ページ/秒である。

精度面ではトップではない。OmniDocBench v1.6では91.14を記録しているが、PaddleOCR-VL-1.6(96.34)やHunyuanOCR-1.5(94.74)が上回る。olmOCR-Bench(83.4)でもchandra-ocr-2(85.8)やdots.mocr(83.9)に届かない。ただし、ベースモデルのDeepSeek-OCRからは**+7.4ポイント**の改善を達成している。

なお、OmniDocBench・olmOCR-Benchはいずれも高いほど良いスコアで、文書OCRの認識精度(文字認識・レイアウト再現・表構造など)を総合的に測る指標だ。jina-ocr-v1は精度ランキングで中位に位置するが、スループットは断トツのトップであり、このトレードオフがモデルの設計思想を端的に示している。

このモデルの立ち位置は明確だ——「最高精度」ではなく「低コストGPUで実用的に動く」。


アーキテクチャ:MoEで570Mのみ動かす

モデルはDeepSeek-OCRをベースにポストトレーニングしたもので、総パラメータ数3.4B、トークンごとのアクティブパラメータは約570MというMoE(Mixture of Experts)構成をとる。

ビジョンエンコーダー側(DeepEncoder、約380M)はSAM・16倍畳み込み圧縮・CLIP-Lを連結し、1024×1024の入力ページを4,096パッチから256視覚トークンに圧縮する。ダイナミック解像度モードでは最大9タイルを追加し、1ページあたり最大1,156トークンに抑える。

  • SAM(Segment Anything Model):Metaが開発した汎用セグメンテーションモデル。ここでは画像の領域分割・特徴抽出に利用される
  • CLIP-L:OpenAIのCLIPモデルのLarge変種。画像とテキストを共通の埋め込み空間に対応付ける視覚エンコーダーとして広く使われる

デコーダーはDeepSeek-3B-MoEで、12層・64ルーティングエキスパート・2共有エキスパート。Top-6ルーティングで約570Mのみを起動する。出力はMarkdown形式で、テーブルはHTML、数式はLaTeXで返す。


FastMTP:スペキュラティブデコーディングを内蔵

エンジニア的に面白いのが、チェックポイントにFastMTPのドラフトヘッドが組み込まれている点だ。

スペキュラティブデコーディングは、「ドラフトモデルが先に複数トークンを予測し、メインモデルが一括検証する」手法で、デコード速度を向上させる。FastMTPはその亜種で、1つの密なドラフトブロックをK=3ステップ再帰適用し、メインモデルが貪欲法でまとめて検証する。承認された最長プレフィックスを確定し、さらに1トークンを追加コミットする仕組みだ。3トークンすべてが一致した場合、追加の1トークンはボーナスとなる。

重要なのは、出力が通常の貪欲デコードと完全に一致する(lossless)という点。速度向上は品質の妥協を伴わない。

実測値は次の通り:

  • NVIDIA L4・バッチサイズ1:eager decoding で42.7→83.1トークン/秒(1.95倍速、受理率57.6%)
  • CUDAグラフ使用時:ベースライン158.3トークン/秒に対し、K=1で185.6トークン/秒(1.17倍速

OCR出力は決定論的かつ局所的に構造化されているため、スペキュラティブデコーディングとの相性が良い、というのがJina AIの設計思想だ。


ベンチマーク比較

モデル パラメータ OmniDocBench v1.6 ↑ olmOCR-Bench ↑
jina-ocr-v1 3B/570M 91.14 83.4
DeepSeek-OCR-2 3B/570M 90.25
PaddleOCR-VL-1.6 0.9B 96.34
chandra-ocr-2 4B 85.8
Qwen3-VL-235B 235B/22B 89.78

↑は高いほど良いスコアを示す。


使い方:APIからセルフホストまで

**一番手軽な方法はJina Reader**。r.jina.aiにURLを送る際にX-Respond-With: jina-ocr-v1ヘッダーを付けるだけで、Markdownが返る。

セルフホストする場合は、Hugging Faceからウェイト(BF16で約6.8GB)を取得し、trust_remote_code=Trueで読み込む。FastMTPを有効にするにはvLLM 0.21以降register()の1回呼び出しが必要だ。Transformersパスではドラフトウェイトは無視され、MoEデコーダーのみが動作する。

OpenAI互換エンドポイント(https://api.jina.ai/v1/chat/completions)やホスト型デモも用意されている。

ライセンスはCC BY-NC 4.0。研究・非商用利用は自由だが、商用利用はJina AIへの問い合わせが必要だ。


詳細はJina AI Releases jina-ocr-v1: A 3.4B MoE Document Parser With Built-In Speculative Decoding for Low-Budget GPUsを参照していただきたい。