儘管採用了更新的架構,DharmaOCR 透過領域專精和目標式訓練,在巴西葡萄牙語的辨識上超越了 Mistral OCR4 和 Unlimited-OCR。本文將呈現此優勢背後的證據與機制。

三個月前,我們發表了一篇關於 DharmaOCR 的論文,並開源了其中一個模型。其目標非常明確:專為巴西葡萄牙語設計的光學字元辨識。

訓練流程分為兩個階段。第一階段是監督式微調,利用大量來自不同來源、格式和複雜度的葡萄牙語文件進行訓練。此階段使模型的權重與巴西葡萄牙語的特定詞彙、語法和文件結構對齊,將表示能力集中於目標語言,而非分散到更廣泛的多語言空間。

第二階段應用了直接偏好優化(Direct Preference Optimization, DPO):模型不只從正確的轉錄中學習,更從競爭輸出之間的比較偏好數據中學習,使其在推論時能持續選擇更好的提取結果。此階段解決了不同的問題:不是準確性,而是穩定性。

透過抑制導致生成模型產生重複或不連貫輸出的失敗模式,DPO 減少了推論時間和成本,並顯著提高了模型在生產環境中的可靠性。

綜合兩階段的結果,該模型在以葡萄牙語為重點的基準測試中,實現了最高的提取品質分數和最低的退化率。這兩個階段都是必要的;微調階段建立了領域能力,而 DPO 階段則確保了這種能力在模型容易失敗的條件下仍能維持。

OCR 模型發展迅速。然而,最初促使 DharmaOCR 設計的差距(在複雜文件上的提取品質以及在生產條件下的模型穩定性)並未縮小。相反地,隨著領域的變化,這些差距反而變得更具啟發性。

多模態生成模型的普及使得基於語言模型的 OCR 變得廣泛可用,隨後出現的微調 OCR 變體浪潮反映了其採用速度之快。然而,這種普及並未改變該技術的根本特性。每個基於生成模型構建的 OCR 系統都是機率性的。轉錄錯誤是這種機率性技術固有的變數。

模型之間的差異在於它們產生多少錯誤以及錯誤的類型。這由兩個因素決定:模型的結構(其架構和參數數量)以及這些參數如何針對任務進行訓練。

架構和參數數量決定了模型學習能力的上限。而訓練則決定了這種能力如何分配。

這種區別使得專業化成為一個結構性問題,而非設計偏好。當模型在受限領域(例如單一語言、特定文件類型或特定任務)上進行訓練時,其所有參數都專用於該特定任務。

當模型被訓練以涵蓋更廣泛的領域(例如處理 N 種語言的多語言模型)時,相同的參數必須分佈在所有這些領域中。這種分佈並非線性:神經元疊加原理意味著單個參數可以同時編碼多個特徵。但這種劃分是真實存在的,其後果也是真實的。一個涵蓋範圍越廣的模型,對其中任何一個部分的投入就越少。

DharmaOCR 的訓練反向接受了這一限制。該模型並非設計成其他語言的最佳選擇,也從未有此意圖。作為交換,網路中可用的每個參數都可以專注於巴西葡萄牙語的特定詞彙、形態和拼寫模式,這是該模型資源在該領域最直接的運用方式。

這種集中是相對於多語言和更廣泛領域模型固有優勢的結構基礎。這種優勢不依賴於擁有比競爭對手更大的架構或更複雜的訓練程序,因為新的架構和訓練技術都能提升任何模型的能力。它取決於這些資源的導向:集中於一個領域,而不是分散於多個領域。

三個月後,更新的模型已經問世。當這些模型更新、能力更強時,專業化的論點是否仍然成立,這是一個不同的問題。

DharmaOCR 論文發表三個月後,兩個新的 OCR 模型引起了研究界的廣泛關注:Mistral OCR4 和 Unlimited-OCR。兩者都代表了真正的技術進步,包括新的訓練技術、新的資料集,以及在多種語言和一系列基準評估中取得的強勁成果。它們是那種提升 OCR 系統預期交付標準的模型。

當我們將這兩個模型與 DharmaOCR 的基準測試(一個專為葡萄牙語設計的評估)進行比較時,結果是決定性的。

DharmaOCR 獲得 0.925 分。Mistral OCR4 獲得 0.798 分。Unlimited-OCR 獲得 0.7587 分。

差異顯著。Mistral OCR4 比 DharmaOCR 低約 13 分;Unlimited-OCR 低於 16 分以上。兩者都在我們的模型之後發布,並都擁有大量的研究資源支持。在 DharmaOCR 根本設計決策是完全專注於葡萄牙語的任務上,專業化優勢是可衡量且顯著的。

基準測試是核心發現。接下來的內容將闡明為何這種差距呈現出特定的形式。

