OCR

DharmaOCR 對上更新模型:OCR 專用訓練為何仍有價值

Dharma-AI 用巴西葡萄牙文基準比較 DharmaOCR、Mistral OCR4 與 Unlimited-OCR:兩階段訓練、逐 token 漂移機制、Chico Buarque 誤轉案例,以及 0.925 對 0.798 的廠商自評分數背後,產品團隊該看的四個訊號。

DharmaOCR 對上更新模型:OCR 專用訓練為何仍有價值 — 文章封面
本頁內容8 個段落
  1. 三個月後的對決:沒有免費的勝利
  2. 兩階段訓練:先建域,再補穩定性
  3. 逐 token 預測為何會漂移:DPO 的機制
  4. Chico Buarque 變成 Chico Barque:錯誤的形狀
  5. Text Degeneration 才是生產級問題
  6. 專精的結構邏輯,與作者的自我設限
  7. Builder 檢查清單
  8. 參考來源

模型更新,不代表每個特定任務都會自動變好。Dharma-AI 三個月前發表 DharmaOCR 論文並開源其中一個模型(Dharma-OCR-LITE,4B 的 Image-Text-to-Text 模型),目標只有一個:巴西葡萄牙文的 OCR。這三個月內,Mistral OCR4 與 Unlimited-OCR 兩個更新、資源更充沛的模型相繼上場。7 月 16 日,Dharma-AI 發布比較文章,把三家模型放上同一份葡萄牙文文件集。先講清楚證據屬性:benchmark 由 Dharma 團隊自行設計、僅圍繞 Portuguese,這是廠商自評,不是獨立第三方評測。但它回答的問題對每個要選 OCR 的團隊都成立:發布日期與領域訓練,哪個才是主導變數?

三個月後的對決:沒有免費的勝利

分數先攤開:DharmaOCR 拿 0.925,是該基準上最高的 extraction 品質分數,且 degeneration 率最低;Mistral OCR4 得 0.798,Unlimited-OCR 得 0.7587,分別落後約 13 分與超過 16 分。值得注意的是時間軸:兩個對手都發表於 DharmaOCR 之後。新,沒有換來這個語言域上的勝利。

模型 品質分數 落後幅度
DharmaOCR 0.925 —(基準最高,degeneration 最低)
Mistral OCR4 0.798 約 13 分
Unlimited-OCR 0.7587 逾 16 分

兩階段訓練:先建域,再補穩定性

DharmaOCR 的訓練分兩階段,各自處理不同的問題。第一階段是 supervised fine-tuning,語料來自來源、格式、複雜度各異的 Portuguese 文件。這一步的效果是把模型的 representational capacity 集中到目標語言,而不是稀釋在多語空間裡:同一份參數預算,全部花在葡萄牙文的詞彙、句法與文件結構上。

第二階段採用 Direct Preference Optimization(DPO),訓練信號來自競爭輸出之間的偏好資料。關鍵是它解決的問題:不是準確率(accuracy),而是穩定性(stability)。DPO 抑制了重複與不連貫輸出這類 failure modes,附帶效果是推論時間與成本下降,生產可靠性提升。SFT 建立域內能力,DPO 確保這個能力在模型容易失敗的條件下仍然守得住——兩個階段缺一不可。

逐 token 預測為何會漂移:DPO 的機制

要理解 DPO 為什麼有效,得先看 SFT 的結構性弱點。SFT 的目標是逐 token 預測:一旦早期 token 在模糊視覺訊號下偏離原文,後續所有預測都以「已偏離的狀態」為條件,錯誤便自我強化,形成重複迴圈。這不是隨機噪音,而是訓練目標決定的漂移路徑。

DPO 的訓練信號不同:它以完整輸出的一致性為單位,而不是單一 token 的準確率。模型學會在完整擷取結果的層級上比較好壞,於是在視覺複雜的文件上,比較不容易踏入那條一去不回的漂移路徑。兩階段剛好對上兩個層次:token 層級的準確,與輸出層級的穩定。

Chico Buarque 變成 Chico Barque:錯誤的形狀

最有說服力的證據來自 ENEM(巴西高中會考)的手寫作文。Mistral OCR4 把巴西最知名的音樂人與詩人之一 Chico Buarque 誤轉為「Chico Barque」,Unlimited-OCR 則轉成「chico bique」。同一個名字,兩家模型、兩種錯法,而且都不是冷僻詞——Chico Buarque 是全國性的人物。錯誤也不止於名字:面對 Chico Buarque 的句子「O Brasil não exclui, assimila」(巴西不排斥,它同化),Unlimited-OCR 轉出「a dose de chico bique, ‘o Brasil no exclu, eliminila.’」,連引文的結構都一併丟失。

這說明錯誤不是隨機的:多語模型的錯誤集中在 Brazilian Portuguese 特有的詞彙與專有名詞上,正是把這個語言從更大的多語語料中區分出來的那些字。錯誤集中在哪裡,本身就是診斷訊號。

Text Degeneration 才是生產級問題

一般的轉錄錯誤與 text degeneration 是兩個不同類別的失敗。前者與原文仍有對應關係,找得到、修得了;後者發生在視覺訊號模糊的時候——小字體、劣化掃描、密集手寫——generative OCR 會從先驗模式繼續生成,產出與頁面無關的內容。文中展示 Mistral OCR4 對小字體文件的輸出與原文完全無關,這不是低品質轉錄,是另一種失敗。

對生產環境而言差別是結構性的:degenerated 輸出沒有可修正的對象。送進文件分類、資訊抽取、合規流程後,它是結構上不可用的資料,不是可以被 pipeline 修掉的雜訊。

專精的結構邏輯,與作者的自我設限

Dharma-AI 的核心主張不是「我們永遠領先」,而是一條結構邏輯:有限的參數分配到多個域,會稀釋單一域的投入;neuron superposition 允許參數複用,但不逆轉這個取捨。作者甚至明說:未來更新的模型,很可能連在 Brazilian Portuguese 上也超越現行 DharmaOCR——這是預期,不是風險。專精的優勢不在守住排行榜位置,而在資源集中帶來的槓桿;源檔明言這個結構動態不會逆轉。至於資源何時該移往新領域,是本文的取捨建議,非源文主張。

Builder 檢查清單

選 OCR 模型時,別只看平均分數,四件事值得寫進自己的評測:第一,用自家文件建測試集,覆蓋實際的版型與品質分布;第二,記錄 degeneration——低品質掃描下是否產生無來源文字;第三,看專有名詞錯誤的集中度,那指向模型的域外弱點;第四,確認失敗模式是拒絕輸出還是生成不可用內容。如果通用模型在你的文件集上已經達標,不必為專用而專用;但如果錯誤集中在特定語言、版型或術語上,域內 SFT 加 DPO 的兩階段配方,就是 DharmaOCR 這個案例真正可遷移的方法論。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

分享X電郵