評価対象
社内 R&D 用に収集した日本語業務帳票 200 枚(請求書 80、申込書 60、帳票 60)に対して、定型項目(請求番号・発行日・合計額・税区分・取引先)の抽出精度を比較。
結果
| エンジン | 項目抽出 F1 | レイテンシ | コスト | | --- | --- | --- | --- | | Tesseract + 後処理 | 0.71 | 0.4 秒 | 無料 | | Google Document AI | 0.88 | 1.2 秒 | 200 円 / 100 枚 | | GPT-4o Vision | 0.91 | 3.5 秒 | 1,400 円 / 100 枚 | | Qwen2.5-VL-72B (セルフホスト) | 0.89 | 4.8 秒 | 固定費吸収 |
精度面では GPT-4o Vision が最高だが、Qwen2.5-VL-72B も僅差で続き、コストとデータ越境を考えると国内セルフホスト案として魅力的。
セルフホスト構成
```bash vllm serve Qwen/Qwen2.5-VL-72B-Instruct \ --tensor-parallel-size 4 \ --max-model-len 16384 \ --quantization fp8 \ --limit-mm-per-prompt image=4 ```
H100 80GB ×4 で 1 枚あたり 4-5 秒、バッチ 4 枚同時で 1 枚あたり 1.6 秒に短縮。
プロンプト設計
```text 以下の請求書画像から、JSON で次の項目を抽出してください。 { "invoice_no": ..., "issue_date": "YYYY-MM-DD", "total_amount": <int>, "tax_category": "課税|非課税|混在", "supplier": ... } 画像から読み取れない項目は null としてください。 ```
限界と運用
- 手書き混在帳票はまだ精度不足(F1 0.74 程度)
- 複雑な印鑑・スタンプの上に重なった文字は読み取り誤り頻発
- 業務 BOT に組み込む場合は人間レビュー必須のワークフローを推奨
まとめ
Qwen2.5-VL-72B は国内データを越境させずに高精度 OCR を実現する有力な選択肢。Document AI ほど安定はしないが、自社運用とプロンプトチューニングで業務利用に十分な品質を出せる。