宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

威斯康星大學麥迪遜分校與獨立研究者聯手破解AI大腦「記憶讀取」難題——多頭注意力殘差讓神經網路更聰明

2026年08月10日 首頁 » 熱門科技

這項由威斯康星大學麥迪遜分校與獨立研究者共同完成的研究,以預印本形式發布於2026年7月22日,論文編號為arXiv:2607.27230,感興趣的讀者可通過該編號檢索完整原文。

神經網路,尤其是近年來風頭無兩的Transformer模型(也就是驅動ChatGPT、Gemini等大語言模型的核心架構),正在變得越來越龐大、越來越複雜。然而,在這種越做越大的趨勢背後,有一個被長期忽視的設計缺陷正在悄悄拖累模型的表現。研究團隊在深入審視這個問題後,提出了一個優雅而高效的解決方案——多頭注意力殘差威斯康星大學麥迪遜分校與獨立研究者聯手破解AI大腦記憶讀取難題多頭注意力殘差讓神經網路更聰明(Multi-Head Attention Residuals,簡稱MHAR)。這個方案的核心改動只有寥寥幾行代碼,卻能讓模型在各種規模下都表現得更好,而且幾乎不增加任何額外的計算成本。

一、神經網路的"集體記憶":為什麼模型需要回頭看?

要理解這個研究解決了什麼問題,先得弄清楚神經網路是怎麼工作的。可以把一個深度神經網路比作一條精密的流水線:原材料(也就是輸入的文字或數據)從第一道工序進入,經過幾十道甚至上百道加工工序,最終輸出成品。每道工序的工人只會接過上一道工序傳來的零件,加工後傳給下一道,不會去翻找倉庫里更早期的半成品。

這種"只看前一步"的機制在工程上叫做殘差連接(residual connection),是2016年由何愷明等人提出的經典設計。它的好處是簡單穩定,缺點是如果某個早期工序產出了一個非常有價值的中間產品,到了後期工序時,那個中間產品已經被後續無數次加工覆蓋在一堆累加的結果里,想單獨取出來用幾乎是不可能的。

2025年,Kimi團隊提出了一個改進方案,叫做"注意力殘差"(Attention Residuals)。他們的想法是:與其讓每道工序只看上一步的結果,不如給每道工序一個"記憶索引",讓它能夠在所有歷史記錄(包括原始輸入、每一道工序的輸出)中自由檢索,找到自己最需要的那一份,然後把那份內容取來作為當前加工的起點。這種機制用的是一種叫做"softmax加權"的數學操作,本質上就是給歷史上每個工序的輸出打一個重要性分數,然後按分數加權平均,得到一個融合了歷史精華的輸入。

這個想法聽起來非常聰明,但研究團隊發現,Kimi的方案里藏著一個微妙但嚴重的缺陷——隨著模型變大,這個缺陷會從可以忽略的小問題,變成拖累整體性能的大障礙。

二、"被迫妥協":單一路由查詢的致命短板

Kimi的注意力殘差方案中,每道工序用一個"查詢向量"(query vector)來決定從歷史記錄里讀取什麼。這個查詢向量的維度和整個網路的寬度(即特徵維度d)相同,它會對所有歷史輸出評分,算出一個統一的權重分布,然後所有特徵維度都按照這同一個分布去讀取歷史資訊。

用流水線的比喻來說:每道工序里有d個不同的"工人",他們負責加工零件的不同部分(不同的特徵子空間)。Kimi的方案相當於讓這d個工人共用一份"歷史檔案調閱單"——無論是負責加工零件外形的工人,還是負責打磨內部結構的工人,他們調閱的都是同一套歷史檔案,按同一個比例混合。

問題在於,負責外形的工人可能最需要第3道工序的成果,負責內部結構的工人可能最需要第17道工序的成果,而這兩類工人被迫共用一張調閱單,這張單子只能是某種折中——每類工人都沒有得到自己最想要的。研究團隊把這種現象稱為"被迫妥協"(forced compromise)。

更關鍵的是,這種妥協的代價會隨著模型變寬而急劇增加。模型越寬,意味著有越多種類的"工人",他們對歷史檔案的需求差異就越大,單一調閱單帶來的妥協成本就越高。在100M參數的小模型上,這個問題還不明顯;但到了1B參數的大模型上,這種強制妥協已經嚴重到讓整個注意力殘差機制的表現不如不用——比普通的殘差連接還差0.105個驗證損失單位。

三、一個零成本的解決方案:把調閱單一分為H份

研究團隊的解決思路非常簡潔:既然自注意力機制(self-attention)早就因為"單個查詢無法服務所有子空間"而改用了多頭設計,那麼用於歷史深度檢索的查詢向量,憑什麼還要堅持用單頭?

