Using Rejection Pairs From Your Model's Own Failures
4月、私たちはDharmaOCRをリリースしました。これは専門の構造化OCRモデル(Hugging Faceで利用可能)で、その方法論を詳述した論文と、優れた品質とコスト効率を実証するベンチマークを伴っています。 この論文では、構造化文書抽出タスク、すなわちブラジルポルトガル語テキストのOCRにおいて、オープンソースおよび商用を含む主要なビジョン言語モデルファミリーをベンチマークしました。報告された指標の1つにテキスト退行率(text degeneration rate)があり、これはモデルが書き起こしではなく繰り返しのループを生成する頻度を示します。
テストされたオープンソースファミリー全体で、バニラ(未調整)状態の退行率は1%未満から33%以上まで幅がありました。教師ありファインチューニング(SFT)はほとんどのモデルでこれらの率を低減しましたが、実用に耐えうるレベルまで到達することは稀でした。この傾向は構造的な限界を示唆しています。SFTは正しい出力を最適化しますが、退行を明示的にペナルティ付けしません。タスク中心のファインチューニングだけでは、この失敗モードをどれだけ低減できるかに上限があるようです(Text Degeneration Article)。
SFTの後に、同じ文書、同じモデルを使って適用された第2の訓練段階は、テストされたすべてのファミリーでテキスト退行を低減しました。例外はありませんでした。平均低減率は59.4%。最良ケースでは87.6%でした。
Figure 1: DPO reduced degeneration relative to SFT in every family tested - average reduction of 59.4%, peak of 87.6% (Nanonets-OCR2–3B: 1.61% to 0.20%). The direction is invariant; only the magnitude varies.
この第2段階はDirect Preference Optimization(DPO)でした。公開されているDPOのほぼすべての応用はチャットアライメントを対象としており、人間による有用性や無害性の判断に基づいて訓練されたモデルを扱っています(例: Rafailov et al., 2023)。OCRにはそのような主観性は一切ありません。タスクは客観的であり、会話的な文脈も存在しません。ただし、明確な選好シグナルはあります。正しい書き起こしが選択され、退行ループは拒否されます。DharmaOCRはこの二値を使ってDPO訓練セットを構築し、アライメントではなく特定の失敗モードに対する直接的な緩和ツールとしてこの手法を検証しました。
訓練シグナルはモデル自身から得られました。具体的には、モデルが失敗した際に生成した出力から得られたものです。失敗モードがどのように訓練シグナルになるかは、モデルではなく失敗に関する構造的な問いです。
The Loop Survives Fine-Tuning
SFTが退行に対して上限を持つ理由はまだ未解決の問題ですが、主要な仮説は損失の粒度にあります。SFTはトークン単位で訓練します。各予測は独立して評価され、繰り返しのループは完了レベルの失敗としてペナルティを受けません。DPOはこの論理を逆転させます。訓練シグナルは完全な出力(選択または拒否)であり、退化した完了は単なる局所的に確率の高いトークンの系列ではなく、明示的に誤った結果としてラベル付けできます。
訓練目的が観測された系列の尤度を最大化するとき、確率質量はその系列が占める分布空間の領域に集中します。推論中にそのような高確率アトラクター領域の1つに入ったモデルは、次のステップで同じトークンに高い確率を割り当て、さらに確率を高め、系列が最大トークン制限に達するまでループを持続させます。テキスト退行はこの幾何学の出力です。自己強化型の繰り返しループであり、外部からの介入なしには自己回帰モデルが抜け出せないものです(Holtzman et al., 2020)。これは純粋にデコードのアーティファクトではありません。アトラクターには訓練目的、学習された分布、推論中の確率質量の集中の仕方が関わっており、単一のコンポーネントに局在する失敗ではなく、システムレベルの失敗です。
この失敗の幾何学はトークンレベルで可視化できます。
Figure 2: When a token dominates its own conditional distribution, every sampling step deepens the attractor. The decoder samples from this geometry; it does not determine it.
推論層の介入(繰り返しペナルティ、温度調整、早期中止ロジック)はサンプリングステップで作用します。これらは症状を抑えますが、それを生み出す分布には触れません。アトラクターは持続します。
教師ありファインチューニングは分布をタスク領域に近づけます。構造化生成パイプラインの場合、これはドメイン特有の文書、対象言語、必要な出力形式で訓練することを意味します。モデルはより長い系列、制約された構文、ドメイン語彙に習熟します。SFTが行わないのは、退行への直接的な攻撃です。その目的(観測された系列の尤度最大化)には、繰り返しループをペナルティ付けする項がありません。この失敗モードは、訓練シグナルが最適化する範囲の外にあります。
DharmaOCRベンチマークの1つのモデルファミリーでは、予想外のパターンが観察されました。バニラ状態の退行率0.60%がSFT後に3.23%に上昇し、その後のDPO段階で1.41%に低下したのです。これは単一のデータポイントであり、例外であって規則ではありません。また、これをメカニズムの証明として扱うのは証拠の過大解釈になるでしょう。しかし、これが示すのはSFTが退行を確実に低減しないということです。能力と退行耐性は独立して変化し得ます。
この区別は構造的に重要です。SFTとDPOは、同じ操作を異なる強度で行う交換可能な訓練段階ではありません。SFTはモデルの事前分布とタスク領域の距離を縮めます。しかし、退行を目的としてターゲットにするわけではなく、この失敗モードへの影響は副次的であり、ベンチマーク結果はその一貫性が低いことを示しています。退行を生み出すアトラクターは、モデルがタスクにどれだけ近いかの問題ではなく、モデルが今占める分布空間の形状の問題です。
その幾何学に対処するには、モデルを自身の失敗モードから遠ざけるよう具体的に設計された訓練シグナルが必要です。人間の選好ラベルや従来の「役立つ vs 有害」の区別が存在しない、構造化された非会話型タスクでは、そのシグナルの構築は設計上の決定です。
The Design Decision: Degenerate Outputs as Rejection Pairs
DharmaOCRパイプラインのDPO方法論への貢献は具体的です。SFTモデルの退行出力自体を拒否例として使用しました。ノイズとして除去するのではなく、最適化に必要な負の訓練シグナルとして活用したのです。
DPOには選好ペアが必要です。同じ入力に対する選択出力と拒否出力で、品質差が最適化が学習できるほど明確であることが求められます。チャットアライメントでは、人間のアノテーターがこれらの判断を生成します。応答を有用性、正確性、安全性の観点で評価するのです。構造化生成タスクには同等のアノテーション源がありません。OCRパイプラインは正しい書き起こしを生成するか、しません。品質差は存在しますが、人間の選好ランキングによって生み出されるものではなく、タスク自身の正しさの基準によって生み出されます。
DharmaOCRパイプラインは、構造化生成タスクがすでに生み出している選好シグナルを特定しました。それはSFTモデルが推論時に生成する出力の範囲です。構造化タスクを実行できるモデルは、特徴的な方法で失敗することもできます。それらの失敗(退行アトラクターに入る出力)は、フィルタリングすべきノイズではありません。最も情報量の多い負のシグナルです。
この論文では、23,726の訓練文書でこれを実装し、SFTモデルで文書ごとに複数の候補応答を生成し、それぞれを自動化されたLLMジャッジでスコアリングしました。パイプラインは以下に示されています。
Figure 3: The critical design decision is not in the pipeline's structure - it is in what the pipeline preserved: outputs displaying text degeneration were deliberately labeled as rejected examples, not filtered out as low-quality noise.
退行出力が訓練データに現れた場合の従来の対応は、それらを除去することです。低品質なシグナルであり、フィルタリングによりよりクリーンなデータセットが得られます。DharmaOCRのアプローチはこの論理を逆転させました。退行出力は意図的に各(選択、拒否)ペアの拒否例として保持されました。DPO段階が抑制するよう設計された失敗モードをまさに表しているからです。それらを除去することは、最も明確なターゲットを捨てることになります。
この論文では、これを「選好誘導型の暗黙的非尤度(preference-guided implicit unlikelihood)」と表現しています。モデルはより良い出力に向かって訓練されるだけでなく、特定の失敗クラスから遠ざけられます。SFTが良質な出力の尤度を最大化するのに対し、DPO段階は退行アトラクターの幾何学を示す出力を同時にペナルティ付けします。最適化の方向は、SFT単独では達成できない形で明示的です。
退行出力は拒否例として特に適しています。なぜなら、さまざまな低品質出力ではなく、一貫した失敗モードを表すからです。単語を欠落させる書き起こしは低品質ですが、その失敗はケース固有です。一方、繰り返しループはSFT後も文書やモデルファミリーを横断して持続的に現れました。これは尤度ベースの最適化が確実に修正しない失敗モードに一致するパターンです。DPOは損失を異なる方法で適用します。完了レベルで、明示的な拒否シグナルを用いて。事後分析では因果関係を確立できませんが、SFTの目的では未解決のままになるものを、DPOの目的では対処できる可能性を示唆する証拠があります。
このアプローチには専門的なアノテーション基盤は必要ありません。許容可能かつ識別可能な失敗出力を生成できるモデルと、選好ペアをラベル付けするスコアリングモデルのみが必要です。ルールベースのメカニズムは繰り返しループを機械的に検出できますが、どの出力が高品質な書き起こしとして保持すべき選択例であるかを特定することはできません。
スコアリングモデルは両方を行います。退行を拒否出力としてフラグ付けし、クリーンな抽出を選択例として検証します。これにより、DPOシグナルが失敗モードをペナルティ付けする一方で、モデルの抽出能力は維持されます。得られた訓練シグナルが意図した方向に分布を移動させ、かつアーキテクチャ間で一貫してそうするかどうかは、証拠を問うべき問題です。
Consistent Across Five Model Families
DPO段階は、テストされたすべてのモデルファミリーでテキスト退行を低減しました。低減率は37%から88%の範囲で、SFT単独と比較して平均59.4%でした。この結果は、アーキテクチャ、パラメータ規模、初期退行プロファイル(1桁以上異なるものも含む)を超えて成立しました。データセットの1ケースではSFT段階後に退行が増加し、その後DPOが修正しました。このケースは一貫性を複雑化するものではありません。むしろ、他のどのケースよりも直接的にメカニズムを確認するものです。
図1は、5つのモデルファミリーそれぞれについて、Vanilla、SFT、SFT+DPOの3段階の退行率を示しています。5ファミリーのうち4つでは、各段階で退行が低下しています。5つ目のファミリーのバーは異なる動きを示しており、この違いが研究において最も分析的に重要なデータポイントです。
Qwen2.5-VL-3Bの結果を注意深く読むと、これは複雑化要因ではなく確認です。このモデルのバニラ退行率は0.60%でした。これは安定していたからではなく、長く構造化された出力を全く生成できなかったほど汎用的すぎたためです。モデルは退行アトラクターに入っていませんでした。タスクを真剣に試みるほど十分に機能していなかったからです。
SFTはそれを変えました。ドメイン適応後、Qwen2.5-VL-3Bはタスクを実行可能になりました。パイプラインが必要とするドメイン語彙と形式を備えた、より長く、より構造化された出力を生成するようになりました。その能力により、初めて退行アトラクターに近接しました。退行率は3.23%に上昇しました。
これがメカニズムを経験的に可視化したものです。SFTはモデルをタスクと、タスクの失敗幾何学の両方に同時に近づけました。これらは必ずしも同じ操作ではありません。タスク能力を向上させる訓練段階は、副作用として失敗モードへの露出を増大させる可能性があります。特に失敗モードが能力フロンティアの端に存在する場合です。同じ操作として扱うと、Qwen2.5-VL-3Bの結果はエラーのように見えます。別々の操作として扱うと(SFT + DPOパイプラインが正式に行うこと)、SFTとDPOが異なる失敗次元に対処するという仮説と整合します。
DPO段階は退行率を1.41%にまで低下させました。バニラのベースラインに戻さなかったのは、そう設計されていなかったからです。SFT後のモデルは以前より能力が高く、0.60%への復帰にはその能力を元に戻す必要があったでしょう。DPO段階が行ったのは、SFT段階が導入した失敗幾何学への対処です。
残りの4つのモデルファミリーは、同じ結論に定量的な重みを加えます。図1は、5つすべてについてSFTからSFT+DPOへの比較を示しています。
Figure 1: DPO reduced degeneration relative to SFT in every family tested - average reduction of 59.4%, peak of 87.6% (Nanonets-OCR2–3B: 1.61% to 0.20%). The direction is invariant; only the magnitude varies.
DPO後に退行が増加したモデルファミリーはありませんでした。どのファミリーもその効果から免れることはありませんでした。この一貫性は、ベンチマークで最も高いバニラ退行率(33.96%、次点は2.62%)で参加したgemma-3–4b-itにも及び、DPO段階後に75%の低減を達成しました。低減範囲(37.3%から87.6%)は、介入の方向の一貫性の欠如ではなく、初期設定とアーキテクチャの違いを反映しています。
これは普遍的な適用可能性の証明ではありません。DPOはすべてのドメイン、失敗モード、モデルファミリーに転移するとは限りません。DharmaOCRベンチマークが提供するのは、5つのOCRアーキテクチャにわたる証拠であり、核心的な仮説が成立することを示しています。トークンレベルの尤度を最大化するのではなく、完全な選好ペアを最適化することは、SFTが構造的にターゲットにできない失敗モードに対処します。結果は、テストされたすべてのモデルファミリーで方向が一貫していました。このベンチマークの範囲内でのその一貫性が、証拠が支持するものです。
The Pattern Beyond OCR
DharmaOCRアプローチが可能だったのは、このパイプラインがDPO訓練段階が設計どおりに機能するための構造的条件を満たしていたからです。その条件の有無が、同じ方法論が他に適用可能かどうかを決定します(Dharma OCR Paper on ArXiv)。OCRがユニークなドメインだから可能だったわけではありません。
1つ目の条件は、失敗モードが品質の連続体上の1点ではなく、出力の明確なクラスとして識別可能であることです。テキスト退行は、繰り返しループが単語を欠落させたり文字を誤読したりする書き起こしとはカテゴリ的に異なるため、この条件を満たします。出力は単に最適でないだけでなく、特定の、行動的に認識可能な方法で破綻しています。このカテゴリ的な区別により、パイプラインは拒否例がノイズではなく一貫した失敗幾何学を表す選好ペアを構築できました。失敗モードが許容可能な変動の範囲に溶け込むタスクには、この特性が欠けています。
2つ目の条件は、スコアリングメカニズムが人間のアノテーションを必要とせずに、許容可能な出力と失敗モードの出力を確実に区別できることです。DharmaOCRパイプラインでは、自動化されたLLMジャッジが4つのタスク固有の基準に対して候補応答をスコアリングしました。スコアリングは完璧である必要はありませんでした。選択と拒否の間に意味のある品質ギャップを持つ選好ペアを生成できる程度に一貫していれば十分でした。品質差が曖昧なペアは、DPO訓練にシグナルではなくノイズをもたらします。ジャッジの一貫性は設計要件であり、偶発的な特徴ではありません。
3つ目の条件は十分な量です。品質に意味のある分散を持つ選好データセットを生成するのに十分な推論出力が必要です。これはファインチューニングの基準からすると特別な要件ではありませんが、現実的な要件です。
これら3つの条件がすべて満たされるとき、方法論的な動きは構造的に可能になります。DharmaOCRパイプラインの中心にある設計決定(モデルの失敗出力をフィルタリングではなく拒否例として扱うこと)は、モデルの失敗がカテゴリ的に識別可能、スコア可能、かつ十分に多い場合に適用できます。
構造化生成パイプラインを構築するMLエンジニアにとっての実践的な示唆は直接的です。SFTは必要です。一般的なモデルとタスク対応可能なモデルの距離を縮めます。しかし、構造化出力の信頼性には十分ではありません。なぜなら、タスク能力と退行耐性は分布の異なる性質だからです。SFT後のDPO段階は1回の訓練投資です。DharmaOCRの結果では、退行の低減は抽出品質の犠牲にはなりませんでした。論文のベンチマーク結果は、両方が共に向上することを示しています(Specialization Beats Scale article)。
失敗モードを訓練シグナルとして使用可能にするのはドメインではなく、失敗が十分に一貫し、識別可能で、信号として成立するのに十分な数があるかどうかです。DharmaOCRパイプラインでは、それらが満たされていました。別の文脈でも同様に成立するかどうかは、タスクの失敗モードに関する構造的な問いであり、モデルファミリーやドメインに関する問いではありません。
DharmaOCRの結果は、ドメインが特別であることに依存しません。失敗が有用であることに依存します。
テキスト退行は、許容可能な出力とはカテゴリ的に区別され、推論実行を通じて一貫して生成され、人間のアノテーションなしに確実にスコアリング可能であるため、有用です。これら3つの特性(OCRの文脈でも、モデルファミリーでも、言語でもなく)が、選好データセットが扱いやすいものであったかどうかを決定しました。これらを満たす失敗モードは、除去すべきノイズではありません。分布が向かうべきでない場所を示す最も直接的な証拠です。
DPO段階はその証拠を使用しました。退行は、テストされたすべてのモデルファミリーで低下しました。バニラ率が1%未満のモデルでも、33%を超えるモデルでも、方向は一貫していました。 パイプラインは失敗を捨てませんでした。それらで訓練しました。
Sources
- Cardoso, Gabriel Pimenta de Freitas, et al. "DharmaOCR: Specialized Small Language Models for Structured OCR that outperform Open-Source and Commercial Baselines." arXiv preprint arXiv:2604.14314 (2026).
- Dharma AI. "Text Degeneration: The Production Failure Mode That LLM Benchmarks Ignore." Medium (2026).
- Dharma AI. "Specialization Beats Scale: A Strategic Variable Most AI Procurement Decisions Overlook." Medium (2026).
- Holtzman, Ari, et al. "The Curious Case of Neural Text Degeneration." arXiv preprint arXiv:1904.09751 (2020).
- Rafailov, Rafael, et al. "Direct Preference Optimization: Your Language Model is Secretly a Reward Model." arXiv preprint arXiv:2305.18290 (2023).
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.