超越聊天機器人的直接偏好優化
本文介紹了Dharma-AI團隊在結構化OCR任務中應用直接偏好優化(DPO)的方法,通過將模型自身的退化輸出作為拒絕示例,有效降低了文本退化率,平均降低59.4%,最高達87.6%。該方法不依賴人工偏好標註,適用於客觀結構化任務。
近日,Dharma-AI團隊發佈了一項關於直接偏好優化(DPO)在非聊天任務中應用的研究,展示瞭如何利用模型自身的失敗輸出作為訓練信號,顯著降低結構化OCR任務中的文本退化率。該方法已在DharmaOCR模型中得到驗證,相關論文和基準測試表明,DPO能夠將退化率平均降低59.4%,最高達87.6%。
文本退化是自迴歸語言模型在生成長序列時常見的問題,表現為重複循環,導致輸出無意義。傳統的監督微調(SFT)雖然能提升模型在特定任務上的表現,但對退化率的改善存在天花板,因為SFT以逐token的方式優化,無法從整體序列層面懲罰退化。而DPO則直接比較完整輸出的優劣,通過偏好對(優選和拒絕)來引導模型遠離退化模式。
DharmaOCR的獨特之處在於,其DPO訓練數據中的拒絕樣本並非來自人工標註,而是來源於模型自身在推理時產生的退化輸出。團隊發現,這些失敗輸出恰恰是最有價值的負信號,能夠精準指向模型需要避免的故障模式。具體而言,他們使用經過SFT的模型對同一文檔生成多個候選輸出,並由自動評分器標記出退化序列作為拒絕示例,而正確的轉錄則作為優選示例。這種方法無需額外的人工標註成本,僅需模型自身具備產生合格輸出和可識別失敗的能力。
實驗覆蓋了五個不同的視覺語言模型系列,包括Qwen2.5-VL、Nanonets-OCR等,結果一致顯示DPO進一步降低了退化率。特別值得注意的是,Qwen2.5-VL-3B模型在SFT後退化率反而從0.60%上升至3.23%,這恰恰證實了SFT可能將模型引入退化吸引子區域,而DPO成功將其校正至1.41%。這一現象揭示了SFT與DPO在機制上的互補性:SFT提升任務能力,DPO則專門處理能力提升過程中暴露出的退化問題。
DPO的訓練信號來源於模型自身的失敗輸出,這一設計決策將通常被過濾的噪聲轉化為最有信息量的負信號。DharmaOCR團隊使用23,726個訓練文檔,每個文檔由SFT模型生成多個候選輸出,並由LLM自動評分器標記退化輸出為拒絕樣本。與傳統方法不同,他們刻意保留了這些退化輸出作為拒絕示例,因為它們恰好代表了DPO階段旨在抑制的故障模式。
該方法為結構化生成任務提供了一種有效的訓練範式,尤其是那些缺乏人類偏好標籤的客觀任務。通過利用模型自身的錯誤作為學習信號,DPO能夠在無需額外數據的情況下大幅提升輸出質量,為未來在更多非聊天場景中應用偏好優化鋪平了道路。這項研究不僅驗證了DPO在非對話任務中的有效性,也為解決文本退化這一普遍問題提供了新的思路。