

o1、R1 等推理模型的出現,給了長文字新課題。

嘉賓丨肖朝軍、傅天予
整理丨程曼祺
上週,DeepSeek、Kimi 都放出了新的大模型架構改進和最佳化成果,分別是 NSA、MoBA。二者都聚焦對大模型中 “注意力機制” 的改進。
注意力機制是當前大語言模型(LLM)的核心機制。2017 年 6 月那篇開啟大語言模型革命的 Transformer 八子論文,標題就是:Attention Is All You Need(注意力就是你所需要的一切)。
而最佳化 Attention 的計算效率和效果,又能幫助解決 AI 學界和業界都非常關心的一個問題,就是長文字(long context)。
不管是要一次輸入一整本書,讓模型能幫我們提煉、理解;還是在生成現在 o1、R1 這類模型需要的長思維鏈;又或者是希望模型未來能有越來越長的 “記憶”,這都需要長文字能力的支援。
這期節目我們邀請了兩位做過 Attention 機制改進的 AI 研究者做嘉賓。
一位是清華計算機系自然語言處理實驗室的博士生肖朝軍,他是 InfLLM 注意力機制改進的一作,導師是清華計算機系副教授劉知遠。
另一位是清華大學 NICS-EFC 實驗室的博士生傅天宇,他是 MoA 注意力機制改進的共同一作,導師是清華電子工程系主任汪玉。這個實驗室也做了很多與硬體層結合的最佳化工作。
兩位有一些相互補充的視角,他們之前做的注意力機制改進也都和 NSA、MoBA 一樣,屬於 “稀疏注意力” 範疇。
傅天予分享了一個他的導師汪玉,對大模型最佳化目標的簡潔描述:

