![]()
端到端 OCR 在過去兩年迎來新一輪熱潮,以 DeepSeek OCR 為代表的方案將大語言模型(LLM)用作解碼器,借助語言先驗顯著提升了識別精度。
然而,這類方案存在一個內(nèi)在缺陷:隨著輸出序列不斷增長,KV 緩存持續(xù)膨脹,既消耗大量顯存,又使每一步解碼的延遲逐漸拉長。
現(xiàn)有模型普遍采用類似 for 循環(huán)的方式逐頁處理,每處理完一頁便重置記憶,再切換到下一頁。這種方式本質(zhì)上是一種工程補丁,而非真正意義上的長程理解能力。
反觀人類,我們在抄寫一本書時并不會持續(xù)回看所有已寫內(nèi)容,而是把注意力集中在三處:正在抄寫的原文、剛剛寫下的少量字符、以及即將落筆的下一個字。對于已寫過的內(nèi)容,人類以一種“軟遺忘”的方式逐漸淡出記憶。這種機制使人能夠在認知負荷極低的情況下完成數(shù)百頁的連續(xù)轉(zhuǎn)錄任務(wù)。
受此啟發(fā),百度團隊提出了“無限 OCR”(Unlimited OCR),將解碼器中的所有注意力層替換為“參考滑動窗口注意力”(Reference Sliding Window Attention,R-SWA),在降低注意力計算開銷的同時,在整個解碼過程中維持恒定的 KV cache。
![]()
論文鏈接:https://arxiv.org/pdf/2606.23050
GitHub地址:https://github.com/baidu/Unlimited-OCR
據(jù)論文介紹,通過將 DeepSeek OCR 編碼器的高壓縮率與恒定 KV cache 設(shè)計相結(jié)合,Unlimited OCR 能夠在標準 32k 最大長度限制下,以單次前向傳播轉(zhuǎn)錄數(shù)十頁文檔。
更重要的是,R-SWA 是一種通用的解析注意力機制,除 OCR 外,它同樣適用于 ASR、翻譯等任務(wù)。
R-SWA 的設(shè)計邏輯
標準的多頭注意力(MHA)采用全量 KV cache,隨著輸出 token 數(shù)線性增長,其占用的顯存和計算時間也同步增長。對于一個需要輸出十萬個 token 的多頁文檔來說,這意味著 KV cache 將無限膨脹,推理速度也會持續(xù)下降。這正是當前所有端到端 OCR 模型無法實現(xiàn)“一次性解析整本書”的根本原因。
R-SWA 將注意力劃分為兩段:參考段(reference)和解碼滑動窗口(decode window)。
參考段包含視覺 token 和提示詞(prompt),在整個解碼過程中保持全局可見,且不參與狀態(tài)轉(zhuǎn)移,視覺特征只被編碼一次,此后靜止不變。這一設(shè)計避免了普通滑動窗口注意力(SWA)因?qū)⒁曈X token 也納入滑動循環(huán)而導致的"視覺特征逐步模糊"問題。
解碼滑動窗口的寬度固定為 n(默認 128),以因果方式向右滑動。每生成一個新 token,最早進入窗口的那個 token 的 KV 便被驅(qū)逐出隊列。這樣一來,解碼側(cè)的 KV cache 規(guī)模始終被限定在固定容量之內(nèi),而非隨輸出長度線性增加。
![]()
圖|R-SWA 與標準全量注意力的 KV cache 對比示意。
對于長序列解碼,KV cache 總量對比尤為明顯。在輸出 token 數(shù)遠大于窗口寬度的情況下,R-SWA 的 cache 占用趨向于一個有界常數(shù),而 MHA 的 cache 則無上限地增長。這一差距隨輸出長度加大而擴大,正是 R-SWA 實現(xiàn)近無限解析的理論基礎(chǔ)。
Unlimited OCR 沿用了 DeepSeek OCR 的 DeepEncoder 編碼器。DeepEncoder 將 SAM-ViT 與 CLIP-ViT 級聯(lián),在銜接橋處實施 16× token 壓縮,使一張 1024×1024 的 PDF 頁面圖像最終只產(chǎn)生 256 個視覺 token。這一極高的壓縮率意味著:即使同時輸入數(shù)十頁文檔,prefill 階段產(chǎn)生的視覺 token 總量也相對可控。
DeepEncoder 壓縮視覺端,R-SWA 穩(wěn)定解碼端兩者相結(jié)合,共同支撐起 Unlimited OCR 在 32K 最大長度限制下一次性解析數(shù)十頁文檔的能力。
![]()
圖|Unlimited OCR 整體架構(gòu)示意。
實驗結(jié)果1.單頁文檔:達到端到端 SOTA
研究團隊在 OmniDocBench v1.5 和 v1.6 上對 Unlimited OCR 進行了評測,并與當前主流的端到端 VLM(Vision-Language Model)方案進行了系統(tǒng)比較。
在 OmniDocBench v1.5 上,Unlimited OCR(3B-A0.5B)取得了 93.23 的 Overall 分數(shù),相比 DeepSeek-OCR 提升 6.22;在 OmniDocBench v1.6 上,Unlimited OCR 以 93.92% 的 Overall 分數(shù)取得端到端方案 SOTA,超過了 Logics-Parsing-v2(93.33%)、FireRed-OCR(93.26%)等同期工作。
![]()
研究團隊還對 OmniDocBench v1.5 涵蓋的 9 種文檔類型(學術(shù)論文、書籍、考卷、雜志、報紙、便簽等)進行了逐類別對比。
結(jié)果顯示,Unlimited OCR 在所有類別的所有指標上均優(yōu)于 DeepSeek OCR,在 9 項文字編輯距離和閱讀順序指標中有 7 項超過了 DeepSeek OCR 2,表明 R-SWA 的引入帶來的是無損增益。
2.長程解析:多頁一次性轉(zhuǎn)錄
這是 Unlimited OCR 區(qū)別于所有現(xiàn)有模型的關(guān)鍵能力。研究團隊構(gòu)建了一個內(nèi)部測試集,收錄了小說、學術(shù)文檔和論文,按頁數(shù)劃分為 2、5、10、15、20、40+ 頁六檔,每檔不少于 10 本,以評估多頁一次性解析的表現(xiàn)。
![]()
Distinct-n 衡量生成文本中不重復 n-gram 的比例,是檢測模型在長程生成中是否陷入循環(huán)重復的重要指標。即使在 40 頁以上的場景下,Distinct-35 仍達到 96.90%,編輯距離保持在 0.11 以內(nèi)。
研究團隊指出,此類場景下的誤識別主要來自 PDF 圖像中的小字體文本在 1024×1024 分辨率下難以辨認,而非 R-SWA 在長程推理中失去方向。
3.推理效率
在推理吞吐量(TPS)方面,隨著輸出序列變長,DeepSeek OCR 的 TPS 持續(xù)下降:在輸出 6000 個 token 時降至 5822.87 TPS,而 Unlimited OCR 維持在 7847.71 TPS,領(lǐng)先約 35%。
![]()
在單頁 OmniDocBench 評測場景下,Unlimited OCR 的吞吐量也比 DeepSeek OCR 高出 12.7%(5580 vs. 4951 TPS)。
每一步 Flash Attention v3 kernel 的調(diào)用延遲在 Unlimited OCR 中始終保持平穩(wěn),而在 DeepSeek OCR 中則隨解碼步驟線性增加,并在 KV cache 跨越某一對齊邊界時出現(xiàn)驟降。
不足與未來方向
研究團隊指出,當前 Unlimited OCR并不能在有限上下文長度(如 32K)下實現(xiàn)真正意義上的“無限”解析,因為 prefill 端的長度仍受上下文窗口約束,隨著輸入頁數(shù)增加,prefill 階段的視覺 token 總量也隨之累積。
未來,他們的短期計劃是將最大訓練上下文擴展至128K,以支持更多頁面的一次性 prefill;長期目標是構(gòu)建一個 prefill 池,讓模型能夠自動按需讀取 KV 片段,模擬人類翻頁時的記憶檢索行為,從而實現(xiàn)真正的無限解析。
此外,他們還計劃將 R-SWA 遷移至自動語音識別(ASR)和翻譯等同樣具有參考輸入的長程任務(wù)。
Unlimited OCR 所揭示的核心結(jié)論,即在端到端模型的解碼器中,將全量注意力完整替換為 R-SWA 對解析任務(wù)無損,提供了一條以有限資源撬動長程推理能力的實用路徑。
將 KV cache 從隨解碼長度無限增長的量轉(zhuǎn)變?yōu)橛薪绯?shù),這一改變有望在 OCR 之外更廣泛的參考型長程生成任務(wù)中得到應用。
整理:喬治
如需轉(zhuǎn)載或投稿,請直接在本文章評論區(qū)內(nèi)留言
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.