2025年完全ガイド:HunyuanOCRでエンドツーエンドOCRを構築する方法
🎯 重要ポイント(TL;DR)
- 単一の1Bマルチモーダルアーキテクチャが、検出、認識、解析、翻訳などを統合されたOCRパイプラインで一括処理
- デュアル推論パス(vLLM + Transformers)と洗練されたプロンプトにより、迅速な本番デプロイメントが可能
- 社内ベンチマークでは、テキストスポッティング、文書解析、情報抽出において、従来のOCRや汎用VLMを一貫して上回る結果を示す
目次
- HunyuanOCRとは?
- なぜHunyuanOCRは強力なのか?
- HunyuanOCRを迅速にデプロイする方法は?
- ビジネス対応プロンプトを設計する方法は?
- どのような性能証拠が存在するか?
- 推論フローはどのように機能するか?
- FAQ
- まとめとアクションプラン
HunyuanOCRとは?
HunyuanOCRは、Tencent Hunyuanのエンドツーエンド型OCR専用ビジョン言語モデル(VLM)です。わずか1Bパラメータのネイティブマルチモーダルアーキテクチャで構築され、テキストスポッティング、複雑な文書解析、オープンフィールド情報抽出、字幕抽出、画像翻訳において最先端の結果を達成しています。
✅ ベストプラクティス
多言語、マルチモーダル、複雑なレイアウトを一度に処理する必要がある場合は、「単一プロンプト+単一推論」のエンドツーエンドモデルを優先し、パイプラインのレイテンシを大幅に削減しましょう。

なぜ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デプロイメント(推奨)
pip install vllm --extra-index-url https://wheels.vllm.ai/nightly-
tencent/HunyuanOCRとAutoProcessorをロード - 画像+指示を含むメッセージを構築し、
apply_chat_templateでプロンプトを生成 -
SamplingParams(temperature=0, max_tokens=16384)を設定 -
llm.generateを呼び出し、後処理(例:clean_repeated_substrings)を実行
Transformersデプロイメント
- 固定ブランチをインストール:
pip install git+https://github.com/huggingface/transformers@82a06d... -
HunYuanVLForConditionalGenerationとAutoProcessorを使用 -
model.generate(..., max_new_tokens=16384, do_sample=False)を呼び出し - 注意:このパスは現在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。 |
プロンプト設計の原則
- 構造優先:JSON/HTML/Markdownを明示的に要求し、後処理を削減
- フィールドの列挙:情報抽出のためにすべてのキーをリストアップし、項目の欠落を防ぐ
- 言語制約:翻訳/字幕タスクのターゲット言語を指定
- 冗長性のクリーンアップ:長い出力に部分文字列重複除去ヘルパーを適用

どのような性能証拠が存在するか?
テキストスポッティングと認識(社内ベンチマーク)
| モデルタイプ | 手法 | 総合 | 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のビジュアル例を再現することで、さらに深く掘り下げてください。

参考文献
- 公式README & README_zh
- Hugging Faceデモ: https://huggingface.co/spaces/tencent/HunyuanOCR
- モデルダウンロード: https://huggingface.co/tencent/HunyuanOCR
- 技術レポート: HunyuanOCR_Technical_Report.pdf
Discussion