MHAR的核心改動就是:把那個形狀為(d,)的單一查詢向量,重新排列成(H, d/H)的形狀——也就是H個更小的查詢向量,每個負責d/H個特徵維度。每個小查詢向量各自獨立地對歷史輸出評分,算出自己獨立的權重分布,然後各自讀取自己負責的那一部分特徵維度的歷史資訊。最後,H個子結果拼接在一起,還原為完整的d維特徵。

這個改動的妙處在於:參數量完全沒有增加。原來是一個d維的向量,現在是H個d/H維的向量,總參數量還是d個數字,只是排列方式變了。計算量也幾乎沒有變化,因為每個特徵元素還是只被處理一次,只是額外多算了H個小型的softmax(對歷史長度軸做歸一化),而這個額外計算相對於整個注意力和MLP模組來說可以忽略不計。將H設為1時,MHAR完全退化回Kimi的原始單頭版本,因此MHAR是對注意力殘差的嚴格推廣。

用流水線的比喻:現在每道工序里,d個工人被分成了H個小組,每個小組有d/H個工人,每個小組有自己專屬的調閱單,可以獨立決定從哪些歷史檔案中獲取靈感,不再被迫共享。負責外形的小組可以重點參考第3道工序,負責內部結構的小組可以重點參考第17道工序,兩組互不干擾。

四、實驗數據:小改動,大收益

研究團隊在FineWeb-Edu數據集上,從零開始訓練了100M、350M和1B三個規模的語言模型,每個規模訓練2萬步,並與四種方法做了嚴格對比:標準Transformer(基線)、超連接(hyper-connections,另一種改進殘差結構的方案)、單頭注意力殘差(即Kimi原版,H=1)以及MHAR(H等於KV頭數)。

實驗結果呈現出一個非常清晰的規律。在100M規模上,單頭注意力殘差比基線好0.039個驗證損失,MHAR比基線好0.049,MHAR比單頭好0.010。看起來差距不大,兩者都有幫助。

到了350M規模,局勢開始分化:單頭注意力殘差比基線差了0.055(即變差了),而MHAR比基線好了0.080。這意味著MHAR比單頭版本好了整整0.135。

到了1B規模,分化更加劇烈:單頭注意力殘差在其自身最優學習率下仍比基線差0.105,而MHAR比基線好0.063。MHAR對單頭的優勢擴大到了0.168。

換句話說,隨著模型規模從100M增長到1B,單頭路由從"有一點幫助"變成了"明顯有害",而MHAR始終保持改進,且優勢持續擴大。這正好印證了"被迫妥協"代價隨模型寬度增加而增長的理論預測。

為了把損失改善轉換成更直覺的計算量等價值,研究團隊還計算了"計算等價增益"(CEGFLOPs):要讓基線模型通過單純增加訓練計算量來達到MHAR的性能,需要多花1.27倍(100M)、1.49倍(350M)和1.38倍(1B)的計算。而MHAR本身只增加了0.5%到1.2%的計算量,代價和收益的比例相當懸殊。

與超連接方案相比,MHAR在三個規模上的表現都更好(分別好0.035、0.050、0.061),而且超連接的收益在1B規模幾乎消失(僅比基線好0.002,幾乎在誤差範圍內),MHAR的優勢則隨規模持續擴大。

五、H到底設為多少最合適?

既然H越大越好,是不是應該把H設為儘可能大的值?答案並非如此簡單。研究團隊做了一個4×4的網格搜索實驗,同時變化H(路由頭數)和KV(鍵值頭數),測量不同組合下的驗證損失。

在模型訓練不充分的早期階段(100M模型只訓練5000步),有一個清晰的規律:當KV頭數固定為1時,H越大越好,從H=1到H=8呈單調下降,改善幅度0.028,遠超單次隨機種子的噪聲水平。這說明在訓練早期,更多的路由頭總是有幫助的,相當於給模型更多的自由度去探索不同的讀取方式。

然而,當模型訓練到充分收斂時,最優的H並不在最大值處,而是"飽和"在一個特定位置——恰好等於KV頭數。在100M的完整訓練實驗中,KV=4和KV=8的最優H恰好落在H=KV這條對角線上。在350M的實驗中,KV≥4的最優點同樣在H=KV對角線上。

研究團隊對此的解釋是:KV頭數代表了模型在特徵空間上的"消費粒度",也就是說模型在進行注意力計算時,本來就是以KV頭為單位來處理不同的特徵子空間的。把路由頭數設為和KV頭數相同,正好對齊了這個粒度,既充分釋放了不同子空間的讀取自由度,又不會因為過度細分而引入不必要的隨機性。

