Baidu 已開源 Unlimited-OCR,這是一款30億參數的文件模型,其招牌特色不只在於它讀得多準,更在於它如何處理長度。它可以接收一份40頁的 PDF,在示範中甚至是一整本書,並在單次前向傳遞中完成解析,同時讓記憶體佔用維持平穩。該模型採用 MIT 授權,而且以30億參數、在其混合專家設計中約5億為活躍參數的規模,小到足以在你自己的硬體上運行。
這之所以重要,需要花點時間說明。在這類讀取文件的模型中,跑長序列最昂貴的部分是 KV cache,也就是模型在處理一段序列時所維持的運行記憶。一般而言,這份 cache 會隨長度線性成長,因此文件越長,所耗費的記憶體與延遲就越多,而非常長的文件要不是被切成片段,就是變得不切實際。讓這份 cache 維持平穩,正是讓單次掃過整本書仍能保持低成本的關鍵。
Baidu 為此設計的機制是一套它稱為 Reference Sliding Window Attention(簡稱 R-SWA)的注意力機制,將 cache 從線性壓縮為常數。其構想是一種拆分:模型始終看得到完整的參考資料,也就是文件的視覺 token 與提示,但在輸出端,解碼器只保留最近生成的128個 token 作為它的工作記憶。因此,無論它已經產出多少頁,它向前攜帶的記憶都不會成長。它建構於 DeepSeek-OCR 的 DeepEncoder 之上,將 SAM-ViT 與 CLIP-ViT 串接,並施以16倍的 token 壓縮,使得一張1024乘1024的頁面在模型開始閱讀之前就被轉換成僅256個視覺 token。
數據支持了這項設計。在 OmniDocBench v1.6 基準測試上,Unlimited-OCR 拿下93.92%的總分,Baidu 將其稱為新的頂尖水準。在其自家的長文件測試集上,20頁文件單次解析的編輯距離為0.0572,即便是40頁以上的文件也維持在0.1069的可用水準。更能說明問題的是延遲圖表:DeepSeek-OCR 的每次呼叫時間會隨著解碼而攀升,並在對齊邊界處出現尖峰,而 Unlimited-OCR 的延遲無論序列長度為何都維持一條平線。根據 Baidu 的說法,它徹底勝過了 DeepSeek-OCR,這一點頗為值得注意,因為它正是建構於 DeepSeek-OCR 自家的編碼器之上。
值得關注的理由要回到文件實際存在的地方。企業內部大多數有用的資料都躺在冗長的 PDF、合約、手冊與掃描書籍之中,而要把這些餵進檢索系統,向來意味著得付出不斷成長的記憶體稅,或是把它們拆成失去脈絡的片段。一款能以常數記憶體在單次傳遞中解析整份長文件、且能在 MIT 授權下自行部署的模型,正是直接瞄準那個資料攝取問題。誠實的提醒依然成立:OCR 基準測試衡量的只是一個狹窄的切面,真正困難的真實世界考驗是雜亂的掃描件、密集的表格與手寫字,分數在那裡會下滑,而倚靠 DeepSeek-OCR 的編碼器也意味著這些進展是架構上的精修,而非從零開始的設計。但長文件解析的常數 cache 是那種恰到好處的想法,那種會悄悄讓文件 AI 技術堆疊的其餘部分運行起來更便宜的想法。
