👋

2025年完全ガイド:HunyuanOCRでエンドツーエンドOCRを構築する方法

に公開

🎯 重要ポイント(TL;DR)

  • 単一の1Bマルチモーダルアーキテクチャが、検出、認識、解析、翻訳などを統合されたOCRパイプラインで一括処理
  • デュアル推論パス(vLLM + Transformers)と洗練されたプロンプトにより、迅速な本番デプロイメントが可能
  • 社内ベンチマークでは、テキストスポッティング、文書解析、情報抽出において、従来のOCRや汎用VLMを一貫して上回る結果を示す

目次

  1. HunyuanOCRとは?
  2. なぜHunyuanOCRは強力なのか?
  3. HunyuanOCRを迅速にデプロイする方法は?
  4. ビジネス対応プロンプトを設計する方法は?
  5. どのような性能証拠が存在するか?
  6. 推論フローはどのように機能するか?
  7. FAQ
  8. まとめとアクションプラン

HunyuanOCRとは?

HunyuanOCRは、Tencent Hunyuanのエンドツーエンド型OCR専用ビジョン言語モデル(VLM)です。わずか1Bパラメータのネイティブマルチモーダルアーキテクチャで構築され、テキストスポッティング、複雑な文書解析、オープンフィールド情報抽出、字幕抽出、画像翻訳において最先端の結果を達成しています。

ベストプラクティス
多言語、マルチモーダル、複雑なレイアウトを一度に処理する必要がある場合は、「単一プロンプト+単一推論」のエンドツーエンドモデルを優先し、パイプラインのレイテンシを大幅に削減しましょう。

HunyuanOCR概要

なぜHunyuanOCRは強力なのか?

軽量で完全なモーダルカバレッジ

  • 1Bネイティブマルチモーダル設計:独自開発のトレーニング戦略により、推論コストを低く抑えながらSOTA品質を実現
  • タスクの完全性:検出、認識、解析、情報抽出、字幕、翻訳をすべて単一モデルで処理
  • 言語の広さ:文書、ストリートビュー、手書き、チケットなど、100以上の言語をサポート

真のエンドツーエンド体験

  • 単一プロンプト→単一推論:カスケードOCRエラーの蓄積を回避
  • 柔軟な出力:座標、LaTeX、HTML、Mermaid、Markdown、JSON—必要な構造を選択可能
  • ビデオ対応:バイリンガル字幕を直接抽出し、下流の翻訳や編集に対応

マルチシナリオパフォーマンス

💡 プロのヒント
ビジネス形式(HTMLテーブル、JSONフィールド、バイリンガル字幕)に合わせてプロンプトをカスタマイズし、エンドツーエンドパイプラインから構造化出力を引き出しましょう。

HunyuanOCRを迅速にデプロイする方法は?

システム要件

  • OS: Linux
  • Python: 3.12+
  • CUDA: 12.8
  • PyTorch: 2.7.1
  • GPU: 80GBメモリを搭載したNVIDIA CUDA GPU
  • ディスク: 6GB

vLLMデプロイメント(推奨)

  1. pip install vllm --extra-index-url https://wheels.vllm.ai/nightly
  2. tencent/HunyuanOCRAutoProcessorをロード
  3. 画像+指示を含むメッセージを構築し、apply_chat_templateでプロンプトを生成
  4. SamplingParams(temperature=0, max_tokens=16384)を設定
  5. llm.generateを呼び出し、後処理(例:clean_repeated_substrings)を実行

Transformersデプロイメント

  1. 固定ブランチをインストール:pip install git+https://github.com/huggingface/transformers@82a06d...
  2. HunYuanVLForConditionalGenerationAutoProcessorを使用
  3. model.generate(..., max_new_tokens=16384, do_sample=False)を呼び出し
  4. 注意:このパスは現在vLLMより性能が劣ります(公式修正作業中)

⚠️ 注意事項
READMEスクリプトはデフォルトでbfloat16とdevice_map="auto"を使用します。マルチGPU環境では、分散OOMを避けるため、メモリシャーディングが意図的であることを確認してください。

ビジネス対応プロンプトを設計する方法は?

タスクプロンプトチートシート

タスク 英語プロンプト 中国語プロンプト
スポッティング Detect and recognize text in the image, and output the text coordinates in a formatted manner. 检测并识别图片中的文字,将文本坐标格式化输出。
文書解析 Identify formulas (LaTeX), tables (HTML), flowcharts (Mermaid), and parse body text in reading order. 识别图片中的公式/表格/图表并按要求输出。
一般解析 Extract the text in the image. 提取图中的文字。
情報抽出 Extract specified fields in JSON; extract subtitles. 提取字段并按 JSON 返回;提取字幕。
翻訳 First extract text, then translate; formulas → LaTeX, tables → HTML. 先提取文字,再翻译;公式用 LaTeX,表格用 HTML。

プロンプト設計の原則

  1. 構造優先:JSON/HTML/Markdownを明示的に要求し、後処理を削減
  2. フィールドの列挙:情報抽出のためにすべてのキーをリストアップし、項目の欠落を防ぐ
  3. 言語制約:翻訳/字幕タスクのターゲット言語を指定
  4. 冗長性のクリーンアップ:長い出力に部分文字列重複除去ヘルパーを適用

情報抽出サンプル

どのような性能証拠が存在するか?