這個發現給了實踐者一個非常方便的默認規則:不用為H調參,直接把H設為模型的KV頭數就是接近最優的選擇,而且這個規則是"寧可多不可少"的安全方向——如果模型訓練不夠充分,更多的H只會有幫助,不會有害。

六、不僅僅是訓練指標:在真實任務上的表現

驗證損失的改善是否真的意味著模型在實際任務中更有用?研究團隊對100M、350M、1B三個規模的基線和MHAR模型做了零樣本評測,測試了WikiText-2困惑度(一種衡量語言模型對文本理解能力的指標)、LAMBADA(需要理解長文上下文才能預測最後一個詞的任務)和HellaSwag(常識推理補全任務)。

MHAR在每個規模上都改善了WikiText-2困惑度和LAMBADA準確率,而且隨著規模增大,困惑度的相對改善幅度也在擴大:100M改善了約10%,350M改善了約15%,1B改善了約19%。HellaSwag方面,350M有提升,1B持平,100M略低於基線但在誤差範圍內。

這說明驗證損失的改善不是針對訓練數據的過擬合,而是真實泛化能力的提升,能夠遷移到完全不同的評測數據集上。

七、8B大模型的中途改造:不重新訓練也能受益

從零訓練小模型固然可以證明方法的有效性,但現實中,大多數高性能模型都是花費了海量資源預訓練出來的,不可能輕易拋棄重來。研究團隊因此設計了一套"身份保持轉換"方案,讓已有的預訓練模型可以在繼續訓練(mid-training)過程中逐漸接入MHAR機制,而不會產生任何突然的性能跳變。

他們採用的是"delta注意力殘差"(delta attention residuals)形式:不是用路由混合結果完全替換殘差流,而是把路由結果作為一個附加項疊加到原有的殘差流上(h = 原有殘差流輸出 + α × 路由混合結果)。關鍵在於,這個附加項的輸出門控α被初始化為零,這意味著在轉換的第一步,模型的計算結果和原始模型完全相同,不會有任何數值上的突變。隨著繼續訓練的推進,α逐漸學習到非零值,MHAR機制才慢慢發揮作用。

研究團隊在Marin-8B這個開源的8B參數模型上驗證了這套方案。他們用一個約1.9萬億token的高質量混合語料庫(anneal_pt_v3)進行約100億token的繼續訓練,同時設置了一個完全相同訓練配置(相同學習率、相同數據順序、相同訓練步數)的對照組,唯一的區別是是否加入MHAR。

從訓練損失曲線來看,兩條曲線在最初幾乎完全重合——第一步的訓練損失差值只有約10??,遠小於單批次間的隨機波動。這正是零初始化門控的效果:轉換後的模型和原模型在數值上完全等價,不會引起任何優化上的震盪。

在下游任務評估上,MHAR相對於對照組帶來了統計顯著的改善。GSM8K數學推理任務提升了3.2個百分點(從47.0%到50.2%,配對McNemar檢驗p=0.004),GPQA研究生級別科學問題任務提升了3.1個百分點(從31.5%到34.6%,p=0.038)。MMLU多任務語言理解、MATH數學競賽題、HumanEval和MBPP代碼生成任務的變化在統計上不顯著。這表明MHAR帶來的提升主要集中在推理能力方面,代碼和一般知識任務的收益則不明顯——至少在這個規模和訓練預算下如此。

八、為什麼會有效:直接探測訓練後的路由查詢

研究團隊不滿足於只看實驗結果,還進一步通過直接分析訓練好的模型參數來驗證"被迫妥協"機制。他們在訓練好的單頭(H=1)模型上做了一個探測實驗:把那個訓練好的單一路由查詢向量切成若干片段,計算每個片段"如果單獨決策的話會想要哪種歷史讀取分布",然後與實際使用的共享分布做KL散度比較。這個KL散度就是"子空間不一致度"的量化指標。

結果非常清晰:訓練好的查詢向量中,各片段之間的不一致度(KL散度)從100M到1B模型單調增長了2.6倍(0.235→0.606),而用一個隨機權重相同的隨機向量做同樣的測試,得到的不一致度只有訓練版本的約5%到15%。這說明這種不一致是模型主動學習出來的,不是特徵空間幾何結構的固有屬性,而是因為不同子空間確實學到了對歷史深度有不同偏好的表示。

更重要的是,研究團隊還做了一個控制實驗:在保持層數(L=12)和KV頭數(4)不變的情況下,只把模型寬度從d=512增加到d=768,觀察不一致度的變化。結果是訓練查詢的不一致度上升了14%(從0.273到0.311),而隨機查詢的基線和資訊源相似度幾乎沒有變化。這就把"寬度才是驅動因素"這一論斷從相關性提升到了接近因果的程度。

