DeepSeek 用暴力美學改架構,把 Full Attention 全線壓制了
動態稀疏注意力過去只能加速推理,DeepSeek 第一次拿它從頭預訓練,損失曲線和下游評測全線壓過 Full Attention——稀疏注意力不再只是省錢的補丁。
原視頻在 YouTube 上放不出來,用音頻聽:
核心論點 · 點時間戳可跳到原聲
動態稀疏和線性注意力是兩條路
Kimi 和 DeepSeek 走的是動態稀疏注意力:稀疏模式不預先寫死,由每個 token 的 query 動態決定要 attend 哪些 key/value block。MiniMax 走的是另一條路——混合架構,把絕大多數層換成線性注意力,只保留少量 softmax 注意力層,從而在推理解碼階段大幅縮短時間開銷,對 test time scaling 更友好。松林判斷 Kimi 和 DeepSeek 兩篇共性更多,MiniMax 是另一套思路。
— 楊松林之前的動態稀疏只能加速推理
為什麼之前的動態稀疏注意力不能做預訓練?松林說主要是它跟當前硬件不是非常對齊,所以主流工作都只用來加速 inference,而不是從頭預訓練。DeepSeek 這篇是第一次拿動態稀疏注意力做非常大規模的預訓練,機制上主要基於 Quest——MIT 韓松老師組 2024 年的一篇工作,核心是每個 token 動態決定要 attend 的 key/value block,且 block 是連續的一段,方便硬件連續讀取。
— 楊松林GQA 逼它讓所有頭選同一個 block
這是 NSA 和 Kimi MoBA 的核心分歧。在 MHA 下每個注意力頭有自己的 key/value,各選各的 block 讀寫量相同,可以盡情讓不同頭選不同 block,多樣性更強。但 GQA 下一個 group 共享一份 key/value,如果不同頭選不同 block 就要讀多份 KV cache,帶來額外開銷。NSA 為了在 GQA 下減少這個開銷,強行限制同一個 group 下所有頭選同樣的 KV block,做法是對所有頭的注意力分數求和再取 top-k,保證行為一致。
— 楊松林為了湊矩陣乘法把 head 數硬拉上去
Tensor core 對矩陣乘法的最小尺寸有要求,在 Triton 裡要求 h、dk、bk 至少為 16。但 GQA 每個 query group 下的 head 數通常不到 16,同時又要保證 4 個 group 來維持不同頭之間的選擇多樣性。DeepSeek 乾脆把整體 head 數量增大:dq 是 192,乘以 64 後存起來將近 12000,而 hidden dimension 只有 2560,等於做了一次非常大的向上投影。松林說這很有 DeepSeek 特色,MLA 也是類似做法,反正從頭訓練,只要訓練和推理兩個階段都硬件高效,up projection 也無所謂。
— 楊松林稀疏注意力可以比 Full Attention 更好
在 Full Attention 基礎上做稀疏(比如 Quest)會掉點,因為那是一個逼近過程,始終受 Full Attention 性能上限約束。松林說想讓稀疏注意力甚至比 Full Attention 好,只有一個出路:train from scratch。DeepSeek 的結果是損失曲線全程壓在 Full Attention 下面,下游 benchmark 上 NSA 甚至比 Full Attention 更好,long bench 上稀疏注意力比 Full Attention 還要好。松林認為這是 DeepSeek 指出的道路:不要只在 Full Attention 上做稀疏,乾脆設計訓練時就表現好的稀疏機制。
— 楊松林MoBA 的 block size 開不了太小
MoBA 每個 KV block 要把所有選到它的 query token 提出來,做各種 indexing 和 reindexing,這個 overhead 不是免費的。當 KV block 數量足夠多時這一步可能成為 bottleneck,所以 Kimi 用了 512 的 block size,而 DeepSeek 用 64,top-k 分別是 3 和 16。松林說 block size 太大意味著粒度太粗,只選 3 個 block 一不小心就會漏掉重要信息;DeepSeek 選 16 個 block 容錯率更大。這是 Kimi 簡約背後付出的代價之一。
— 楊松林Kimi 砍掉壓縮分支,SFT 時梯度稀疏
MoBA 把 DeepSeek 的壓縮注意力分支和滑窗分支都砍掉,只保留中間分支,用 mean pooling 做 block 表示,不引入任何多餘參數,很多人覺得比 NSA 更優雅。但代價是 SFT 時出現 suboptimal performance:SFT 的 prompt 不進入損失計算,只算後面少部分 token 的 loss,如果這些 loss token 沒覆蓋到某些 block,那些 block 就沒有任何梯度信息,造成訓練信號稀疏。他們的解法是把最後三層切回 full attention,保證每個 token 都有梯度。
— 楊松林RN 像大腦,Attention 像翻書
MiniMax 的混合架構把線性注意力和 softmax 注意力結合,scaling behavior 比純 softmax attention 更好。松林解釋兩者好處互補:RN 有固定大小的 hidden state,強迫模型學出可壓縮的 pattern,可能跟壓縮即智能有關;softmax attention 保留全部 KV cache,擅長檢索。他打了個比方——attention 像翻書,RN 像人的大腦,腦容量固定,需要時去翻書,平時靠固定容量的記憶就夠用。純線性注意力在 retrieval 類任務上是短板,混合後反而更好。
— 楊松林原話 · 已逐字校驗
就是在這種硬件上面的限制下面 他能在 刀刃 就是他 他能 他能 就是 像刀尖舔血一樣 就是能夠 同時還能還能堅守他的大原則
就是在硬件的限制下,他能像刀尖舔血一樣,同時還能堅守他的大原則。
楊松林1:17:25
但是我覺得從硬件暴力美學來看呢 這個我覺得也無可厚非吧 只要它夠快 速度夠 速度夠快 performance夠好 那我覺得它就是美的
但從硬件暴力美學的角度看,這也無可厚非——只要它夠快、性能夠好,那它就是美的。
楊松林1:43:04
數字與實體
| NSA 在 64k 序列長度上的加速比 | 快 10 倍 | 1:04:11 |
| MiniMax-01 的線性注意力與 softmax 注意力層數配比 | 每 7 層線性注意力配 1 層 softmax 注意力,共 80 層,重複 10 遍 | 1:46:09 |
| MoBA 長文本評測長度 | 測到 100 萬級別 | 1:37:53 |
| A100 上半精度矩陣乘法相對 ALU 的加速 | 約 16 倍 | 47:55 |
| DeepSeek NSA 的 dq 與 hidden dimension | dq 192,hidden dimension 2560 | 53:00 |
| MoBA 預訓練中稀疏注意力與 full attention 的 token 比例 | 90% 用稀疏注意力,10% 用 full attention | 1:36:53 |
術語
- NSA (Native Sparse Attention)原生稀疏注意力
- DeepSeek 提出的動態稀疏注意力,首次用於大規模預訓練。
- MoBA (Mixture of Block Attention)塊注意力混合架構
- Kimi 提出的動態稀疏注意力,每個頭可自選 KV block。
- GQA (Group Query Attention)分組查詢注意力
- 多個注意力頭共享一份 key/value,減少 KV cache 讀取。
- Lightning Attention閃電注意力
- MiniMax-01 採用的線性注意力變體,推理為常數複雜度。
- trunkwise分塊算法
- 把序列分成若干塊,塊內並行、塊間循環,湊出矩陣乘法。
- tensor core張量核心
- GPU 上專門做半精度矩陣乘法的計算單元,速度遠快於 ALU。
收聽指南
關注大模型架構與推理成本的工程師、研究員和投資人,想搞清 DeepSeek、Kimi、MiniMax 三條技術路線差異的人。
開頭 0:00-4:00 的節目介紹和嘉賓定位可跳過,直接進論文講解。