🧠Research🔥🔥

Dharma AI、DPO を構造化 OCR に適用──テキストのループ発生率を平均 59.4% 削減

チャットの「好み」ではなく「正誤」を DPO の信号に使い、SFT では解消困難な自己ループ問題をモデル自身の失敗例から学習して抑制した。
リリース: 2026-06-03 · 読了 3

記事の要約

1. 核心(What)

  • SFT 後のモデルで頻発するテキストのループ(degeneration)に対し、DPO を適用することでテストした全モデルで発生率が減少した。
  • ブラジル・ポルトガル語の構造化 OCR タスクにおいて、ループ発生率を平均 59.4%、最大で 87.6%(1.61% から 0.20% へ)削減することに成功した。
  • 23,726 件の文書を使用し、SFT 済みモデルが生成した「失敗(ループした)出力」を DPO の拒絶サンプル(rejected)として再利用するパイプラインを構築した。

2. 影響(Why)

  • RAG や抽出タスクで「同じ文が繰り返される」バグは推論時のペナルティ設定では根本解決しないが、DPO で分布自体を修正できることが実証された。
  • 人手による「好み」のラベル付けが不要で、モデル自身の失敗例を負例に使えるため、構造化データの精度向上コストを大幅に下げられる。
  • 開発者への影響: 構造化データ抽出を実装するエンジニアは、推論パラメータの調整(Repetition Penalty 等)に頼るのをやめ、SFT 後の失敗例を負例とした DPO ステージを追加することで、ループ問題を根本から解消すべきである。
  • 日本への影響: 国内の OCR サービスや金融系 BPO 事業者は、日本語特有の繰り返し(「。」の連続など)を DPO で抑制することで、後段のパースエラーを 5 割以上削減し、人手による修正コストを圧縮できる。

3. 根拠・詳細(How)

  • Text Degeneration Reduction (Average): スコア 59.4
  • Peak Degeneration Reduction (Nanonets-OCR2–3B): スコア 87.6
  • Direct Preference Optimization Beyond Chatbots (2026-06-03 公開)