這篇技術報告由百度公司(Baidu Inc.)的研究團隊完成,於2026年6月22日發布在預印本平台arXiv,編號為arXiv:2606.23050v1,研究方向歸屬於電腦視覺領域(cs.CV)。有興趣深入了解技術細節的讀者可以通過該編號查詢完整論文,代碼和模型權重也已在GitHub上公開發布。
一、 先從"抄書"這件小事說起
你有沒有試過坐下來,把一本書逐字抄到紙上?這件事聽起來枯燥,但仔細想想,它其實包含了相當精妙的認知操作。你的眼睛在書頁和紙面之間來回掃視,手裡的筆跟隨著你剛剛看完的那幾個字移動,而你腦海里只需要記住"剛剛寫到哪了"這一小塊內容——而不是把整本書的前幾百頁全部背下來。這種"只記近處、看清原文、穩步向前"的工作方式,讓人類可以連續抄寫幾個小時而不覺得越來越慢。
現在的AI圖像識別系統(專業上叫OCR,即光學字符識別)在面對這類任務時,卻陷入了截然不同的困境。它們每次只能處理一頁,處理完一頁之後,對上一頁發生了什麼完全不記得,像是每翻一頁就要把大腦清空一次。更麻煩的是,隨著它處理的內容越來越多,它需要儲存的"記憶草稿"(在技術上叫做KV緩存)也越堆越高,導致速度越來越慢,就像一張書桌上的草稿越堆越多,你找東西反而越來越費勁。
百度的研究團隊注意到了這個奇怪的反差:人類抄書不會越抄越慢,而AI越處理越卡頓。於是他們提出了"無限OCR"(Unlimited OCR)這個系統,核心思路就是讓AI也學會人類那種"只盯著原書和剛寫的幾個字"的高效抄寫方式。
二、 AI目前的"抄書方式"到底哪裡出了問題
要理解百度團隊解決了什麼問題,先得明白現有AI是怎麼工作的。
當前最先進的OCR系統,以DeepSeek
OCR為代表,採用了一種"大腦全開"的注意力機制——每生成一個新字,它都要回頭看一眼之前生成的所有內容。這在技術上叫做"全注意力機制"(Full Attention)。聽起來很嚴謹對吧?但代價是驚人的:如果你已經生成了一萬個字,生成第一萬零一個字的時候,AI需要同時"參考"前面所有一萬個字,這意味著需要保存一份包含一萬條記錄的"草稿本"。輸出越長,草稿本越厚,翻找草稿本的時間越長,速度自然越來越慢。
更糟糕的是,這份不斷膨脹的草稿本占用的內存會持續增長,使得處理幾十頁文檔根本不可能在一次操作中完成,只能一頁一頁地"分批處理",每次都從頭開始。這就是AI領域現在的常規做法,實用,但本質上是個工程上的應急方案,而不是真正意義上的長文檔理解能力。
研究團隊也注意到另一種思路——線性注意力(Linear Attention),這種方法通過讓資訊不斷"流動更新"來避免草稿本無限增長。但問題在於,這種流動會污染原始圖像資訊。打個比方,如果你每抄完一行就把原書上的字跡稍微模糊一點,抄到後面你就會看不清原文了。對於OCR這種必須精確識別圖像中文字的任務,這種"漸進模糊"是致命的缺陷。
三、 像人類抄書一樣:R-SWA的核心設計思路
百度團隊提出的解決方案叫做"參考滑動窗口注意力"(Reference Sliding Window Attention,簡稱R-SWA)。這個名字有點繞,但背後的直覺非常貼近日常生活。
回到抄書的比喻:當你正在抄第300頁第15行的時候,你的注意力分配給了三件事。第一件事,你始終可以看到原書(原圖像)——不管抄了多少,原書就擺在那裡,清晰可讀,永遠不變。第二件事,你只需要瞥一眼剛剛寫的幾個字,確認自己"寫到哪了",而不需要翻回第1頁去看你最開始寫的是什麼。第三件事,你正在寫的這個字,是在前面兩個資訊的引導下自然生成的。
R-SWA完全復刻了這個模式。對於每一個即將生成的字符,系統會做到兩點:完整參考原始圖像(也就是那幾百個被高度壓縮過的視覺詞元,下文會詳細介紹),以及只參考最近生成的128個字符(這個數字是默認值,可以調整)。超過128個字符以前的輸出內容,就自然地"淡出記憶",不再被參考——這正是論文所說的"軟遺忘"(soft forgetting)。
這種設計帶來的最直接好處是:草稿本的大小固定了。不管你已經生成了一千個字還是十萬個字,草稿本始終只記錄"原圖像資訊 + 最近128個字",大小永遠不變。這在技術上叫做"恆定KV緩存"。結果就是:生成速度始終如一,不會隨著輸出變長而越來越慢。
與此同時,R-SWA特意把原始圖像資訊排除在"會被遺忘"的部分之外——圖像編碼一次,就永遠清晰地保存在那裡,不參與任何狀態更新,不會隨著處理的推進而模糊化。這就像你的書永遠放在書桌上,無論抄了多少頁,你隨時都能看到原文的每一個細節。
從數學角度來說,這個機制的工作原理是這樣的:在生成第t個輸出字符時,這個字符可以"看到"的範圍包括兩部分——全部的前綴(即圖像詞元和提示詞,長度為固定的Lm)以及最近的n個已生成字符。相比之下,傳統的全注意力機制下,草稿本大小隨總輸出量T線性增長,而R-SWA的草稿本始終被限制在Lm加上n的範圍內。當輸出序列很長時,R-SWA所需的內存趨近於一個固定常數,而全注意力機制的內存需求則無限擴張——這兩種曲線的差異就是"無限OCR"得以實現的根本原因。
四、 配合高壓縮率的"深度編碼器",才能真正做到"無限"
只有高效的注意力機制還不夠,百度團隊還需要解決另一個問題:圖像本身產生的資訊量太大了。
一張1024×1024像素的文檔圖像,如果直接送進AI系統,會生成大量的視覺詞元(可以理解為圖像的"數字描述片段")。這些視覺詞元雖然不參與"軟遺忘",但它們的數量直接決定了草稿本中"原書那部分"的大小,以及整個系統的處理速度。
Unlimited OCR沿用了DeepSeek OCR中已經驗證過的"深度編碼器"(DeepEncoder)組件,這個編碼器通過將兩種不同的圖像理解網路串聯起來(分別是擅長局部細節的SAM-ViT和擅長整體理解的CLIP-ViT),實現了驚人的16倍圖像壓縮率。具體來說,一張1024×1024的PDF圖像,經過這個編碼器處理後,只剩下256個視覺詞元——相當於把一本厚厚的圖像詞典壓縮成了一張小卡片,但圖像中的文字資訊幾乎沒有損失。
這個高壓縮率與R-SWA的恆定KV緩存設計形成了完美搭檔。粗略估算,一個視覺詞元大約可以對應約十個文字詞元的輸出,那麼10000個視覺詞元(大約對應20到30頁文檔)就需要生成超過10萬個文字詞元。在傳統系統中,10萬字的輸出意味著無法承受的內存壓力,而在Unlimited OCR中,這只是固定大小草稿本上的一次"不斷向前滑動的窗口"操作,內存占用始終如一。
DeepEncoder支持兩種工作模式:一種叫"Base模式",使用固定的1024×1024解析度,適合多頁文檔批量處理;另一種叫"Gundam模式",支持動態解析度,適合單頁文檔的精細處理。研究團隊在Unlimited OCR中保留了這兩種模式。
五、 整體架構:一個"編碼器+MoE解碼器"的簡潔系統
Unlimited OCR的整體架構清晰而克制。它由兩個主要部分組成:前面介紹的DeepEncoder負責把文檔圖像壓縮成精簡的視覺詞元,後面是一個基於MoE(混合專家,Mixture of Experts)架構的大型語言模型負責把這些視覺詞元翻譯成文字。
MoE架構是一種特別聰明的設計:模型總共有30億個參數,但在處理每一個詞元時,實際被激活和使用的只有大約5億個參數。這就像一個擁有三十個專家的團隊,每次解決問題時只需要叫五個最相關的專家出場,其餘的人繼續休息——既保持了大模型的能力儲備,又避免了龐大參數帶來的計算浪費。
最關鍵的改動是:在這個語言模型解碼器的所有注意力層里,原有的標準多頭注意力(MHA)全部被替換成了R-SWA。這意味著整個解碼過程中,KV緩存的大小完全由R-SWA的機制決定,始終保持恆定,不隨輸出長度增長。
六、 訓練細節:在有限資源上磨出一把利器
研究團隊構建了大約200萬條文檔OCR訓練數據,其中單頁數據和多頁數據的比例為9:1。單頁PDF數據使用百度自家的PaddleOCR進行標註,將每個文本塊的坐標和內容拼接成訓練目標,坐標被歸一化到0到1000的範圍內。多頁數據則是通過隨機拼接單頁數據合成的,每份樣本包含2到50頁不等,頁面之間用特定標記符號分隔。所有數據被打包成最大32K詞元的序列長度。
訓練從DeepSeek OCR的現有模型權重出發,繼續訓練4000步,使用256的批量大小,運行在8台16張A800 GPU的機器上。訓練過程中,圖像編碼器部分被凍結(因為DeepSeek OCR已經把它訓練得足夠好了),只更新語言模型解碼器的參數。優化器使用AdamW,學習率從0.0001開始按餘弦退火曲線遞減。整個訓練框架基於Megatron-LM構建,並採用了專家並行策略以支持32K的長序列訓練。
在推理部署層面,團隊為R-SWA在HuggingFace Transformers庫和SGLang推理引擎中分別實現了KV緩存管理邏輯,確保兩個框架下都能在恆定的內存占用和恆定的速度下運行Unlimited OCR。
七、 實驗成績:數字背後的真實含義
研究團隊用OmniDocBench這個專業文檔解析基準來評估Unlimited OCR,測試了v1.5和v1.6兩個版本。這個基準包含了文字識別、公式識別、表格結構提取和閱讀順序預測四個維度的考核。
在v1.5版本的對比中,以DeepSeek OCR作為基線,Unlimited OCR的綜合得分從87.01%躍升至93.23%,提升了6.22個百分點。拆開來看,文字編輯距離(衡量文字識別誤差的指標,越低越好)從0.073降到0.038,公式識別得分從83.37%升至92.61%,表格結構得分從84.97%升至90.93%,閱讀順序誤差也從0.086降到0.045。這組數字表明,把標準注意力換成R-SWA之後,不僅沒有損失性能,反而在各項指標上都有明顯改善。
在v1.6版本的對比中,Unlimited OCR以93.92%的綜合得分位列端到端模型榜首,與此前的最佳成績Qianfan-OCR的93.90%旗鼓相當,並在公式識別(95.79%)上超過了其他所有參賽者。
研究團隊還做了一項細分類型的詳細比對,把文檔按照PPT、學術論文、書籍、彩色教材、試卷、雜誌、報紙、筆記、研究報告九種類型分別評分。結果顯示,相比DeepSeek OCR,Unlimited OCR在每一個文檔類型、每一個指標上都取得了更好的成績,沒有任何一項出現退步。這說明R-SWA並不是在某些特定場景下有效、在其他場景下有代價的權衡方案,而是對整個文檔解析任務的全面提升。
在處理速度方面,在OmniDocBench的測試條件下(512路並發),Unlimited OCR達到了每秒5580個詞元的處理速度,而DeepSeek OCR只有4951個詞元每秒,快了約12.7%。而且這只是在平均文檔長度相對較短的標準測試集上的結果——文檔越長,R-SWA相比傳統注意力機制的速度優勢越明顯。
八、 "越長越快"的秘密:內存曲線的對比
研究團隊專門做了一組理論極限速度的對比實驗,固定輸入長度為10個詞元,只改變輸出長度,從256一路測到6144個詞元,分別記錄兩個系統的每秒詞元處理量。
當輸出只有256個詞元時,兩個系統幾乎沒有差別。隨著輸出長度增加,DeepSeek OCR的速度開始穩步下滑——到6000個詞元時,它的速度已經比Unlimited OCR慢了35%。論文中還有一張圖,展示了Flash Attention v3核心的每次調用耗時隨解碼步驟的變化:DeepSeek OCR的耗時曲線總體向上傾斜,並在某個特定長度處出現了一個明顯的跳躍——那是KV緩存大小越過某個內存對齊邊界時,數據傳輸效率突然下降造成的。而Unlimited OCR的曲線幾乎是一條水平線,全程平穩。
這種"輸出越長、優勢越大"的特性,正是Unlimited OCR能夠處理幾十頁甚至更多頁面文檔的根本原因。
九、 真正的長文檔測試:一口氣讀20頁、40頁會怎樣?
研究團隊還構建了一個專門針對多頁文檔的內部測試集,選取了小說、文件和論文等不同類型的書籍,按頁數分組(2頁、5頁、10頁、15頁、20頁、40頁以上),每組不少於10本,測試Unlimited OCR在一次前向傳播中同時處理多頁輸入時的表現。
評估指標除了文字編輯距離之外,還引入了Distinct-n這個新指標——它衡量生成文本中獨特n字組合所占的比例,用於檢測AI是否開始陷入無意義的循環重複(當模型"迷失"在長序列中時,往往會開始重複某些詞組)。
結果顯示,在2頁和5頁的場景下,文字編輯距離在0.036到0.045之間,Distinct-35(即35字組合的獨特性)高達99.87%到99.98%,幾乎完美。隨著頁數增加到10頁和15頁,性能依然穩健,20頁時也維持在可接受的水準。在40頁以上的超長文檔測試中,文字編輯距離為0.107,Distinct-35仍有96.9%。團隊仔細檢查了那些出錯的案例,發現大多數錯誤來自PDF圖像中的小字在1024×1024解析度下難以辨認,而不是R-SWA在長序列中"迷路"導致的。換句話說,限制性能的主要因素是圖像解析度不夠,而非注意力機制的設計缺陷。
十、 局限與未來:離真正的"無限"還差多遠?
儘管Unlimited OCR在多頁文檔處理上實現了重大突破,但研究團隊也誠實地指出了當前版本的邊界。
核心局限在於,儘管解碼階段的KV緩存已經做到了恆定,但圖像輸入本身(前綴階段)仍然受到上下文長度的約束。當前訓練的最大序列長度是32K詞元,這意味著能同時處理的頁面數是有限的——儘管比以往任何系統都多,但仍不是真正的"無限"。隨著頁數不斷累積,圖像編碼產生的詞元本身就會把32K的空間占滿,導致能用於輸出的空間越來越少。
研究團隊的短期計劃是訓練支持128K上下文長度的版本,以支持更多頁面的一次性輸入。長期來看,他們想做一個更有野心的事情:構建一個"前綴池",讓模型能夠像人類翻書那樣,按需從池中取用不同章節的圖像資訊,而不是把所有頁面都塞進一次輸入里。這樣才能真正實現邏輯意義上的"無限"。
此外,團隊也明確表示R-SWA的適用範圍遠不止於OCR,自動語音識別(ASR)、機器翻譯等所有"有明確參考輸入、需要生成長序列輸出"的任務,理論上都可以從這套機制中受益,他們計劃在未來將R-SWA遷移到這些領域進行驗證。
說到底,Unlimited OCR做的事情並不神秘——它只是在提醒我們,人類處理資訊的直覺往往是高效的,而現有AI系統的某些設計並沒有充分借鑑這種直覺。通過把"只記住剛寫的幾個字、隨時參考原書"這個再普通不過的抄書習慣,轉化成一套嚴謹的注意力機制設計,百度的研究團隊不僅讓OCR系統能一口氣處理幾十頁文檔,還順帶在所有標準測試集上刷新了成績。
這項研究對普通人最直接的意義,可能是將來掃描一整本書籍進行數字化歸檔,或者把一份幾十頁的合同批量轉成可編輯文字,不再需要等待系統一頁一頁慢慢處理,而是真正做到一鍵全搞定。感興趣的讀者可以通過arXiv編號2606.23050查閱完整論文,或前往GitHub搜索baidu/Unlimited-OCR獲取代碼和模型權重。
Q&A
Q1:Unlimited OCR中的R-SWA和普通的滑動窗口注意力有什麼區別?
A:普通的滑動窗口注意力會讓所有詞元(包括圖像詞元)都參與循環狀態更新,隨著處理的推進,圖像資訊會逐漸模糊失真。R-SWA的關鍵改進是把原始圖像詞元單獨保存,永遠不讓它們參與狀態更新,始終保持清晰可讀,只讓生成的文字詞元在滑動窗口內流動更替。這樣既避免了圖像資訊的漸進劣化,又實現了恆定大小的KV緩存。
Q2:Unlimited OCR一次最多能處理多少頁文檔?
A:在當前訓練的32K上下文長度限制下,使用1024×1024解析度的Base模式時,大約可以同時處理20到40頁文檔。實驗數據顯示,40頁以上的測試中文字編輯距離仍低於0.11,表現尚可。研究團隊計劃訓練128K上下文版本,以支持更多頁面的一次性輸入,未來還打算構建"前綴池"機制以實現真正意義上的無限處理。
Q3:R-SWA替換全注意力之後為什麼OCR準確率反而提高了?
A:研究團隊認為,全注意力機制在處理長文檔時,模型可能因為需要同時兼顧大量歷史輸出而產生注意力分散,導致識別出現偏差。R-SWA強制模型只關注近處的上下文和完整圖像,反而讓模型更專注於當前的識別任務。同時,近鄰歷史資訊的因果傳遞能幫助模型清楚知道"當前處理到哪了",在表格、閱讀順序等需要局部連貫性的任務上提升尤為明顯。