神經網路就是 y=f(x)。x 是輸入,y 是輸出,f 是這個網路。
現在的趨勢是,x 越變越長,這是多模態等帶來的;y 也越變越長,這是思維鏈帶來的。f 要做的事就是,當 x 和 y 都變得這麼長時,怎麼能算得快,同時又能正確地輸入 x,並正確地輸出想要的 y。這就是大家努力的總體目標。
f 要怎麼做到這兩點,改進注意力機制就是方法之一。
以下是本期播客的實錄,文字有精簡。
Attention 的提出就是為了長文字,只是當時的 “長” 不是現在的 “長長長”
晚點:兩位可以先自我介紹一下,以及講講你們過去和注意力機制改進相關的研究。
肖朝軍:我是來自清華大學計算機系的博士生肖朝軍,一直專注於大模型高效架構層面的研究。2024 年,我們釋出了 InfLLM,也是做大模型注意力機制的改進。
一年多前,開源模型最多也就處理 8K 就是 8000 token 左右的文字長度。我們就想,能不能在無需訓練的情況下,在推理階段(可以理解為大模型的使用階段)用稀疏注意力機制處理更長的 128K 甚至 1000K 的文字。這個注意力機制的思路和現在的 DeepSeek NSA 類似。而 NSA 是進一步把稀疏注意力做到了預訓練階段,寫了非常豐富的運算元,做了很精細的設計,是一個很大的進步。
(注:大模型裡,稀疏指僅部分連線,效率更高;對應的稠密,也就是 dense,指資料 / 計算全連線。)
傅天予:我是來自清華大學電子系的博士生傅天予,我們也一直關注神經網路模型的高效性最佳化。
也是在 24 年,我們釋出了一篇和今天要聊的 MoBA 標題很像的論文,叫 MoA——Mixture of Sparse Attention(混合稀疏注意力機制),而 MoBA 是 Mixture of Block Attention(混合分塊注意力機制)。我們發現,之前的一些稀疏注意力機制,雖然能使模型流暢地輸出內容,但模型其實沒有有效利用遠距離的上下文資訊,我們就希望能分析不同注意力頭的各自特性,找到究竟其中哪些對模型能真正利用長上下文很關鍵,然後更多保留這部分注意力頭。
晚點:我們可以先聊關於 Attention 的一些基礎問題。2017 年提出目前大語言模型主流架構 Transformer 的那篇論文,標題就是 Attention Is All You Need。簡單來說,Attention 作為大模型的核心模組,它是用來做什麼的?
傅天予:要解釋這個,我們要先知道一個大模型的輸入和輸出是什麼,它的輸入就是一系列 Token,也就是 “詞元”,簡單理解就是一個詞。每個詞本身有一個含義,但也有必須聯絡上下文才能表達的含義,比如代詞 “it”,要放到上下文裡才知道指什麼。所以 Attention 機制的核心思想就是希望能知道輸入的每一個詞和之前的詞的關係。
在標準 Attention 裡,每新輸入一個詞都要和前面輸入的所有詞去計算相關性,它是一個關係強弱加權。這樣不僅能幫大模型理解這個詞本身,還能理解它的語境
肖朝軍:補充一下,大家也可能需要了解,再往前,神經網路是怎麼處理序列(輸入模型的一系列 Token 整體上是一個序列)的。
之前的主流方法是迴圈神經網路(RNN)。迴圈是什麼意思呢?就是一個詞、一個詞地去理解,去動態維護一個 “記憶”。
比如當 RNN 來處理 “我是肖朝軍” 這句話時,會先處理 “我”,再是 “是”,再是 “肖”,每處理一步,就把之前所有輸入都變成 “記憶”,也就是系統裡的一堆矩陣。在 “我是肖朝軍” 的例子裡,RNN 處理到 “肖” 時,已經把 “我” 和 “是” 轉化成了一個 “記憶”。
RNN 裡的 “記憶” 的儲存大小是不變的,但這會使它 “遺忘” 很久以前的詞元。當只是一句話時,這個問題不嚴重。但如果像我們今天這樣錄 2 個小時的播客,我最開始說完我是誰後,之後只會說 “我”,這樣到後面,模型就會忘掉 “我” 和 “肖朝軍” 的關係。這是 RNN 的缺陷。
而 Transformer,它所使用的 Attention 機制,就是把過往所有詞都以一個個向量的形式儲存下來。這樣在 2 小時的聊天裡,我每次提到 “我”,它都會去和過往所有詞做一次相關性計算,就能知道 “我” 和 “肖朝軍” 高度相關。
這也導致,Attention 的 “記憶” 不是固定的儲存大小,而是把 “記憶” 擴充套件為過往全部詞元,這就能改進 RNN 長序列的遺忘問題。
晚點:所以當年從 RNN 到 Transformer 提出 Attention,本身就是為了解決長文字問題。
肖朝軍:對,不過當時的長,也沒多長,就是幾百 Token。
在 Attention 之後,很快就提出了稀疏 Attention,最開始是為了 BERT(注:Google 最早的 Transformer 架構的大語言模型,但它的最佳化目標和同為 Transformer 架構的 OpenAI 的 GPT 系列模型略微不同,BERT 一度是比 GTP 更主流的大模型),它只能處理 512 Token。
然後稀疏 Attention 出來後,讓模型能處理 4K token 了,這是 18、19 年的事,那時大家認為這已經非常長了。
而到了現在,動輒是 128k 甚至 1M(100 萬)的長度,發展非常快。所以 Transformer 確實是為了長文字,只是這個長和現在的長還不太一樣。
原初 Attention 兩大瓶頸:“視訊記憶體開銷” 和 “計算複雜度”
晚點:從長文字到了長長長長長文字。後來原初 Transfomer 裡標準的 Full Attention 又遇到了什麼瓶頸,為什麼不夠用呢?
肖朝軍:首先就是儲存問題,其實就是剛才講的,它的 “記憶” 大小是不固定的,序列越長,記憶就越大。比如有幾百萬個詞,那存下來要好幾百 G,現在 GPU 的視訊記憶體(視訊記憶體是 GPU 的 “專屬記憶體”,最初主要儲存影像資訊,在大語言模型裡,它用來儲存模型引數和訓練資料)就幾十 G,儲存遠遠不夠。
第二是計算複雜度的問題,因為 Full Attention,是每處理一個 Token 時,都需要和前面所有 Token 做一遍相關性計算,如果序列長度是 N,它的計算複雜度就是 N 的平方,當長度越長,計算時間就會越來越高。
傅天予:我補充一點關於訓練和推理階段的 Attention 的區別。之前很多稀疏注意力工作都是一個稠密訓練的 Attention,但在推理階段把它變成稀疏的。這是因為我們發現 Attention 本身含有稀疏性。
這可能有幾個主要原因:一是 Attension 裡有 Softmax(軟最大值)機制。簡單理解,它是一個 “更軟” 版本的取最大值的過程。一般取最大值時,會把最大的數取為 1,其他全部取 0。而 Softmax 是把最大的那個取為 0.9,第二大的可能是 0.09,第三大的是 0.009……這導致在這麼多相關性數值裡,我們一般叫 Attention Score 或 Attention Weights,本來就只有很少的數很大,這就為稀疏性提供了一個潛在的數學保證。
(注:如前文所說,Transfomer 裡的 Attention 是每輸入一個新 Token,要計算它與前面所有 Token 的相關性,所以會得到一組值。常規在一組值裡取最大值時,是將最大的設為 1,其他都設為 0;而 Softmax 是對所有值進行一種函式處理,使它們都分佈在 0 到 1 之間,且總和為 1,最大值會得到最高的權重。這些權重之間的數值懸殊很大,是 “稀疏” 的,一些很小的值,後續處理時可能被捨棄。)
二是從語言學的角度,比如我們今天播客可能有 2 小時,但在 “朝軍” 和 “我” 之間產生的關聯非常稀疏,就是這 2 小時裡,前面有幾萬個 Token,但和 “朝軍” 有強相關性的只有 “我” 這個詞,關聯本身就很稀疏。
最後是從人腦角度,也不是所有神經元都和所有神經元連線,它的連線也非常稀疏,並且隨著年齡增大,會越來越稀疏。
所以無論從數學上,還是語言學上,還是神經科學上的啟發,大家就覺得稀疏 Attention 本來就存在,並且是可以被利用起來提高效率。
晚點:總結而言,在 Full Attention 的基礎上,後來有哪些改進思路?
肖朝軍:我認為主流分類就是稀疏注意力和剛才提到的 RNN(迴圈神經網路),它又復活了,比如 Mamba 這類模型,RNN 計算很高效,但有遺忘機制。
(注:Mamaba 是由卡內基梅隆大學在 2023 年提出的基於狀態空間模型的高效長序列建模架構,主要作者是 Tri Dao 和 Albert Gu 等,後文提及的 FlashAttention 的作者也是 Tri Dao。)
傅天予:不過現在大家好像不喜歡說自己是 RNN,會說是線性注意力。我覺得線性注意力裡的一些工作確實還是以迴圈的方式在進行,但也會有少部分工作,雖然也是把很長的序列壓縮到一個 “記憶” 裡,但不像傳統 RNN 是逐詞迭代進行的。
晚點:哪種更主流呢?最近的 NSA 和 MoBA 都是稀疏注意力方向的改進。
肖朝軍:在 Mamba 之前,稀疏更主流。但 Mamba 之後,線性注意力機制的改進也非常多。
傅天予:稀疏注意力整體對原本注意力的改動沒那麼激進,與現有很多方法能直接搭上。而線性注意力可能描繪了一個更美好的藍圖。
因為它的儲存大小是固定的(注:線性注意力可理解為 RNN,前文有提及 RNN 的儲存大小是固定的),計算複雜度隨序列變長,不是平方增長,而是線性增長(這和它的計算方式有關)。
所以從 Scaling Laws 角度看,當輸入比較短時,線性注意力的提效可能不如稀疏注意力,但輸入特別長時,線性注意力的效率優勢會上來。
不過目前大家更多嘗試稀疏注意力,因為很多學界探索表明,純線性注意力的效果(效率衡量的是速度和計算資源消耗,效果衡量的是模型 “聰明” 程度)欠佳,還需要混合其它注意力機制。
晚點:Attention 的提出和後來的改進都是為了處理長文字。除了改進 Attention 機制本身,還有哪些努力能幫助處理長文字?
傅天予:最佳化一個大模型,會有 3 個層次:演算法、系統和硬體。硬體層很好理解,你用更快的 GPU,當然可以變快。
系統層稍難理解,比如 FlashAttention 就是一個系統層改進。雖然 GPU 的峰值算力和峰值視訊記憶體是固定的,但程式碼寫得好不好,決定了你能用到百分之多少。系統層的工作就是追求提高這個百分比,充分利用頻寬、視訊記憶體、算力。FlashAttention 讓 Attention 的計算效率提升了一個臺階,視訊記憶體則至少降了一個量級。
再上面是演算法層,細分又有模型層和更普遍意義的演算法。稀疏注意力、MoE(混合專家系統)都是對模型層的改進。而改變生成正規化——比如從一個、一個詞往外蹦,變成兩個詞、兩個詞往外蹦,則是更普遍的演算法改進。
(注:MoE 現在是一個主流的大模型架構,比如 DeepSeek-V3 就是一個 MoE 模型,它也是 DeepSeek-R1 的基座模型。V3 也有生成方式上的改進,使用了 Meta 提出的 Multi-token Prediciton,一次生成兩個詞。)
肖朝軍:演算法層有很多改進,因為長文字的問題很多,不僅僅是計算複雜度和視訊記憶體。那針對不同場景,就有不同的最佳化方向。
比如 DeepSeek 在 DeepSeek-V2 裡提出的 MLA 也是一個演算法改進,它解決什麼問題呢?就是剛才提到的,Transformer 需要把所有詞元都存下來,儲存量很大,這樣每次去訪問它的時間會很長,要一個一個讀出來。所以 DeepSeek 就想把這個維度壓低、儲存變小,就做了這方面的一個改進。
(注:MLA 是 Multi-head Latent Attention,多頭潛在注意力。它透過一種聯合壓縮技術,把算注意力分數時的視訊記憶體佔用減少了超 90%,同時保持了模型效能。)
解決長思維鏈生成,是 o1/R1 的 RL(強化學習)方法繼續發展的關鍵
晚點:接下來,我們來看 NSA 和 MoBA 的一些具體改進。整體上,兩位看到的 NSA 和 MoBA 的最大亮點是什麼?
傅天予:我認為最有意思的是,他們都在預訓練階段就引入了稀疏注意力,而此前多數工作是做稠密訓練,在推理時才稀疏。訓練與推理的不一致難免會引入誤差。
所以業界和學界都很好奇:如果在預訓練階段就引入稀疏性,對模型最終效果是什麼影響?
這兩個成果,解答了這個大家關心的問題:就是稀疏注意力經過充分訓練,效能上可以比肩稠密注意力,甚至某些情況下還能超越。
這給稀疏注意力領域打了一劑強心針,之前很多審稿人會質疑,稀疏雖然讓模型變快了很多,但變笨了一點,這能否接受?而這些新成果就是告訴大家,你可以快的同時也很聰明。
肖朝軍:補充一下,從推理階段的稀疏到預訓練階段的稀疏,gap 其實挺大的。因為硬體上,GPU 本身不太適合稀疏計算,而適合稠密計算。把稀疏機制引入預訓練,怎麼實現加速是一個難點。
晚點:為什麼是在這個時間點,DeepSeek、Kimi 等公司不約而同地要把稀疏從推理階段引入預訓練?
肖朝軍:其實這和 o1/R1 密切相關,這類推理模型會用 RL(強化學習)在訓練中生成很長的思維鏈(CoT),這是讓模型變聰明的必然趨勢。
所以 “輸出很長” 變得更重要了,之前大家更關注 “輸入很長”,比如 Kimi 產品早期的特性就是輸入很長。但當前 DeepSeek 可能更關注輸出很長時的加速。


