這項由中國科學院自動化研究所、中國科學院大學與騰訊微信聯合完成的研究,於2026年5月發布在arXiv預印本平台,編號為arXiv:2605.06221。對於所有使用過AI助手處理長篇文檔、進行多輪對話或調用智能客服的人來說,這項研究觸及了一個每天都在發生卻鮮少被關注的效率瓶頸。
每當你向一個AI助手粘貼一篇幾萬字的合同要求它摘要,或者要求它閱讀一份長達百頁的報告後回答問題,AI在給出第一個字之前往往需要等待相當長的時間。這段等待時間在技術上稱為"首字延遲"(Time-To-First-Token,簡稱TTFT),它取決於AI處理你輸入的全部內容需要多久。輸入越長,等待越久,這幾乎是鐵律。研究團隊將這個問題比作圖書館裡一位勤勉的管理員:無論你問什麼問題,他都要把圖書館裡每一排書架、每一本書、每一頁紙都認認真真地翻閱一遍,才肯開口回答。顯然,如果管理員能聰明地判斷哪些書架根本與你的問題無關,跳過那些不重要的部分,他給出答案的速度就會大幅提升。
UniPrefill正是基於這一直覺設計的框架。研究團隊在實驗中證明,這套方法能讓AI處理長文本的速度最高提升2.1倍,而且不會對回答質量造成明顯損失。更關鍵的是,當同時有很多用戶在使用同一台AI伺服器時,這個加速效果會變得更加顯著——恰好對應了真實世界中AI服務最緊張的使用場景。
一、為什麼"讀完再說"會成為大問題
要理解這套方法的價值,需要先明白現代AI助手在處理長文本時究竟面臨怎樣的計算挑戰。當前最主流的大型語言模型,其核心電腦制叫做"自注意力"(Softmax Self-Attention)。這個機制的工作方式,可以用一場非常特殊的圓桌會議來類比:假設輸入的每一個詞都是一位與會者,而"自注意力"要求每位與會者在發言之前,必須與會議室里所有其他人都握一次手,充分了解彼此的關係,才能決定自己說什麼。這意味著與會者越多,握手總次數就會以平方倍數暴增。輸入1000個詞時需要100萬次握手,輸入10000個詞時則需要1億次握手——計算量呈爆炸式增長,等待時間自然也隨之急劇拉長。
面對這個問題,AI領域的研究者們近年來開發出一批"混合架構"模型,試圖降低這種計算負擔。一類做法是將部分"全體握手"層替換成效率更高的"線性循環"層,讓複雜度從平方級降回線性級;另一類做法是讓大多數層只與附近的鄰居握手,僅保留少數幾個"全體握手"的全局層來捕捉長距離資訊。前者的代表是Qwen3-Next-80B-A3B這樣的模型,後者的代表則是Gemma-3-12B。這些混合設計大幅降低了理論計算量,並已被多家主流廠商用於生產級模型。
然而,現有的加速方法卻有一個根本性的局限:它們幾乎清一色地聚焦於優化"全體握手"這一步,對於其他類型的計算層視而不見。以MInference、FlexPrefill、XAttention等代表性工作為例,它們通過識別注意力矩陣中稀疏的、可以跳過的部分來提速,在純全注意力模型上確實能實現驚人的加速效果。但當這些方法被移植到混合架構上時,問題就暴露出來了:在一個四層循環中只有一層是"全體握手"層的模型里,即便把那一層的握手加速到極致,其餘三層的計算時間依然紋絲未動。就像一趟包含飛機、火車和公路三段的長途旅程,你只優化了飛機這一段,對整體耗時的改善自然非常有限。實驗數據也印證了這一點:在處理128K長度文本時,MInference在Gemma-3-12B上的加速倍數僅為1.03倍,幾乎沒有任何幫助。
與此同時,這些稀疏注意力方法還有另一個硬傷:它們與工業級推理引擎的核心調度機制不兼容。現代AI伺服器使用一種叫做"連續批處理"(continuous batching)的策略來同時服務多個用戶——不同用戶的請求被打包在一起處理,就像一輛公交車沿途上下乘客,而非每次只送一位乘客。FlexPrefill之類的方法假設每次只處理一個固定的請求,無法適應這種乘客隨時上下車的動態場景,因此始終停留在研究原型階段,從未真正進入生產環境。
二、圖書館管理員的聰明剪枝法
UniPrefill的核心思路可以用前面那位圖書館管理員的比喻來延伸理解。這位管理員現在學聰明了:在開始認真閱讀之前,他先用一分鐘快速掃一眼所有書架,判斷哪些區域根本和你的問題沒關係,然後直接跳過那些區域,只認真閱讀真正重要的部分。更妙的是,一旦他決定跳過某個書架,這個決定對整棟圖書館剩餘的每一層樓都生效——他不僅在當前樓層跳過,後續所有樓層也同樣跳過那個書架。這樣一來,省下的時間就不只是一層樓的掃描時間,而是所有樓層疊加起來的節省。
技術層面,UniPrefill的運作方式分為三個緊密銜接的步驟。
第一步叫做"重要性估計"。每當處理到一個包含"全體握手"的層時,系統不會立刻讓所有詞之間都互相計算,而是先只取輸入序列末尾的一小部分詞(默認取最後128個詞)作為"提問者",讓這些提問者與序列中的所有詞做一次快速握手,得到一份初步的"重要性分數"——即每個詞對於生成下一個字來說大概有多重要。這個操作的計算量遠小於完整的全體握手,因為提問者只占總詞數的一小部分。
這裡有一個值得特別說明的細節:UniPrefill的重要性估計與另一個廣為人知的方法SnapKV有表面上的相似之處,但兩者的本質目的完全不同。SnapKV在處理完整個輸入之後,才用這個評分來壓縮後續生成階段需要儲存的緩存,並不減少處理輸入時的計算量;而UniPrefill是在處理輸入的過程中就利用這個評分來決定跳過哪些詞,節省的是當下正在進行的大量計算,兩者根本不在同一個時間點發揮作用。
第二步叫做"Top-p詞塊篩選"。系統將整個輸入序列按照固定大小(默認64個詞一組)分成若干"詞塊",並把剛才算出的重要性分數在每個詞塊內取平均,得到每個詞塊的綜合重要性。然後,系統按照重要性從高到低排列這些詞塊,保留重要性之和剛好達到總重要性99%的最小詞塊集合,其餘詞塊一律丟棄。
之所以選擇"Top-p"而不是直接保留固定數量的詞塊(即"Top-k"),有其深刻的統計原因。注意力的分布因文本內容而異:有時高度集中在少數幾個關鍵詞上,有時則均勻分散在大量詞語中。如果固定保留50個詞塊,在前一種情況下會保留大量無關內容,在後一種情況下則可能丟掉重要資訊。而Top-p會自動適應:注意力集中時保留少,注意力分散時保留多,始終保證丟棄部分的注意力質量占比不超過1%,形成一個嚴格的資訊損失上界。
此外,有兩類詞塊無論評分高低都會被強制保留:序列最開頭的128個詞(這些詞在注意力機制中扮演特殊的"錨點"角色,AI研究者將其稱為"注意力沉澱")和序列末尾的128個詞(即剛才參與估計的"提問者"本身)。
第三步叫做"稀疏性跨層傳播"。這是UniPrefill與所有前代方法最本質的區別所在。被判定為不重要而丟棄的詞塊,不僅在當前這個"全體握手"層被跳過,而且在當前層之後的所有層——無論是線性循環層、滑動窗口層,還是前饋神經網路層——都被永久性跳過,直到下一個"全體握手"層重新做一次評估為止。跳過的詞的隱藏狀態被凍結在丟棄時刻的數值,不再參與任何計算,但會被保留下來傳遞給後續層,以便在需要時"復活"。
這個設計的計算收益是疊加的:假設某次丟棄操作保留了60%的詞,那麼後續每一個計算層都只需要處理60%的詞,節省的計算量與後續層數成正比。在一個有幾十層的深度模型中,這意味著早一層做出丟棄決定,就能省下更多的計算資源。研究團隊的理論分析也證明,在序列極長的情況下,UniPrefill能節省的計算量與稀疏注意力方法能節省的計算量之比,隨著序列長度的增長趨向無窮大——也就是說,文本越長,UniPrefill相對於稀疏注意力方法的優勢越懸殊。
三、把這套邏輯塞進工業級伺服器
算法設計再精妙,如果無法在真實的生產環境中運行,也只是一紙空文。研究團隊在系統工程層面同樣付出了大量努力,將UniPrefill深度集成進了目前工業界使用最廣泛的推理引擎vLLM。
首先,整套重要性估計和詞塊篩選的流程被實現為四個緊密融合的GPU計算核(kernel),完全在顯卡上執行,不需要在GPU和CPU之間來回傳輸數據。具體流程是:先計算末尾128個詞與所有詞的注意力得分矩陣,然後用在線softmax算法對其歸一化,接著在每個詞塊內做空間聚合得到詞塊級別的分數向量,最後用一個排序加閾值的操作確定保留哪些詞塊,生成一個二值掩碼。
在處理多GPU並行計算時,不同的GPU各自只負責部分注意力頭,因此每個GPU看到的重要性分數只是一個局部視角。研究團隊的解決方案是在做篩選決定之前,先把所有GPU的局部分數加總,得到全局分數,再做統一的篩選。這樣能確保所有GPU對於哪些詞塊該留、哪些詞塊該丟,達成完全一致的決定,避免出現"張三留著第5號詞塊、李四卻丟掉了第5號詞塊"這種混亂局面。
更複雜的問題在於如何與vLLM的連續批處理調度器協同工作。vLLM會同時處理多個用戶請求,不同請求被打包成一個批次,用一套統一的數據結構管理所有詞的位置資訊、KV緩存(即AI儲存已處理詞的"記憶")的物理地址、每個請求的序列長度等等。當UniPrefill丟棄了某些詞之後,這套數據結構中的每一項都需要相應更新,否則後續計算就會出錯。
研究團隊為此設計了精細的狀態維護機制。每次發生丟棄操作時,系統會記錄下丟棄發生的層編號和丟棄後保留的詞數,形成一份"丟棄歷史賬單"。在隨後的生成階段,AI需要回頭查閱自己在處理輸入時寫下的"記憶"(KV緩存),此時系統會根據這份賬單,告訴每一層它在處理輸入時實際寫入了多少條記憶——因為不同的層寫入的記憶條數可能不同,全局注意力層和滑動窗口注意力層管理的緩存甚至彼此獨立。這整個過程不需要修改模型權重,也不需要改動vLLM底層的內存分配器,可以像一個透明的加速插件一樣無縫嵌入。
四、在真實測試中的表現究竟如何
研究團隊選用了一個名為RULER的長文本理解基準測試來評估UniPrefill的質量,同時在vLLM框架內測量了實際的處理速度。RULER覆蓋了檢索、多跳推理、資訊聚合、問答等多種任務類型,上下文長度從4K擴展到128K,被認為是目前評估長文本AI能力最全面的測試之一。
在三個模型上,UniPrefill的表現都明顯優於其他加速方法所能達到的最佳精度-速度權衡點。以純全注意力架構的LLaMA-3.1-8B為例,在128K上下文長度下,UniPrefill的RULER分數為79.87,與未加速的基準版本76.89相比甚至略有提升(這是因為保留了最重要的詞之後,注意力反而更加聚焦),同時實現了2.26倍的首字延遲縮短。相比之下,LazyLLM在同樣長度下分數跌至49.71,精度損失慘烈;MInference雖然保住了78.21的分數,但加速倍數僅為1.34倍。
在混合架構模型上,UniPrefill的優勢更加突出。對於Qwen3-Next-80B-A3B(線性與全注意力以3:1混合),MInference在128K上的加速倍數只有1.05倍,而UniPrefill達到了1.68倍。對於Gemma-3-12B(滑動窗口與全注意力以5:1混合),MInference的加速倍數僅1.03倍,UniPrefill則達到1.49倍。這印證了研究團隊的核心判斷:當全注意力層在模型中的占比越來越小時,只優化注意力層的方法效益越來越差,而UniPrefill的跨層稀疏傳播機制讓它在這些場景下仍然有效。
在vLLM內的吞吐量測試則展示了另一個維度的加速效益。單用戶使用128K文本時,LLaMA-3.1-8B的處理吞吐量從21013個詞每秒提升到43672個詞每秒,提升幅度達107%。當同時有16個用戶時,提升幅度進一步擴大到109%。Qwen3-Next-80B-A3B在128K單用戶場景下提升48%,16用戶場景下提升68%。Gemma-3-12B的提升幅度相對較小,128K單用戶42%,這與它的架構中全注意力層占比最低(僅六分之一)直接相關。
一個略顯反直覺的現象是,在極短的文本(4K)和極小的批次(單用戶)下,Qwen3-Next-80B-A3B的吞吐量反而下降了3%到5%。研究團隊對此的解釋是:在極短文本中,幾乎沒有什麼詞塊能被真正丟棄,重要性估計本身的計算開銷反而成為了額外負擔。這說明UniPrefill的優勢區間主要在長文本和多用戶並發場景下——而這恰好是生產環境中最常見、最緊迫的情形。
五、微調參數時的規律與取捨
研究團隊還系統地測試了兩個關鍵超參數對性能的影響,提供了選擇它們時的直觀依據。
詞塊大小G控制了丟棄操作的粒度,可以理解為圖書館管理員每次跳過的最小單位是"一層書架"還是"一排書架"。G=64(默認值)是精度與速度之間的平衡點。G=32(更精細)能讓管理員跳過更小的單元,在長文本下丟掉更多不重要的內容,但判斷本身的計算開銷也更大;G=128(更粗粒度)適合短文本,判斷快但靈活性低。實驗數據顯示,G=32在LLaMA-3.1-8B的128K場景下能達到121%的吞吐量提升,代價是4K場景下精度從96.53略降至93.42。
末尾查詢數量n決定了重要性估計時"提問者"的數量。n過少時(n=32),用於估計的樣本太少,估計結果方差大,容易誤判重要性,RULER平均分從90.45下滑至87.77。n過多時(n=512),估計精度提升但計算開銷也隨之增加。n=128在精度與開銷之間達到最優,成為默認設置。
說到底,UniPrefill做的事情並不複雜:它讓AI在認真處理輸入之前,先做一次快速的"重要性預掃描",然後在接下來的每一層計算中,都只處理那些真正值得關注的部分。這個思路的巧妙之處在於,它繞開了"只能加速注意力層"的局限,把一次判斷的收益擴散到了整個模型的所有層,在混合架構模型上依然奏效。而通過與vLLM的深度集成,這套方法得以在真實的多用戶服務場景中實際運行,而非停留在實驗室階段。
對於普通用戶而言,這意味著未來使用AI處理長篇文檔時,等待第一個字出現的時間有望縮短一半甚至更多,尤其是在伺服器繁忙、同時有很多人在使用的時候。對於AI服務提供商而言,同樣的硬體資源可以服務更多用戶,或者在不增加伺服器的前提下支持更長的輸入文本。
當然,這項研究也坦承自己的邊界:UniPrefill目前專注於"讀入階段"的加速,對於AI生成每一個字的"輸出階段",以及模型訓練本身的效率,目前尚未涉及,研究團隊將其列為未來的探索方向。有興趣深入了解技術細節的讀者,可以通過arXiv編號2605.06221查閱完整論文,代碼已在GitHub開源。
Q&A
Q1:UniPrefill是如何決定哪些詞可以被跳過的?
A:UniPrefill在每個全注意力層處,先用序列末尾的128個詞快速掃描整個輸入,為每個詞塊打出一個重要性分數,然後保留重要性之和達到99%的最小詞塊集合,其餘全部跳過。序列開頭的128個詞和末尾的128個詞無論分數高低都會被強制保留。
Q2:UniPrefill加速長文本處理會不會讓AI的回答質量變差?
A:在RULER長文本基準測試中,UniPrefill與不加速的基準版本相比,精度損失極小,部分情況下甚至略有提升。相比之下,LazyLLM和SlimInfer等其他加速方法在同等加速比下會出現明顯的精度下降。
Q3:UniPrefill對混合架構模型(比如Qwen3或Gemma-3)有效嗎?
A:有效,而且這正是UniPrefill的核心優勢所在。由於UniPrefill會將丟棄決定傳播到全注意力層之後的所有層(包括線性層、滑動窗口層和前饋層),它在混合架構上依然能獲得可觀的加速,而純稀疏注意力方法在這類模型上加速效果通常不足1.1倍。






