使用模型自身的失敗輸出作為拒絕對
四月,我們發布了 DharmaOCR,這是一個專門的結構化光學字元辨識(OCR)模型(可在 Hugging Face 上取得),同時也發表了一篇論文,詳細說明其背後的方法論,並透過基準測試展示了其卓越的品質和成本效益。
該論文針對領先的視覺語言模型系列——包括開源和商業模型——進行了結構化文件提取任務的基準測試:針對巴西葡萄牙語文本的 OCR。報告的指標之一是文字退化率:模型產生重複循環而非正確轉錄的頻率。
在所有測試的開源模型系列中,原始的文字退化率從低於 1% 到高於 33% 不等。監督式微調(SFT)降低了大多數模型的退化率,但很少能達到生產可接受的水平。這種模式指出了一個結構性限制:SFT 優化的是正確輸出,但沒有明確懲罰文字退化。單獨的任務導向微調似乎在減少這種失敗模式方面存在上限。
第二個訓練階段——在監督式微調(SFT)之後,使用相同的模型和文件進行——在所有測試的模型系列中都降低了文字退化。無一例外。平均減少了 59.4%,最佳情況下減少了 87.6%。
圖 1:DPO 相對於 SFT 在所有測試的模型系列中都降低了退化率——平均減少 59.4%,最高達 87.6%(Nanonets-OCR2–3B:從 1.61% 降至 0.20%)。方向是不變的;只有幅度有所不同。
第二個階段就是直接偏好優化(DPO)。幾乎所有已發表的 DPO 應用都針對聊天對齊——模型根據人類對其有用性或無害性的判斷進行訓練(例如:Rafailov 等人,2023)。OCR 不帶有任何主觀性:任務是客觀的,也沒有對話情境。然而,存在一個明確的偏好訊號。
正確的轉錄被選中;重複循環則被拒絕。DharmaOCR 利用這種二元性來建構 DPO 訓練集,測試這項技術並非用於對齊,而是作為特定失敗模式的直接緩解工具。
訓練訊號來自模型本身——特別是來自它失敗時產生的輸出。失敗模式如何轉化為訓練訊號,是一個關於失敗的結構性問題,而非模型本身的問題。
重複循環在微調後依然存在
為何 SFT 在處理文字退化方面存在上限仍是一個開放性問題——但主要推測指向損失粒度。SFT 逐詞元(token by token)進行訓練:每個預測都是獨立評估的,重複循環從未被視為完成層級的失敗而受到懲罰。DPO 則顛覆了這種邏輯。訓練訊號是完整的輸出——被選中或被拒絕——這意味著一個退化的完成可以被明確標記為錯誤的結果,而不僅僅是一系列局部可能性高的詞元。
當訓練目標最大化觀測序列的可能性時,它會將機率質量集中在這些序列所佔據的分佈空間區域。一個模型在推論期間進入這些高機率吸引子區域時,會在下一步為相同的詞元分配更高的機率——這會進一步增加機率,從而維持循環,直到序列達到最大詞元限制。文字退化就是這種幾何結構的產物:一個自迴歸模型在沒有外部干預的情況下無法退出的自我強化重複循環(Holtzman 等人,2020)。
它並非純粹是解碼的產物。這個吸引子涉及訓練目標、學習到的分佈,以及機率質量在推論期間如何集中——這是一個系統層級的失敗,而非局限於任何單一組件的失敗。
這種失敗的幾何結構在詞元層級上是可見的。
圖 2:當一個詞元在其自身的條件分佈中佔主導地位時,每個取樣步驟都會加深吸引子。解碼器從這種幾何結構中取樣;它並不能決定這種結構。
推論層的干預措施——重複懲罰、溫度調整、提前中止邏輯——作用於取樣步驟。它們控制了症狀,但沒有觸及產生症狀的分佈。吸引子依然存在。
監督式微調將分佈拉近任務領域。對於結構化生成管線,這意味著使用目標語言、所需輸出格式,在特定領域文件上進行訓練。模型在處理較長序列、受限語法和領域詞彙方面變得更流暢。然而,SFT 並沒有直接解決文字退化問題。其目標——最大化觀測序列的可能性——沒有包含懲罰重複循環的項。這種失敗模式根本不在訓練訊號優化的範圍內。
DharmaOCR 基準測試中的一個模型系列顯示出一個意想不到的模式:原始文字退化率為 0.60%,在 SFT 後上升到 3.23%,隨後 DPO 階段將其降至 1.41%。這是一個單一數據點——一個例外,而非通則——將其視為機制證明會誇大證據。但它確實說明了 SFT 並不能可靠地減少文字退化。能力和退化抵抗力可以獨立變化。
這種區別在結構上很重要。SFT 和 DPO 並非以不同強度執行相同操作的可互換訓練階段。SFT 縮小了模型先驗分佈與任務領域之間的距離。它沒有做的是將文字退化作為一個目標來處理——它對失敗模式的影響是偶然的,且基準測試結果顯示它並不一致。產生文字退化的吸引子並非模型與任務接近度的問題——而是模型現在佔據的分佈空間形狀的問題。
解決這種幾何結構需要一個專門設計的訓練訊號,以引導模型遠離其自身的失敗模式。對於沒有人類偏好標籤、也沒有傳統「有用與有害」區別的結構化、非對話式任務,建構這種訊號是一個設計決策。
設計決策:將退化輸出作為拒絕對
DharmaOCR 管線對 DPO 方法論的貢獻是獨特的:它使用 SFT 模型自身的退化輸出作為被拒絕的範例——不是作為要移除的雜訊,而是作為優化所需的負面訓練訊號。
DPO 需要偏好對:對於相同的輸入,一個被選中的輸出和一個被拒絕的輸出,且品質差異足夠明確,以便優化能夠從中學習。在聊天對齊中,人類標註者會產生這些判斷——評估回應是否更有用、更準確或更安全。結構化生成任務沒有等效的標註來源。OCR 管線要嘛產生正確的轉錄,要嘛不產生。品質差異確實存在,但它們不是由人類偏好排名產生的——它們是由任務自身的正確性標準產生的。
DharmaOCR 管線識別出結構化生成任務已經產生的一種偏好訊號:SFT 模型在推論中生成的輸出範圍。一個能夠執行結構化任務的模型,也能以特有的方式失敗。這些失敗——進入退化吸引子的輸出——並非要過濾掉的雜訊。它們是可用的最具資訊量的負面訊號。
該論文在 23,726 份訓練文件上實施了這一方法,使用 SFT 模型為每份文件生成多個候選回應,並使用自動化的 LLM 評審對每個回應進行評分。管線如下所示。
圖 3:關鍵的設計決策不在於管線的結構——而在於管線保留了什麼:顯示文字退化的輸出被特意標記為拒絕範例,而不是作為低品質雜訊被過濾掉。
當訓練數據中出現退化輸出時,傳統的回應是將其移除。它們是低品質訊號;過濾會產生更乾淨的數據集。DharmaOCR 的方法顛覆了這種邏輯。退化輸出被特意保留為每個(選中、拒絕)對中的拒絕範例,因為它們精確地代表了 DPO 階段旨在抑制的失敗模式。移除它們將會丟棄最明確的目標。
該論文將此描述為「偏好引導的隱式不可能性」——模型不僅被訓練以產生更好的輸出,而且被訓練以遠離特定類型的失敗。SFT 最大化高品質輸出的可能性,而 DPO 階段則同時懲罰顯示退化吸引子幾何結構的輸出。優化的方向以 SFT 單獨無法實現的方式變得明確。
退化輸出特別適合作為拒絕範例,因為它們代表了一種一致的失敗模式,而非多樣化的低品質輸出。一個遺漏詞語的轉錄是低品質的,但其失敗是個案性的。相比之下,重複循環即使在 SFT 之後,仍持續出現在文件和模型系列中——這種模式與基於可能性的優化無法可靠糾正的失敗模式一致。
DPO 以不同的方式應用其損失:在完成層級,帶有明確的拒絕訊號。事後分析無法建立因果關係,但證據表明 SFT 目標未能解決的問題,DPO 可能能夠解決。
這種方法不需要專門的標註基礎設施——只需要一個能夠產生可接受和可識別失敗輸出的模型,以及一個評分模型來標記偏好對。基於規則的機制可以機械地檢測重複循環——但它無法識別哪些輸出代表值得保留作為選中範例的高品質轉錄。
評分模型兩者兼顧:它將退化標記為被拒絕的輸出,並將乾淨的提取驗證為被選中的輸出,在 DPO 訊號懲罰失敗模式的同時,保持模型的提取能力完好無損。由此產生的訓練訊號是否成功地將分佈朝預期方向移動——以及它是否在不同架構中保持一致——是證據問題。
在五個模型系列中保持一致
DPO 階段在所有測試的模型系列中都降低了文字退化——相對於單獨使用 SFT,減少幅度從 37% 到 88% 不等,平均減少 59.4%。這一結果在不同架構、參數規模以及起始退化情況(差異超過一個數量級)下均成立。數據集中的一個案例顯示,在 SFT 階段後退化率有所增加,隨後 DPO 將其糾正。這個案例並沒有使一致性複雜化。它比其他任何案例都更直接地證實了該機制。
圖 1 顯示了五個測試模型系列在三個階段的退化率:原始、SFT 和 SFT+DPO。在五個系列中的四個,退化率在每個階段都有所下降。第五個系列的條形圖變化不同——而這種差異是本研究中最具分析重要性的數據點。
Qwen2.5-VL-3B 的結果,仔細解讀,並非一個複雜情況。它是一個確認。該模型的原始退化率為 0.60%——這並非因為它穩定,而是因為它過於通用,根本無法產生長的結構化輸出。該模型沒有進入退化吸引子,因為它沒有足夠認真地嘗試該任務以找到它。
SFT 改變了這一點。經過領域適應後,Qwen2.5-VL-3B 變得能夠執行該任務——產生了管線所需的更長、更結構化的輸出,並帶有領域詞彙和格式。這種能力使其首次接近退化吸引子。其退化率上升到 3.23%。
這是該機制在實證上可見的證明:SFT 將模型移向