NSA 論文中的效果(左表)和效率(右表)提升。肖朝軍關注的輸出很長時的加速,體現在右表中的第一欄,Decode,即解碼、生成過程的加速;NSA 相比 Full Attention 加速了 11.6 倍。
其實我之前也想過把稀疏注意力引入訓練階段,但當時我沒有現在的認知,只是想提升訓練階段的效率。
現在的新認知是,解決長 CoT 才是未來繼續 RL Scaling 的關鍵點。DeepSeek-R1 報告裡有一張圖:隨著 RL 的訓練步數增加,整個輸出會越來越長。可以預想,訓練步數還會繼續增加,輸出長度也會繼續突破。這時把稀疏注意力引入預訓練階段,尤其是 RL 的訓練——但這件事(把稀疏引入 RL 訓練)NSA 論文裡還沒體現——它一定是個未來趨勢。


DeepSeek-R1 技術報告中展示隨訓練步數增長(橫軸),輸出長度(縱軸)持續增長。
所以我特別關注 NSA 和 MoBA 的理論加速比能不能落到實際,從論文看,他們都做得比較好。我們之前的 InfLLM 就是理論加速比高,但實際加速比不夠好。
晚點:為什麼之前加速比很難落下去?
肖朝軍:我一直在搞演算法,不是很懂底層系統,當時我也和別人討論過,就覺得稀疏天然不適合 GPU,就做罷了。
但看到 NSA 之後,我覺得還是自己的認知有侷限,就是我不懂硬體,沒有在運算元層做最佳化。而 DeepSeek 真能把這個想法推下去,這是 NSA 給我的最大沖擊。
改進稀疏注意力的思路已比較成熟,但 DeepSeek 和 Kimi 真的把加速落到了真實系統
晚點:這次 NSA 也特別強調了它是 hardware-aligned(硬體協同)的,就是結合硬體層做了最佳化,這個可以解釋一下嗎?
傅天予:這需要理解 GPU 到底在怎麼做計算。GPU 的一個特性就是 “single instruction, multiple data”(單指令、多資料流),即給出一條相同指令,對不同資料做同樣的操作。
比如只計算一個矩陣時,GPU 比較慢,但如果對 20 個矩陣做同樣操作,它就很高效。所以 GPU 是高度平行計算,並行度越高,對 GPU 越友好。這是計算方面。
在記憶體方面,計算機的記憶體是存一串連續數字。GPU 順序訪問連續數字的效率很高,但如果要訪問的資料比較碎片化,GPU 一次取一大塊數,卻只有其中一小部分有用,效率就會很低,反之,如果取一大塊數,這些數都有用,效率就很高。
理解這兩點後再來看 NSA,它做了一個對 GPU 很友好的操作,就是它是 Block(塊,可以簡單為理解為是一組數)的,這又進到了 Kimi 的 MoBA 的標題裡了,MoBA 的 B 就指 Block。
所以 NSA 雖然是一個稀疏注意力,但它的粒度是到 “塊” 的,要麼這一塊都有用,要麼都沒用。這就滿足了剛才說的兩個期待:記憶體上是連續訪問,計算上是對同一塊資料做相同計算。它對硬體層的主要最佳化,就是提升 Block 的計算。
肖朝軍:對,打個廣告。我 24 年 2 月的 InfLLM 的核心觀點也是,稀疏注意力,就應該在塊層級去做,才會對硬體更友好。
晚點:其實我也問過 R1,NSA 和 MoBA 的異同,它說:“MoBA 更側重 Block 級別的調控,而 NSA 更側重 Token 級別的精細化操作和硬體最佳化。” 實際上二者都是 Block 級別的嗎?
肖朝軍:NSA 也是在 Block level 做的,但文章裡沒特別強調。因為即使是 Block,真要做到非常好的硬體最佳化,還是需要很多操作,所以它後面更多強調了它的硬體最佳化。
晚點:硬體最佳化靠什麼具體方法實現呢?就是前面提到的寫運算元?
肖朝軍:對,就是寫一些系統層的運算元(注:運算元是神經網路中執行具體數學運算的模組、它在模型較底層,直接與晶片硬體互動)。DeepSeek 在 NSA 上寫運算元時用的是 Triton,這是 OpenAI 開源的、在英偉達的 CUDA 上再抽象了一層的介面。
傅天予:我想補充一個非常有意思的事,因為 Triton 是 GPT 3 那會兒出來的(注:Triton 開源於 2021 年,GPT-3 釋出於 2020 年 6 月)。一個不靠譜的坊間傳聞是,GPT 曾嘗試用稀疏注意力來訓練,所以去做了系統適配,這就有了 Triton。
不管傳聞真假,Triton 確實非常適合做塊狀稀疏計算。雖然 OpenAI 最後自己可能沒有用 Triton,但它已經成為學界要做塊狀稀疏計算的很好的工具。
晚點:所以這是 OpenAI 還 open 的時候,給社群帶來的一些貢獻。
肖朝軍:補充一下,我覺得 DeepSeek 未來可能會繼續深入到 CUDA 層(CUDA 是英偉達自己提供的,可以幫開發者更好使用 GPU 的一套軟體平臺)去寫最佳化。因為 Triton 是對編碼友好,CUDA 可以做更深。
還想補充一點, OpenAI 有沒有做稀疏注意力我不知道,但它一定在長文字上做了新的工作。最近它發了 DeepResearch,可以想象,長文字能力一定很強,只不過它自己沒有強調。
晚點:具體到 MoBA 和 NSA 的注意力機制的設計,它們的異同是什麼呢?
傅天予:我覺得共同點主要有三點。一是,它們都是先從更高層次選一塊需要關注的上下文,這個所謂的 “一塊” 就是 “Block Level”,具體選法,二者有細微差別,但總之要先選一塊,把這一塊內容拿進來,再去關注塊內部的細節。
二是,它們選塊時,都傾向關注離當前這個詞最近的詞,這也非常自然,因為即使是稠密注意力,天然也會表現出對臨近的詞更關注。這從語言學上也能理解。
三是,二者都是對於每一個輸入的詞(更具體的說是詞的查詢向量),它選的 Block 是不一樣的,就是它會針對當前在 decode(解碼,這裡指生成過程)的詞,選不同的上下文塊。
肖朝軍:所以整體思路其實挺相似,除了怎麼選塊的差別,還有對塊的表示可能有細微差別。
還是我剛才提到的那個點,現在改進注意力的思想已經比較一致了,但他們能把加速比落到真實的系統裡,這件事很關鍵。
晚點:除了你們提到的,NSA 和 MoBA 都是在塊級別上做計算,它們也提到自己都是動態稀疏注意力。這裡的 “動態” 是什麼意思,那麼相對應的靜態呢?
傅天予:其實 NSA 和 MoBA 都是既有動態,也有靜態。
解釋這個問題,還是要回到大模型怎麼處理文字。文字進入一個模型時,其實是進來了兩個東西,一是每個詞說了什麼,二是這些詞的位置,而位置就是靜態的。
所以,如果一種注意力機制和位置強繫結,比如總是關注句子開頭的幾個詞,就偏靜態;如果是更多關注詞的內容,就是動態。
在 MoBA 裡,它會先固定選擇某個 Token 所在的 Block,其實就是在選擇臨近的位置的 Token,它也有靜態的部分在。
肖朝軍:NSA 裡用到的滑動視窗也是一種靜態稀疏注意力。因為它已經預設了這個詞要和哪些窗口裡的一組詞做相關,而不是動態地決定和哪些詞相關。
那它的問題也可以想象,比如 “我是肖朝軍” 這個例子,在很長的文本里,就需要動態地去關聯 “朝軍” 和 “我”,靜態可能就滑不到那麼前面的 “我” 了。
傅天予:一般而言,靜態效率高,但效果稍差。動態效果更好,因為它同時關注位置和內容資訊,但這導致在輸入具體內容前,不知道具體要看哪裡,這種計算對 GPU 不是很友好,就會比較慢。所以二者是一種權衡。
訓練曲線揭曉懸念:稀疏注意力一定更快,但它也能更好嗎?
晚點:NSA 和 MoBA 都做了一系列測試來驗證自己的效果和效率提升的有效性,在這些測試與實驗成果中,你們看到的亮點是什麼?
傅天予:我個人更關注他們的 Training Curve(訓練曲線)的下降情況。