處理非簡單的葡萄牙語文件,精確揭示了多語言模型容易出錯的地方。巴西全國高中會考(ENEM)的作文結合了手寫文字、詞彙、專有名詞和巴西葡萄牙語特有的文化參考。這些正是語言專屬訓練能產生回報的文件類型。

Mistral OCR4 在這類文件上進行評估時,將 Chico Buarque(巴西最廣為人知的音樂家和詩人之一)的名字轉錄為「Chico Barque」。Unlimited-OCR 則將同一個名字轉譯為「chico bique」。當遇到「O Brasil não exclui, assimila」(「巴西不排斥,它同化」,這句 Chico Buarque 的名言嵌入在同一文件中)時,Unlimited-OCR 返回:「a dose de chico bique, 'o Brasil no exclu, eliminila.'」

這些並非隨機錯誤。一個對巴西葡萄牙語接觸不足的模型不會任意失敗,它恰恰會在區分巴西葡萄牙語與更廣泛多語言語料庫的詞彙和專有名詞上出錯。Chico Buarque 並非一個冷門的參考;這個名字在全國範圍內都廣為人知。其在輸出中系統性的錯誤並非邊緣案例,而是一個診斷:證明了模型訓練的不足之處。

DharmaOCR 在相同文件上進行評估時,能正確處理這些情況。原因很直接:模型的訓練集中於這個語言空間,將其資源導向巴西葡萄牙語特有的詞彙和專有名詞分佈,而不是同時分散到多種語言。

這些範例是為了闡明基準測試,而非取代它。基準測試確立了差距的大小;範例則展示了為何這種差距集中在特定語言的辨識上,而非通用能力。

然而,提取準確性只是生產效能的一個維度。在視覺困難下的穩定性是另一個維度,而且在操作上,這是更具影響力的失敗點。

當生成模型遇到無法清晰解析的文件時,例如小字體、掃描品質不佳或密集手寫文字,它會面臨輸入訊號的不確定性。主要以預測下一個 token 為目標進行訓練的模型在此處面臨一個特定的弱點:當視覺訊號變得模糊時,模型可能會繼續從先前學習的模式生成,而不是從來源文件生成。

結果就是文本退化,產生重複、不連貫且語義上與頁面脫節的輸出。

當遇到小字體的文件時,Mistral OCR4 產生的輸出與原文毫無關聯。

這不是對來源的低品質轉錄。這是一種完全不同類型的失敗。

其操作後果與轉錄錯誤不同。不正確的轉錄是可恢復的錯誤,它與來源文件存在關係,原則上可以識別和糾正。退化輸出則沒有這種關係。它無法糾正,因為沒有可糾正的目標。

對於依賴結構化 OCR 輸出的下游流程,例如文件分類、資訊提取、合規工作流程,退化輸出並非不準確的數據,而是結構上無法使用的數據。自動化旨在提供的效率,恰好在輸出不再是資訊的那一刻被抵消。

Mistral OCR4 和 Unlimited-OCR 是優秀的模型,背後有著顯著的技術進步。這裡描述的退化行為並不能定義它們;它識別出一個特定的失敗條件,即它們目前的訓練尚未針對此領域解決的問題。問題在於,旨在解決此問題的訓練流程會是什麼樣子。

在 DharmaOCR 中,答案就是 DPO 階段。

監督式微調將模型的資源集中在目標領域,這是建立上述語言對齊的階段。但 SFT 訓練的是單個 token 預測:模型學習在給定上下文的情況下產生正確的下一個 token。在視覺複雜性下,這會產生導致退化的條件。

如果輸出中的早期 token 偏離了來源文件,每個後續預測都會以該偏離狀態為條件,輸出將繼續漂移。重複循環和不連貫序列是這種情況下固有的特徵,它們是逐步優化目標而未考慮完整提取連貫性的可預測結果。

DPO 則針對不同的訊號進行訓練。SFT 逐 token 訓練,而 DPO 則根據完整輸出的品質來訓練模型,教導它根據完整提取的連貫性而非單個預測的準確性來區分競爭回應。

其效果是穩定的:在視覺複雜性本會觸發漂移的文件上,模型不太可能走上偏離的路徑,因為其訓練會懲罰在提取層面失去連貫性的輸出。

結果正如原始基準測試所證明:在沒有此訓練階段的模型會失去連貫性的相同文件上,DharmaOCR 實現了更低的退化率和更高的提取準確性。

基準測試確立了今日的真實情況。但對於兩年後的情況,它的精確度較低。

未來更新的模型即使在巴西葡萄牙語方面,最終也可能超越目前的 DharmaOCR,這是可能且很可能發生的。架構將會改進,訓練技術將會進步,資料集也將擴大。這個領域正朝著更高能力的方向發展,沒有理由預期這種趨勢會停止。這是預期的,也是受歡迎的。