テキストスポッティングと認識(社内ベンチマーク)

モデルタイプ 手法 総合 Art Doc Game Hand Ads Receipt Screen Scene Video
従来型 PaddleOCR 53.38 32.83 70.23 51.59 56.39 57.38 50.59 63.38 44.68 53.35
従来型 BaiduOCR 61.90 38.50 78.95 59.24 59.06 66.70 63.66 68.18 55.53 67.38
汎用VLM Qwen3VL-2B-Instruct 29.68 29.43 19.37 20.85 50.57 35.14 24.42 12.13 34.90 40.10
汎用VLM Qwen3VL-235B-Instruct 53.62 46.15 43.78 48.00 68.90 64.01 47.53 45.91 54.56 63.79
汎用VLM Seed-1.6-Vision 59.23 45.36 55.04 59.68 67.46 65.99 55.68 59.85 53.66 70.33
OCR VLM HunyuanOCR 70.92 56.76 73.63 73.54 77.10 75.34 63.51 76.58 64.56 77.31

文書解析(OmniDocBench + 多言語ベンチマーク)

タイプ 手法 サイズ Omni総合 Text Formula Table Wild総合 Text Formula Table DocML
汎用VLM Gemni-2.5-pro - 88.03 0.075 85.92 85.71 80.59 0.118 75.03 78.56 82.64
汎用VLM Qwen3-VL-235B 235B 89.15 0.069 88.14 86.21 79.69 0.090 80.67 68.31 81.40
モジュラーVLM MonkeyOCR-pro-3B 3B 88.85 0.075 87.50 86.78 70.00 0.211 63.27 67.83 56.50
モジュラーVLM MinerU2.5 1.2B 90.67 0.047 88.46 88.22 70.91 0.218 64.37 70.15 52.05
モジュラーVLM PaddleOCR-VL 0.9B 92.86 0.035 91.22 90.89 72.19 0.232 65.54 74.24 57.42
エンドツーエンドVLM Mistral-OCR - 78.83 0.164 82.84 70.03 - - - - 64.71
エンドツーエンドVLM Deepseek-OCR 3B 87.01 0.073 83.37 84.97 74.23 0.178 70.07 70.41 57.22
エンドツーエンドVLM dots.ocr 3B 88.41 0.048 83.22 86.78 78.01 0.121 74.23 71.89 77.50
エンドツーエンドVLM HunyuanOCR 1B 94.10 0.042 94.73 91.81 85.21 0.081 82.09 81.64 91.03

情報抽出とVQA

モデル Cards Receipts Video Subtitles OCRBench
DeepSeek-OCR 10.04 40.54 5.41 430
PP-ChatOCR 57.02 50.26 3.10 -
Qwen3-VL-2B 67.62 64.62 3.75 858
Seed-1.6-Vision 70.12 67.50 60.45 881
Qwen3-VL-235B 75.59 78.40 50.74 920
Gemini-2.5-Pro 80.59 80.66 53.65 872
HunyuanOCR 92.29 92.53 92.87 860

画像翻訳

手法 サイズ Other2En Other2Zh DoTA (en2zh)
Gemini-2.5-Flash - 79.26 80.06 85.60
Qwen3-VL-235B 235B 73.67 77.20 80.01
Qwen3-VL-8B 4B 75.09 75.63 79.86
Qwen3-VL-4B 4B 70.38 70.29 78.45
Qwen3-VL-2B 2B 66.30 66.77 73.49
PP-DocTranslation - 52.63 52.43 82.09
HunyuanOCR 1B 73.38 73.62 83.48

💡 プロのヒント
多言語請求書、ID、字幕の場合、HunyuanOCRのCards/Receipts/Subtitlesでのリーダーシップにより、強力な第一選択肢となります。

推論フローはどのように機能するか?

📊 実装フロー

ベストプラクティス
最後にガードレール(空出力検出、JSONスキーマ検証)を追加し、下流システムを不正な結果から保護しましょう。

🤔 FAQ

Q: どれくらいのGPUメモリが必要ですか?

A: 16Kトークンのデコードには80GBが推奨されます。小型GPUの場合は、max_tokensを減らす、画像をダウンサンプリングする、またはテンソル並列処理を有効にしてください。

Q: vLLMとTransformersの差は何ですか?

A: vLLMは現在、より優れたスループットとレイテンシを提供し、推奨パスです。Transformersは現在遅れていますが、カスタムオペレーションやデバッグには理想的で、上流の修正が完了するまで待つ必要があります。

Q: 構造化出力を保証するにはどうすればよいですか?

A: プロンプトで正確なスキーマを定義し、応答を検証(正規表現/JSONスキーマ)し、READMEのclean_repeated_substringsのようなヘルパー関数を適用してください。

まとめとアクションプラン

  • 多言語、マルチフォーマットのOCRワークロードには、まずHunyuanOCRの単一モデルパイプラインを評価し、アーキテクチャの複雑さを削減しましょう。
  • 提供されたプロンプトとスクリプトを使用してvLLMレシピで迅速なPoCを開始し、プロンプトエンジニアリングと後処理を繰り返して本番仕様を満たしましょう。
  • HunyuanOCR技術レポート、Hugging Faceデモ、またはREADMEのビジュアル例を再現することで、さらに深く掘り下げてください。

複雑な文書解析サンプル


参考文献

HunyuanOCRガイド

Discussion