NSA 展示了 270 億引數大小模型上的訓練損失曲線(Traning Loss Curve)。


MoBA 展示的訓練損失曲線。左圖的常用預測損失包含所有詞元,即也包含大量段前位置的詞元(相當於短文字);而右圖則展示了 32K 輸入長度下,最後 1K 詞元的預測損失,這種長文字末尾的預測損失,更能突出表現模型在上下文變長後的預測效能。
因為我們關注一個改進是否在帕累託前沿上,即同等速度下模型是否最聰明,同等聰明時模型是否最快。
稀疏注意力一定比稠密注意力更快,而訓練曲線會揭示,在投入足夠多的資源時,稀疏注意力能否和稠密注意力一樣好?這件事我們之前不知道。這兩份工作都給了一個比較積極的答案,就是稀疏和稠密的效果大機率會趨於一致,甚至稀疏會更好。
肖朝軍:我個人最關注的是在預訓練階段引入洗漱注意力後,模型在長推理、數學題上的效果。就還是長思維鏈的表現。


NSA 在主要 Benchmark 上與 Full Attention 的對比。涉及通用知識、推理和程式設計;在 4 項推理 Benchmark 中,NSA 的效果都好於 Full Attention。
除了 MMLU(是涉及幾十個學科的通用知識測試)和 MBPP(測試模型從自然語言合成簡短 Python 的能力)兩個指標,NSA 的表現都好於 Full Attention。


