EPISODE · Apr 24, 2026 · 5 MIN
@neural_avb:DeepSeek V4 - 架構、訓練與創新 DeepSeek V4 剛剛發布,隨之而來的還有一份技術報告。在這篇文章中,讓我們來拆解一下這次更新的內容。…
from EasyVibeCoding Podcast · host AVB
DeepSeek V4 - 架構、訓練與創新 DeepSeek V4 剛剛發布,隨之而來的還有一份技術報告。在這篇文章中,讓我們來拆解一下這次更新的內容。 我們沒有時間浪費,因為要講的東西實在太多了。讓我們開始吧: 架構創新 混合注意力系統:CSA + HCA + SWA 壓縮稀疏注意力 (Compressed Sparse Attention, CSA):將每 m 個 token 壓縮為 1 個 KV 條目,然後應用 DSA (DeepSeek Sparse Attention) 針對每個 query 僅選取 top-k 個壓縮後的條目。核心注意力步驟使用多查詢注意力 (Multi-Query Attention, MQA)。 這句話資訊量很大,但這可能是理解整個系統最重要的地方。 問:什麼是 DeepSeek 稀疏注意力 (DSA)? 這是 DeepSeek 在 V3 發布時引入的一種技術。基本上,在傳統的多頭注意力 (Multi-Head Attention, MHA) 中,每個 query token 都會關注序列中的所有其他 token。給定長度為 n 的序列,注意力矩陣的大小為 n×n,這使得計算複雜度達到 O(n^2)。 DSA 是一種稀疏選擇策略,它不再關注所有的 n 個 token,而是讓每個 query token 只關注選定的 top-k 個 KV 條目。 問:那麼 CSA + DSA 是什麼? 當 DSA 關注 n 個 token 時,這些 KV 條目已經是 token 區塊的壓縮表示了!這種壓縮將每 m 個 token 聚合為單個壓縮後的 KV 條目! 我們是沿著 token 數量維度進行壓縮,這直接影響了序列長度(而不是沿著 embedding 維度)。 問:從技術上解釋一下 輸入的隱藏狀態為:[N x d],其中 N = 序列長度,d = embedding 大小。 現在,沿著序列軸每 m 個連續的 token 條目會被融合為單個壓縮條目。大小變為 [N/m x d],這直接減少了 m 個 token。 對於每個區塊,我們有兩個矩陣:Ca 和 Cb。Ca 查看當前區塊的前一個區塊,Cb 查看當前區塊。兩個區塊各包含 m 個 token,總共 2m 個 token。這兩個矩陣結合起來計算聚合後的 context。它們使用 softmax 操作來確定這 m 個 token 中的每一個對區塊最終 embedding 的影響程度。 以上就是 CSA。現在是時候進行 DSA 了。 DSA 接著取得這些區塊的 KV 表示,並應用一個輕量級索引器來找出哪些區塊與處理當前的 query token 相關。基本上,對於每個 query token,我們透過計算潛在空間相似度分數,來計算它與每個壓縮區塊 s 之間的廉價相關性分數。DSA 讓我們從 n/m 個區塊縮減到 k 個區塊(k << n/m,因此我們實現了注意力空間的稀疏化)。 以上就是 DSA,現在是時候進行 MQA 了。 MQA 取得我們擁有的那 k 個注意力區塊並應用多查詢注意力。MQA 是一種經典的注意力機制,我們為 query token 生成多個 query 頭,並使用我們在 CSA 期間已經儲存的單個 KV 頭。 問:為什麼這有助於將 DeepSeek-V4 擴展到數百萬個 token? 這大幅減少了被感知的 token 數量,因為多個 token 被分組為一個 token,加上 DSA 確保了只關注選定的 top-k 個條目。 這就是 DeepSeek V4 能夠擴展到超過一百萬個 token 的主要原因之一! 結合 CSA 和 HCA 的混合交錯注意力 - 我們已經介紹了 CSA,但還有另一種變體:重度壓縮注意力 (Heavily Compressed Attention, HCA)。 CSA = 壓縮 + 稀疏選擇(聰明但適度的壓縮) HCA = 更激進的壓縮,關注剩下的所有內容(暴力但廉價) DeepSeek V4 在不同層之間交替使用,以覆蓋不同的 context「範圍」。一層 CSA -> 接著 HCA -> 再接著 CSA,依此類推。 問:HCA 與 CSA 有何不同? 差異 1:HCA 比 CSA 壓縮了更多的 token。這使得序列長度變得更短。對於 Pro 和 Flash 模型,CSA 將 4 個 token 壓縮為一個 KV 條目,而 HCA 壓縮了 128 個 token! 差異 2:HCA 也不重疊(CSA 是重疊的,因為它有那兩個查看連續區塊的矩陣 Ca 和 Cb)。這確保了 HCA 的壓縮速度很快。 差異 3:CSA 使用了帶有 DSA 的 top-K 選擇器。HCA 的序列長度已經很小,所以它們透過對整個前綴應用注意力來暴力處理整個序列。 問:它們如何互補? HCA 層為每個 token 提供廉價的「全域記憶」——注意力是在整個 context 上進行的,因此它是整個前綴歷史的粗略摘要。 CSA 層讓 token 進行細粒度、選擇性的檢索。 問:為什麼這有助於將 DeepSeek-V4 擴展到數百萬個 token? 它們共同使得百萬級 token 的 context 變得可行:你永遠不需要進行完整的 O(n^2) 注意力計算,但你仍然可以同時獲得全域覆蓋 (HCA) 和精確的局部檢索 (CSA)! 滑動視窗注意力 (Sliding Window Attention, SWA):純 CSA/HCA 有一個根本問題:query token 無法看到其當前區塊內的其它 token。因為 CSA/HCA 只壓縮先前已完成的區塊——當前區塊尚未完成,因此無法壓縮! SWA 解決了這個問題。它有兩個不同的角色。 SWA 角色 1: 對於每個 query token,它會為最近的 nwin 個 token 生成一組原始的、未壓縮的 KV 條目,並將它們與壓縮後的條目直接串聯到注意力池中。 SWA 角色 2: 還有第二個獨立用途:模型的最初幾層完全跳過 CSA/HCA,只使用純粹的滑動視窗注意力,且完全不進行壓縮。 理由是早期層正在構建低階的局部表示(語法、單字邊界、局部模式)——它們還不需要全域 context。純 SWA 對此來說既廉價又足夠。 流形約束超連接 (Manifold-Constrained Hyper-Connections, mHC) DeepSeek-V4 用 mHC 或流形約束超連接取代了標準的殘差連接。 mHC 是他們不久前發表的一篇論文,我有一個完整解釋它的影片。點這裡查看:https://youtu.be/rkNrmlDpTKE 問:Transformer 中殘差連接的角色是什麼? 基本上,標準殘差連接取得 Transformer 層的輸入,並將其加到輸出上——這使得 Transformer 層能夠學習殘差映射(即對輸入 embedding 的加法變化),而不是學習變換映射(即完全生成輸出 embedding)。 問:為什麼有人會想替換殘差連接? 如果你把殘差連接想像成在 Transformer 層中直接連接輸入到輸出的高速公路,那麼可以把 mHC 想像成「多條高速公路」。資料可以透過多個通道從輸入流向輸出。 mHC 使用了一些很酷的數學屬性,例如 Birkhoff 多面體,它基本上確保了儘管增加了這些多重連接器,輸出範數永遠不會爆炸。 這是一種穩定的方法,允許網路中存在多個殘差映射,而不僅僅是一個。 更多內容 注意力匯聚 (Attention Sinks):透過操作 Softmax,允許 token 在有意義時關注「虛無」。 https://arxiv.org/abs/2309.17453 DeepSeek MoE 風格的混合專家模型 (Mixture-of-Experts),取代了 FFN/稠密層。他們還做了很酷的事情,例如雜湊路由 (hash-routing)、預期路由 (anticipatory routing) 和無輔助損失路由 (auxiliary-loss-free-routing) 方法,以平衡專家之間的負載。 https://arxiv.org/abs/2401.06066 多 token 預測 (Multi-Token Prediction, MTP) - 增加了輔助預測頭,不僅預測下一個 token,還預測未來的 token。 使用 Muon 優化器來訓練大多數參數(embedding、預測頭、RMSNorm,靜態 mHC 偏差/門控使用 AdamW)。 Muon 論文:https://arxiv.org/abs/2502.16982 大量硬體層面的東西,用於 MoE 專家並行、底層 CUDA 核心以及訓練基礎設施,老實說我不太理解,所以我就不嘗試解釋了。 --- 訓練流程 我跳過了預訓練流程,因為這在如今大同小異且屬於標準程序。更有趣的部分其實是後訓練階段。 後訓練 (SFT + RL) 領域:數學、程式撰寫、Agen…
Embed this episode
Ready to play
@neural_avb:DeepSeek V4 - 架構、訓練與創新 DeepSeek V4 剛剛發布,隨之而來的還有一份技術報告。在這篇文章中,讓我們來拆解一下這次更新的內容。…
No transcript for this episode yet
Similar Episodes
No similar episodes found.
Similar Podcasts
No similar podcasts found.