與此同時,在訓練好的MHAR模型上,可以看到8個路由頭確實學到了不同的歷史讀取模式:每個頭相對於所有頭平均分布的偏差最大達到±0.28,而隨機權重的對照只有±0.067,而且這些偏差在不同評估文本上高度一致(相關係數r=0.77),且不同頭之間幾乎不相關,證明各頭確實分工明確,而非學到了冗餘的相同模式。

九、工程挑戰與高效核心:讓理論落地

MHAR在數學上幾乎不增加計算量,但在實際訓練中,深度路由機制有一個嚴重的工程瓶頸:內存頻寬。每個子層在計算路由混合時,需要讀取所有歷史輸出(最多2L+1個),而這個操作幾乎沒有數據復用,完全受內存頻寬限制。一個樸素的參考實現會反覆複製和儲存大量中間張量,內存占用和速度都非常糟糕——在1B模型上,樸素實現甚至會超出80GB的GPU顯存限制。

研究團隊為此專門開發了融合的Triton自定義GPU核心(fused Triton routing kernels)。這套核心的核心思想類似於FlashAttention的在線softmax技巧:在正向傳播中,每個token位置只需一遍掃描所有歷史源,用寄存器里的累加器保持運行中的softmax統計量,完全不需要把歸一化後的鍵張量材料化(保存到顯存中);反向傳播則通過兩遍掃描完成所有梯度計算,並把所有路由調用對源張量的梯度貢獻直接累加到一個共享的fp32緩衝區中,避免了大量小張量加法。唯一需要為反向傳播保存的是路由權重張量(形狀為N×B×T×H),比樸素實現保存的堆疊源張量小d/H倍。

實際測試結果顯示,融合核心把路由操作本身的速度提升到了torch.compile版本的2到5.3倍,端到端訓練吞吐量從樸素實現的20%到50%基線速度,提升到55%到88%基線速度,內存占用也回落到接近基線水平(100M: 42.0 GB vs 基線41.5 GB,350M: 20.0 GB vs 19.4 GB,1B: 20.1 GB vs 19.0 GB)。這使得在真實規模上使用深度路由機制從理論上可行變成了工程上實用。

十、結論:多頭設計讓深度路由真正起作用

說到底,這項研究的核心發現可以用一句話概括:如果注意力機制需要多頭設計,那麼對歷史深度做注意力的路由機制同樣需要多頭設計,而且隨著模型變大,這個需求只會越來越迫切。

研究團隊通過從零訓練實驗、直接參數探測、寬度控制實驗、中途訓練實驗和專用高效核心這五個維度,對這一論斷做了非常完整的論證。單頭路由在小模型上有幫助,但在大模型上會變成障礙;多頭路由通過零參數、零額外計算的簡單改動,在各個規模上都能持續改善表現,且優勢隨規模擴大。

H等於KV頭數這個無需調參的默認規則提供了很強的工程可操作性,不需要額外的超參數搜索。身份保持轉換方案讓已有的大模型也能受益,而融合核心則消除了工程上的主要障礙。

這項研究留給未來的問題也很清晰:為什麼最優的H恰好等於KV頭數,背後是否有更深的理論解釋?各個路由頭具體學到了怎樣的歷史讀取模式,是否和注意力頭的功能分工有對應關係?更激進的中途訓練方案能否進一步放大MHAR的收益?這些都是值得繼續探索的方向。有興趣深入了解技術細節的讀者,可以通過arXiv編號2607.27230查閱完整論文。

Q&A

Q1:多頭注意力殘差(MHAR)和普通Transformer的殘差連接有什麼區別?

A:普通Transformer的殘差連接讓每層只能看到上一層的輸出。注意力殘差(Kimi 2025年提出)允許每層從所有歷史層的輸出中加權讀取,但用一個共享的權重分布服務所有特徵維度。MHAR則進一步把這個共享權重分配給H個子空間,每個子空間有自己獨立的歷史讀取方案,解除了所有特徵維度"被迫共用一套歷史參考"的限制。

Q2:MHAR訓練速度會不會比普通Transformer慢很多?

A:使用研究團隊開發的融合Triton核心後,100M模型的訓練速度是普通Transformer的88%,350M是71%,1B是55%。速度有損失,但相比於樸素實現(只有20%到50%的基線速度),改善非常顯著。而且MHAR和單頭注意力殘差的訓練開銷完全相同,多頭分割本身不帶來任何額外成本。

Q3:MHAR中路由頭數H應該怎麼設置?

A:研究團隊的實驗表明,把H設為模型的KV頭數(鍵值頭數)是接近最優的無需調參默認值。在350M(KV=8)和1B(KV=8)規模上,最優H都在或接近H=KV。對於訓練不充分的情況,更大的H只會有幫助不會有害,所以這個規則是安全的。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新