這張表中,NSA 則對比了 H2O、InfLLM 等過往稀疏注意力改進和 Full Attention 在測試長文字能力的 LongBench 上的表現,並展示了 MQA(多文件問答)、Code(程式碼)等細分任務上的得分。


MoBA 與 Full Attention 的效果對比。MoBA 與 NSA 的基準選擇有重合,也有區別。比如二者都測了衡量推理能力的 BBH、GSM8K,和與程式設計任務有關的的 MBPP,也都測了綜合衡量長文字能力的 LongBench。
晚點:這部分最後想補充問一下,之前很多工作,包括兩位自己的工作,都沒有把稀疏注意力引入預訓練階段,除了前面提到的認知問題,是不是也和學界的算力資源比較少有關?
肖朝軍:這有兩方面,一是學界要去搞預訓練,確實開銷很大,但我覺得這是很小的一方面。更多還是我之前說的認知問題,我不太會做底層最佳化,而且 InfLLM 是 2023 年就開始做的,當時也不知道生成長思維鏈對 RL 很重要。
傅天予:學界還有一個問題是缺資料。如果我們要把稀疏引入預訓練,並且想證明它好用,就需要讓它變得和稠密模型一樣強。但稠密模型那麼強,所用的資料、和一些訓練上的技巧,學界可能沒有或不知道。
你當然可以用一樣的方法、一樣的資料去訓練稀疏注意力和稠密注意力的兩個模型,如果稀疏的稍微聰明一點,好像也能證明問題。但工業界其實不會太認可。並且驗證成本也很高。
所以我們當時做 MoA 時,最大出發點就是不要訓練,我一定不要訓練。預訓練可能算力不夠,但微調(後訓練)還是做得起的。但我們就不要微調,因為我們希望 MoA 能即插即用,任何人訓練一個稠密注意力的模型後,都能直接用。
我們也不希望我們的方法改變原來模型的偏好。你一旦訓練,可能會讓一個本來禮貌的模型,突然變得機靈,我們不想這樣。所以當時是故意拿掉了訓練部分。
肖朝軍:對對對,我 InfLLM 論文的標題裡就寫了 Training-Free,就是不要訓練。
大模型訓練分預訓練、微調兩個階段。2023 年時,第一個階段還是短的輸入和輸出,第二階段才會用比較少量的資料把它訓長。所以當時還是想在訓練之後的階段把效率打上去。而現在看,從預訓練階段就引入稀疏,一是效果會更好,二是因為長 CoT,現在也真的需要這麼做。
多模態疊加長思維鏈,文字還會更長長長
晚點:再往下,你們認為注意力機制有哪些探索方向?剛才也講到了一些,如長思維鏈生成的相關最佳化。還有呢?
肖朝軍:還有一點是,隨著長文字變得更長,稀疏注意力遲早會面臨儲存問題,因為它的儲存複雜度其實沒變,還是得存前面的全部內容。
儲存改進的極致是 RNN,也可以說是線性注意力,它的儲存大小是固定的,但效能可能有上限。在這兩個儲存的極端之間,有沒有一箇中和?
晚點:想請天予補充一下,儲存這件事,它能如何從硬體上最佳化嗎?
傅天予:這很難。對比計算和儲存,計算發展得非常快,但片上儲存,例如視訊記憶體發展很慢。最近 4 年,英偉達晶片的算力翻了幾十倍,儲存連兩倍都沒到。(英偉達 2025 年釋出的 B200 的算力是 2021 年 A100 的 64 倍,視訊記憶體則是 1.2 倍)。
這是因為快速儲存非常佔芯片面積。而芯片面積再增大,良率會快速衰減,成本就會高得不可接受。
肖朝軍:當然儲存相對便宜,不一定用視訊記憶體,也可以用計算機記憶體,或直接掛硬碟,但這又帶來資料傳輸的速度問題。
其實人腦就不需要那麼多儲存。有沒有可能再進一步向人的機制靠近?就是能動態決策,什麼時候、什麼東西該存,什麼不該存,這可能是下一步要探索的。
晚點:長文字,目前階段看還是以語言為主,未來多模態的注意力要怎麼最佳化?
傅天予:我手頭正在探索多模態注意力的特點。一是模態變多時,上下文會有非常大的增長。對標人類,人 1 小時能讀 18K 的文字,但聽 1 小時音訊轉化成模型輸入是 90K,看 1 小時影片,即使每秒只看 1 幀(正常影片至少每秒 24 幀),輸入到模型也是 100 萬(具體數值和解析度有關)。100 萬 token 什麼概念?差不多能放下 3 冊《哈利波特》。
二是,不同模態也會改變注意力的稀疏模式。文字中常見的稀疏模式是關注臨近的詞。而對影片而言,可能需關注不同幀的相同位置——比如在觀察球的運動軌跡時,那些和當前 Token 最相關的 Token 並非總是鄰近的,而是會跳躍,比如每隔 220 個 Token 看一下。所以不同模態對注意力設計也有不同要求。
我們最近剛開源了一個工作 FrameFusion,它雖然不是處理注意力問題,但也是希望解決長序列下的影片理解問題。這個工作發現,現在我們在文本里選擇捨棄哪部分注意力的值時,更多是從重要性考慮;而影片裡,有些東西雖然很重要,但它每幀都出現,就不需要重複看。所以我們會更多從冗餘性出發,只保留重要且獨特的部分。
晚點:你們覺得,我們現在已經看到的 NSA、MoBA 這些注意力機制,離我們理想中的注意力,總體還有多大差距?
肖朝軍:還是要從能力出發去思考這個問題,就是如何探索長文字的記憶能力。注意力機制本身能改的、大的東西也不多了。而獲得更長的 “記憶” 可能需要新的架構改進。
傅天予:汪玉老師特別喜歡說一個例子:神經網路就是 y=f(x)。x 是輸入,y 是輸出,f 是這個網路。
現在的趨勢是,x 越變越長,這是多模態等帶來的;y 也越變越長,這是思維鏈帶來的。f 要做的事就是,當 x 和 y 都變得這麼長時,我怎麼能算得快,同時又能正確地輸入 x,並正確地輸出想要的 y。這就是大家努力的總體目標。
至於 f 怎麼做到這兩點,注意力改進是方法之一。但也有其他方法能服務這個目標。
用 AGI 解決可控核聚變,然後供能 AGI?
晚點:我們又回到了長文字。未來更長的文字,可以用來做什麼呢?
肖朝軍:按 OpenAI 的規劃,下一步就是做創新。比如我們博士生做科研,從選題到做實驗,到最後寫 paper,整個過程會歷時幾個月甚至一、兩年,這幾個月時間裡的思考如果都存下來,現在的儲存肯定不夠。
(注:OpenAI 去年 7 月定義了 AGI 路線圖的 5 個階段:聊天者、推理者、智慧體、創新者、組織者)。
而我覺得,AGI 的實現,未來一定要做科研。
晚點:為什麼你認為科研這個場景這麼重要?
肖朝軍:因為科研需要非常綜合的能力。能做科研,意味著 AI 要有思考能力、記憶能力、高效學習能力等等,所以科研是 AGI 發展到較高水平時的集中體現。
有了這種能力,AI 能拓展人類知識的邊界,提出新正規化,探索新的宇宙奧秘。
晚點:OpenAI 的路線圖裡,創新者之後還有一個組織者。
肖朝軍:其實我不太認同這個。組織可能先於創新發生,它不一定是高智慧水平才能做到的事,螞蟻間也有組織。
這(創新和組織)可能是兩個方向:一是單體智慧增強,一是從單體向多體合作發展,誰先發展不一定。
大家以前會想,能不能讓大語言模型自己生成文字,再自己訓練自己,越訓越聰明。現在發現,這樣訓練完的大模型會直接崩掉。但如果 AI 真能做科研的話,其實有希望讓它自己迭代、自己升級,甚至有可能出現超越人類的智慧。
晚點:現在有看到任何這樣的苗頭嗎?
肖朝軍:現在還沒有,但我覺得未來 AGI 總會發現自己的缺陷,那就得改自己。
晚點:它為什麼會產生這個動機呢?
肖朝軍:這個就是 AGI 的未來了。他現在肯定沒有動機。
晚點:對,現在只有人給它的學習目標,比如人給 GPT 設定的學習目標是預測下一個詞,給 o1 的目標是用長思維鏈來 “思考”。再往下會是什麼呢?
肖朝軍:那就看人類怎麼想了。也可以設計一個損失函式(Loss Function,它用來衡量模型預測值與真實值之間的誤差解釋,可為模型最佳化提供指導),告訴它,目標就是自我迭代,越來越聰明。
晚點:那麼什麼叫聰明呢?好像還是得人來定義。
肖朝軍:當然了,這個其實很難。人怎麼定義自己的智慧,又怎麼定義人工智慧,都有很多分歧。比如這個話筒,它能錄我的聲音,這是智慧嗎?
晚點:好像不是一般人理解的智慧。
肖朝軍:但是大家肯定認為人臉識別是智慧,它也和話筒一樣,只能做一個任務。為什麼話筒不是智慧,人臉識別是智慧?
人類對智慧的定義現在還不完善。也許未來我們給 AGI 創造足夠多的能力後,它的目標不是人定的,而是它自己定的。
晚點:這個目標會是人類想要的嗎?
肖朝軍:這很難想象。我傾向認為未來 AGI 可能是自組織形式,一個 AI 可以帶著一堆 AI 工作,也會和人類一樣有分工,老闆負責 “畫餅”、定目標,只是這個目標是否服務人類社會,這是未知的。
傅天予:人類總覺得自己的智慧好像高人一等,大腦奧秘真是難以捉摸。但人類智慧在機理上是不是就比其他智慧高階呢?或者說什麼機理最合適、最好呢?智慧也不一定是越像人越好。
晚點:其實一開始聊稀疏注意力時,天予就提到,神經科學研究也發現神經元之間的連線是稀疏的。好像大家下意識還是把 AI 和人類大腦做類比。
傅天予:我覺得人是提供了一個可行解,而且是較優的解,但不能保證是最優解。
當大家都不相信一件事能行時,提供一個可行解或較優解,能幫助把事做成。但是去思考這件事怎麼做到最好時,只提供可行解是不夠的。
晚點:人腦的效率遠優於現在 AI。
肖朝軍:對,因為人的能源就是有限的,每天只能吃這麼多。控制能耗是生物進化的一個關鍵限制。但對 AI,假如它的智慧水平足夠高,我們就能給它提供足夠的算力。
晚點:地球能源不也是有限的嗎?這是要實現可控核聚變呢?
肖朝軍:可以讓 AGI 去研究這個,然後再給自己供能。所以還是回到剛才說的,我認為科研會是 AGI 最重要的一個問題。
*附文中提到的主要工作的 GitHub 或 arxiv 連結:
NSA:
https://arxiv.org/abs/2502.11089
MoBA:
https://github.com/MoonshotAI/MoBA
InfLLM:
https://arxiv.org/abs/2402.04617
MoA:
https://github.com/thu-nics/MoA
FlashAttention:
https://github.com/Dao-AILab/flash-attention
題圖來源:《社交網路》

– FIN –




