這項由韓國科學技術院(KAIST)與微軟研究院(北京、雷德蒙德)聯合開展的研究,於2026年7月1日以預印本形式發布,論文編號為arXiv:2607.00466,有興趣深入了解的讀者可以通過該編號查詢完整論文。研究的核心目標是解決一個聽起來簡單、實則頗為棘手的問題:當你向ChatGPT或類似的AI助手發問時,背後伺服器如何把你的請求"交給"哪台機器來生成回答,才能讓你等待的時間儘可能短?
現代大型AI模型已經越來越多地採用一種叫做"專家混合"的架構——不妨把它理解成一個大公司里有很多不同部門的專家,每次回答問題時只需要調動其中幾位專家,而不是讓全公司所有人都出馬。這樣做的好處是節省計算資源,但研究團隊發現,這種架構在實際運行時隱藏著一個被人忽視的"堵點":哪幾位專家被同時叫來開會,對整體速度的影響遠遠大於同時處理多少個請求。正因為此,僅僅把請求平均分配給各台伺服器是不夠的,還需要考慮"讓有相似需求的請求儘量坐在同一張桌子上"。
研究團隊為這個問題設計了一套完整的解決方案,命名為ELDR(專家感知解碼路由)。經過在最多40塊GPU組成的實際伺服器集群上測試,這套方案在三種不同的主流大模型和兩種不同的用戶請求場景下,都能穩定地把用戶等待每個詞生成的時間(即TPOT,每輸出詞耗時)中位值壓縮5.9%到13.9%,而生成的答案內容與原來完全一致,沒有任何精度損失。
一、為什麼"專家混合"模型的伺服器調度是個難題
要理解這項研究解決的問題,先得了解現代AI大模型的一個重要運作方式。當你向AI發出一個請求時,背後的伺服器需要完成兩個性質截然不同的工作階段。第一個階段叫做"預填充":伺服器把你輸入的整段提示詞一口氣讀完並處理,這個過程類似於廚師把菜譜完整讀一遍,速度快但需要很強的計算能力。第二個階段叫做"解碼":伺服器一個詞一個詞地生成回答,就像廚師按照菜譜一步步烹飪,每步都要等上一步完成,速度慢、對延遲非常敏感。
過去,人們發現把這兩個階段分開在不同伺服器上運行更好,這種架構叫做"預填充-解碼分離"(PD分離)。道理很簡單:如果廚師既要快速閱讀菜譜又要慢慢炒菜,這兩件事互相打擾。分開之後,一組伺服器專門負責讀菜譜,另一組專門負責炒菜,效率更高。但分離之後,就出現了一個新問題:每來一個請求,系統需要決定把它送給哪台"炒菜"伺服器。這個決策就叫做"路由"。
現有的路由策略只做一件事:讓各台解碼伺服器的請求數量儘量均等,就像飯店裡服務員平均分配給每張餐桌的顧客數量。對於普通的"密集型"模型,這完全夠用,因為每台伺服器做的工作性質相同。但對於"專家混合"(MoE)模型,這個策略就顯得不夠精細了。
"專家混合"模型的核心機制是:對於每一個輸入的詞,模型的"門控網路"會從所有專家中挑選少數幾位(比如128位專家中挑8位)來處理。這個"挑選"的過程雖然讓模型更高效,卻在解碼階段製造了一個微妙的麻煩。解碼時,伺服器的速度瓶頸不在於計算量,而在於從顯存中讀取權重數據的速度——就像讀書的速度不取決於你腦子有多快,而取決於你翻頁的速度。每一步解碼,伺服器需要把當前批次所有請求激活的專家權重都從顯存中讀出來。如果這批請求激活的專家各不相同,伺服器就要讀很多不同的"書頁";如果這批請求激活的專家高度重疊,很多"書頁"只需要讀一次就能為多個請求服務。
研究團隊實測了這一效應。在Qwen3-30B-A3B模型上,當一個批次激活的專家從16個增加到128個時,MoE層的延遲增加了4.7倍;而在專家數量固定的情況下,批次大小從32增加到128,延遲幾乎沒有變化。這個發現揭示了一個被以往路由策略完全忽視的規律:決定解碼速度的,是同一批次里被激活的專家種類有多少,而不是批次里有多少請求。
二、專家的選擇其實是有規律可循的
發現了問題之後,研究團隊進一步追問:不同請求激活的專家,是隨機的嗎?如果是隨機的,那把相似請求聚集在一起也沒有意義。但如果專家的選擇有某種內在規律,那就大有文章可做了。
答案是:專家的選擇高度依賴請求的"類型",有非常清晰的規律。研究團隊在三個主流MoE模型(Qwen3-30B-A3B、GPT-OSS-120B、Gemma-4-26B-A4B)上做了系統測試,把請求按照任務類型(代碼、數學、醫療、法律)和語言類型(英語、中文、俄語、法語)分組,觀察不同組的請求傾向於激活哪些專家。
結果非常清晰:代碼類請求有自己偏好的一批專家,數學類請求有另一批,醫療和法律類各有各的偏愛。同樣,英語請求、中文請求、俄語請求激活的專家區域也是各自不同的。這就好像公司里不同部門的員工開會,銷售部每次都叫財務和市場,技術部每次都叫工程師和測試員,兩個部門幾乎不會叫同一批人。
更有價值的發現是:同一類型的請求在解碼階段激活的專家比混合類型的請求少17%到21%(任務維度)或3%到10%(語言維度)。換句話說,把相似請求放在同一台伺服器上,每一步解碼需要讀取的"書頁"數量會顯著減少,速度自然就快了。
但問題是,路由決策發生在解碼開始之前——那時候還沒有產生任何輸出詞,怎麼知道這個請求會激活哪些專家呢?關鍵突破在這裡:預填充階段和解碼階段走的是同一套門控網路,因此在預填充時激活的專家和解碼時激活的專家高度相關。研究團隊測量了這個相關性,在三個模型上的Pearson相關係數分別為0.90、0.70和0.92。這意味著,只要看完預填充階段留下的專家激活記錄,就能很好地預測這個請求在解碼時會用哪些專家——路由決策所需的資訊恰好在路由必須做出的那一刻已經準備就緒了。
三、如何把專家激活資訊濃縮成一個可以比較的"指紋"
知道了專家激活有規律,且預填充資訊可以預測解碼行為,下一步就是設計一種方法,把每個請求的預填充專家激活情況壓縮成一個緊湊的"指紋",使得指紋相似的請求在解碼時激活的專家也高度重疊。研究團隊把這個指紋稱為"專家簽名"。
設計簽名的核心挑戰在於:如何讓簽名的距離真正反映解碼時專家重疊的程度?原始數據是每一層網路中每個專家被多少個預填充詞激活的計數,但直接用這些原始計數有兩個問題。第一,有少數"通才專家"幾乎對所有請求都會被激活,它們在計數上占主導地位,但對區分不同類型的請求毫無幫助,反而會干擾比較。第二,模型有很多層網路,每層都產生專家激活數據,但不同層對區分請求類型的貢獻大相徑庭,把所有層都納入只會引入噪音。
針對第一個問題,研究團隊借用了資訊檢索領域的一個經典技巧——逆文檔頻率(IDF)加權。道理很直白:一個在幾乎所有請求中都出現的專家,就像一個在所有文章里都出現的常用詞(比如"的"、"是"),它攜帶的區分資訊量很少,應該降低權重;而一個只在特定類型請求中出現的專家,就像一個罕見的專業詞彙,攜帶的資訊量很大,應該提高權重。經過IDF加權之後,簽名更能捕捉到請求之間的真正差異。
針對第二個問題,研究團隊設計了一個貪心層選擇算法:從空的層集合開始,每次加入一層,看哪一層的加入能最大程度提升簽名與實際解碼專家激活之間的相關性(用Spearman秩相關係數衡量),如此反覆,直到相關性不再提升為止。實驗發現,每個模型和任務組合都存在一個最優的層數,超過這個數量之後加入的層反而會稀釋簽名的質量。
研究團隊還系統比較了六種不同的簽名構建方式:直接用激活計數、用IDF加權的激活計數、用計數的平方根、用門控網路的softmax概率輸出、用門控網路的原始分數輸出、以及用二值化的激活指示符。結果顯示,IDF加權的離散激活計數效果最好,平均相關性為0.76,明顯優於基於門控概率的連續簽名(0.62)。原因在於:解碼時實際起作用的是被離散地選中進入top-k的專家,而門控概率會把質量分配給那些根本不會被選中的專家,造成資訊的稀釋和誤導。
最終,每個請求的簽名就是:在最優層子集上,經過IDF加權的專家激活計數拼接在一起,再做L2歸一化(除以向量的長度,使比較只反映激活模式的形狀而非請求長度)。
四、離線準備:給每台解碼伺服器劃定"專屬領域"
有了簽名,下一步是決定如何把簽名空間劃分給不同的解碼伺服器,使得每台伺服器負責的請求在專家使用上儘可能集中。研究團隊採用了K均值聚類算法:把一批校準請求的簽名聚成K個組(K等於解碼伺服器的數量),每組對應一台伺服器,每台伺服器有一個"中心點"代表其專屬領域。
但普通的K均值聚類有一個缺陷:它只追求組內簽名儘可能接近中心點,不管每組的大小是否均衡。在實際的用戶流量中,某些類型的請求(比如英語)遠遠多於其他類型,這會導致聚類結果嚴重不均衡——大部分伺服器被分配給密集的主流請求區域,幾台伺服器被分配給稀疏的邊緣區域,造成運行時的負載失衡。
解決方案是引入"匈牙利均衡K均值":在聚類時加入一個硬性約束,要求每組的大小不能超過總量的K分之一。具體實現上,每次分配請求到組時,不是讓每個請求各自找最近的中心點,而是用匈牙利算法(一種全局最優分配算法)找到一個全局最優的分配方案,既最小化總距離又滿足均衡約束。這樣得到的聚類結果,每台伺服器在校準數據上承擔的流量大致相等,從根本上避免了結構性的負載不均衡。
研究團隊把校準簽名投影到二維空間並可視化,發現代碼、數學、醫療、法律任務確實分布在不同區域,英文、中文、俄文、法文請求也各占一片。均衡K均值的中心點均勻覆蓋了這些不同區域,而非扎堆在最密集的主流區域,這正是均衡約束帶來的好處。
五、在線路由:在本地專家偏好和實時負載之間找平衡
離線準備好了每台解碼伺服器的"中心點"之後,每當一個新請求完成預填充,系統就需要實時決定把它送去哪台解碼伺服器。
最簡單的想法是:計算請求籤名與所有K個中心點的餘弦相似度,直接送去相似度最高的那台伺服器。但這會產生一個實際問題:如果某類請求在短時間內集中到來(這在真實流量中很常見),它們都會被送去同一台伺服器,造成瞬時的過載,而其他伺服器卻閒置著。
研究團隊設計的在線路由規則叫做"局部性頻寬路由":首先找到相似度最高的中心點,記其相似度為s*;然後把所有相似度不低於s*減去一個閾值τ的伺服器都納入候選集合(這個候選集合就是"局部性頻寬");最後在候選集合中選擇當前正在處理的請求數最少的那台伺服器。
這個機制有一個自然的自適應性:如果請求的簽名與某個中心點高度匹配、與其他中心點相差甚遠,那麼候選集合很小(只有一兩台),局部性得到嚴格保障;如果請求的簽名處於幾個中心點的交界地帶,候選集合較大,負載均衡的權重更高。參數τ在0到1之間調節,τ=0意味著嚴格top-1路由,τ=1意味著完全按最短隊列路由,研究團隊通過實驗確定τ=0.1是最優點。
實測結果驗證了這個設計的必要性:純top-1路由(τ=0)在六種測試場景中有四種出現了尾部延遲回退,最嚴重的比輪詢路由差7.9%;加入τ=0.1的頻寬之後,所有場景的尾部延遲回退都消失了,中位數延遲進一步改善5.2%到12.7%。
六、處理前綴緩存的特殊情況
現代AI服務系統普遍使用一種叫做"前綴緩存"的技術:如果兩個請求的提示詞前面部分完全一樣,第二個請求可以直接復用第一個請求已經計算好的中間結果(KV緩存),跳過這部分的預填充,大大節省時間。這在有大量相似前綴的場景下(比如系統提示詞相同的聊天場景)效果顯著。
但前綴緩存對專家簽名造成了一個麻煩:如果某個請求的前綴命中緩存,那麼這部分前綴的專家激活資訊根本就沒有被重新計算,簽名因此是不完整的。而恰恰是那些"前綴命中"的請求,簽名資訊最容易殘缺,導致路由決策失准。
一個直觀的解決辦法是把每個請求的完整簽名緩存起來,以後相同請求來了直接復用。但這只能處理完整相同的請求,對於部分命中(前面若干塊緩存命中、後面需要重新計算)的情況完全無效,而部分命中在實際中非常常見。
ELDR的解決方案是:把簽名緩存的粒度降低到與KV緩存一致的"塊"級別。KV緩存是按固定大小的塊來管理的,每個塊儲存若干個詞的中間狀態。ELDR為每個KV緩存塊都維護一個對應的簽名塊:這個塊里每個詞激活的專家資訊。當一個請求的某些塊命中前綴緩存時,對應的簽名塊直接從簽名緩存中讀取;未命中的塊在這次預填充時即時計算。最終,把所有塊的簽名加起來,就得到完整的請求籤名,效果等同於對完整提示詞做了一次完整的專家激活統計。
簽名緩存與KV緩存共享相同的塊索引,一個塊被逐出時,對應的簽名塊也同時釋放,不需要額外的管理邏輯。整個簽名緩存的儲存開銷非常小:對於所有測試的模型,簽名緩存的大小不超過KV緩存的0.24%。實驗驗證顯示,打開前綴緩存之後,TPOT(每詞延遲)的改善效果與不開緩存時幾乎完全相同,說明兩種優化的收益可以完全疊加。
七、實際測試:在真實伺服器集群上的全面評估
研究團隊在一個由5台伺服器組成的集群上進行了系統評估,每台伺服器配備8塊AMD MI300X GPU,GPU間通過400Gbps InfiniBand高速網路互聯,總共40塊GPU。所有實驗在vLLM推理框架上運行。
測試對象是三個主流MoE模型:Qwen3-30B-A3B(128個專家,每次激活8個)、GPT-OSS-120B(128個專家,每次激活4個)、Gemma-4-26B-A4B(128個專家,每次激活8個)。另外還測試了一個更大的模型Qwen3-235B-A22B,用於驗證在更複雜的分布式部署場景下的效果。
測試場景分為兩類。"任務"場景包含近1.2萬條涵蓋代碼、數學、醫療、法律四類任務的請求,各類任務數量有一定差異,最大類與最小類之比約為1.41,對負載均衡構成一定挑戰。"語言"場景包含1.4萬條來自WildChat數據集的多語言請求,英語和中文合計占約75%,語言分布極度不均衡,對負載均衡的挑戰更大。
對比的基線路由策略包括四種純負載均衡方法(隨機路由、輪詢路由、最短隊列路由JSQ、兩選一隨機路由P2C),以及一種"預知領域標籤"的局部性路由基線(Domain,相當於作弊版:假設系統事先知道每個請求的任務類別或語言,按類別分配伺服器)。
主要實驗配置是8台預填充伺服器加16台解碼伺服器(8P16D),在每秒20到100個請求的不同負載下測試,每個負載運行120秒(加30秒預熱)。
在任務場景下,ELDR在三個模型上的中位TPOT比最好的負載均衡基線改善7.0%到13.9%,尾部(P99)TPOT改善3.4%到6.0%。Domain基線在這裡表現也不錯,畢竟任務類別標籤與專家激活區域對應得比較好,Domain本身比負載均衡基線改善6.8%到9.7%;但ELDR仍然比Domain更好1.4%到6.9%(中位)和1.6%到4.5%(尾部),因為ELDR的K=16個簽名簇比Domain的4個任務類別更細粒度,能捕捉同一任務類別內的專家差異,而且τ頻寬允許跨簇的負載平衡。
在語言場景下,由於英語和中文占據了約75%的流量,Domain策略嚴重過載了被分配到這兩種語言的伺服器,尾部延遲反而比輪詢路由差了最多6.1%,在中位數延遲上也只與輪詢路由持平。ELDR則在中位TPOT上比最好的負載均衡基線改善5.9%到10.0%,並在同等或更好的尾部延遲下實現這一改善,比Domain改善5.7%到9.1%(中位)和7.0%到9.5%(尾部)。
運行開銷方面,ELDR每個請求增加的額外處理時間約為0.86毫秒,占典型的69毫秒首詞等待時間的1.2%,幾乎可以忽略不計。簽名緩存的顯存占用約為KV緩存的0.24%,每個請求攜帶的簽名數據約12KB,與動輒數MB的KV狀態傳輸相比微不足道。
八、系統擴展性與大模型場景驗證
研究團隊還驗證了ELDR在不同規模下的表現。隨著解碼伺服器數量從8台增加到16台再增加到24台,ELDR對輪詢路由的中位TPOT改善從8.0%增加到9.8%再增加到10.2%。這個趨勢完全符合預期:更多的解碼伺服器意味著每台伺服器承擔更窄的簽名區域,對應更小的專家激活集合,帶來更大的延遲節省。
在最大規模的測試中,研究團隊把ELDR應用於Qwen3-235B-A22B這個有2350億參數的巨型模型,使用40塊GPU(跨越全部5台伺服器),每台解碼實例採用4路張量並行加4路專家並行。在這種配置下,單純的請求聚類還不夠,還需要處理專家並行帶來的額外負載不均衡——即便同一台伺服器內,如果某些專家熱度過高,承擔這些專家的GPU也會成為瓶頸。研究團隊針對每個簽名簇的預期專家激活模式,為每台解碼伺服器單獨優化了專家到GPU的分配方案,讓每台伺服器內各GPU的負載儘可能均衡。最終,在24到56個請求每秒的負載下,ELDR將中位TPOT改善2.7%到4.3%,尾部TPOT改善0.6%到2.0%,證明方案能在大規模分布式場景下依然有效。
說到底,這項研究做的事情用一句話概括就是:當AI伺服器在分配"誰來生成這段回答"時,不能只看哪台伺服器比較空閒,還要看哪台伺服器當前的"工作夥伴"與這個請求最相似。請求相似,激活的專家相似,大家共用同一批"書頁",每步生成的等待時間自然縮短。
歸根結底,ELDR的巧妙之處在於它完全不改動模型本身,不改變任何專家選擇的決策,不影響輸出內容,只是在"把請求送到哪裡"這個決策上多考慮了一個維度。而這個額外維度所需的資訊,恰好在系統必須做出決策的那一刻——預填充剛結束、解碼尚未開始的瞬間——已經唾手可得。
這項研究提出了一些值得繼續探索的問題:當用戶請求的類型隨時間發生漂移(比如某個熱點事件突然湧來大量相關請求),如何快速更新簽名簇的劃分?在請求類型更加多樣、邊界更加模糊的真實網際網路流量下,專家簽名的預測質量會如何變化?這些都是未來可以深入研究的方向,感興趣的讀者可以通過論文編號arXiv:2607.00466查閱完整內容。
Q&A
Q1:專家混合模型(MoE)和普通大模型有什麼區別,為什麼路由策略對它特別重要?
A:普通大模型處理每個詞時會調用全部神經網路參數,而專家混合模型只調用其中一小部分專家——比如128個專家裡只選8個。這在節省計算量的同時產生了一個副作用:解碼時伺服器需要把當前批次所有被選中的專家權重都從顯存讀出來,讀取的種類越多、速度越慢。ELDR研究發現,激活專家的數量從16個增加到128個會讓延遲增加4.7倍,因此把激活專家相似的請求放在同一台伺服器上至關重要。
Q2:ELDR的專家簽名緩存和普通的前綴KV緩存有什麼不同,為什麼要分開處理?
A:KV緩儲存存的是模型中間層的注意力鍵值狀態,用來跳過重複前綴的計算;專家簽名緩儲存存的是每個KV塊對應的專家激活統計,用來恢復被緩存跳過部分的專家資訊。兩者在塊粒度上完全對齊、共享相同的塊索引,但服務於不同目的。沒有簽名緩存時,前綴命中的請求籤名是殘缺的,路由會失准;有了簽名緩存,把緩存塊的簽名加上新計算塊的簽名,就能重建完整的路由所需資訊,額外儲存開銷不超過KV緩存的0.24%。
Q3:ELDR的局部性頻寬路由里的參數τ是怎麼確定的,調大調小各有什麼影響?
A:τ控制候選伺服器的範圍寬窄。τ=0時只送去相似度最高的那台伺服器,局部性最強但遇到突發流量會過載,實測有四種場景尾部延遲變差。τ=0.1時引入少量靈活性,所有場景的尾部延遲回退消除,中位延遲改善5.2%至12.7%。τ繼續增大,可以進入候選的伺服器越來越多,越來越接近純最短隊列路由,局部性收益逐漸稀釋,中位延遲改善開始縮水。研究團隊通過在六個模型-數據集組合上系統掃描,確定τ=0.1為最優平衡點。






