
文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

文章圖片

機器之心編譯
元旦期間 , DeepSeek 發布的 mHC 震撼了整個 AI 社區 。
簡單來說 , DeepSeek 提出的 mHC 通過將傳統 Transformer 的單一殘差流擴展為多流并行架構 , 并利用 Sinkhorn-Knopp 算法將連接矩陣約束在雙擬隨機矩陣流形上 , 成功解決了超連接(HC)在大規模訓練中因破壞恒等映射屬性而導致的數值不穩定和信號爆炸問題 。 更多詳情請參閱《剛剛 , 梁文鋒署名 , DeepSeek 元旦新論文要開啟架構新篇章》 。
時至今日 , 這篇讓眾多讀者大呼看不懂的論文依然是技術社區關注的一大焦點 。 解讀分享這篇論文就好像已成為一種技術時尚 。
但還有更加硬核的 , 近日 FlowMode 工程師 Taylor Kolasinski 宣布成功復現了 mHC , 并且在測試中還取得了比 DeepSeek 原始論文更好的成績!
評論區也是直呼「不明覺厲」:
目前 , Kolasinski 正通過一個 mHC 復現系列博客介紹其復現成果 , 相關博客已經發布了 2 篇 。 這里我們進行了整理 , 以饗讀者 。
博客 1:https://taylorkolasinski.com/notes/mhc-reproduction/ 博客 2:https://taylorkolasinski.com/notes/mhc-reproduction-part2/博客一:DeepSeek 的 mHC:當殘差連接發生爆炸
你使用過的每一個 Transformer 模型都采用了 2016 年以來的同一種殘差連接設計 。
GPT-5、Claude、Llama、Gemini 。 在底層 , 它們做的事情都是一樣的:x + F (x) 。 信息流只有一條 , 穿過網絡 , 每一層都向其中添加內容 。
DeepSeek 提出了一個問題:如果它變得更寬會怎樣?
設置
標準殘差連接是每一個現代 Transformer 的脊梁 。 其思路很簡單:
其輸入原封不動地流過 , 加上該層的輸出 。 這是一條單一的信息流 。 進去是什么 , 出來的就是什么加上一個學習到的更新量 。 這就是為什么 Transformer 可以深達數百層:梯度有一條干凈的向后路徑 。 簡單 。 穩定 。 自 2016 年以來未曾改變 。
超連接(Hyper-Connections)采取了不同的方法 。 它不再是單一流 , 而是擴展到 n 條并行流 , 并帶有可學習的混合矩陣:
下圖對比了標準殘差與超連接:
三個矩陣控制著信息的流動方式:
H_res:信息流在殘差路徑中如何混合(紅色的交叉部分) H_pre:信息流在進入層之前如何組合 H_post:層的輸出如何分配回各個流中超連接表達能力更強 。 參數更多 , 但計算開銷幾乎可以忽略不計 。 理論上性能更好 。 亦可參閱報道《字節豆包大模型團隊突破殘差連接局限!預訓練收斂最快加速 80%》 。
但問題是什么?那些混合矩陣是不受約束的 。 它們不僅能路由信號 , 還能放大信號 。
爆炸
在激進的學習率下 , 作者的復現實驗中超連接(HC)的信號放大達到了 7 倍 , 隨后最終崩潰 。 Amax(行和列絕對值的最大值)衡量了一個矩陣能將信號放大多少 。
在 10M 參數的規模下 , 這也還行 。 但 DeepSeek 在 27B 參數下觀察到了這種情況:
「Amax 增益幅度產生了極值 , 峰值達到 3000」
你沒有看錯:三千倍的放大 。 在 27B 參數下 , 不受約束的 HC 不僅僅是漂移 , 而是爆炸了 。 這里的 10M 復現中達到的 9.2 倍正是這種指數級故障的早期預警 。
也因此 , 不受約束的混合矩陣在規模化時會崩潰 。 微小的放大呈指數級復合 。
壓力測試: 在激進的學習率下 , HC 的信號放大在崩潰前達到了 7 倍 。 mHC 保持平穩 , 維持在 1.0 。
修復:約束流形
DeepSeek 的修復方案很干凈:將混合矩陣約束為雙重隨機(doubly stochastic) 。
一個雙重隨機矩陣具有以下特性:
所有條目非負 行之和為 1 列之和為 1
這意味著混合操作只能對流進行加權平均 。 它可以路由信息 , 混洗它 , 融合它 。 但它不能放大 。
DeepSeek 是如何做到塞?使用 Sinkhorn-Knopp 算法 。
該算法非常簡單:
從任意矩陣(原始學習到的權重)開始 取指數使所有條目變為正數:P = e^H 歸一化行 , 使每一行之和為 1 歸一化列 , 使每一列之和為 1 重復 3-4 個步驟 , 直到收斂就是這樣 。 交替進行行和列的歸一化 。 二十次迭代就足夠了 。
這個過程是可微分的 。 梯度可以回傳穿過所有二十次迭代 。 網絡學習原始權重 H , 而 Sinkhorn 確保實際的混合矩陣始終是雙重隨機的 。
當作者第一次看到這個時 , 感覺像是作弊 。 你不是在學習穩定性 , 而是在強制它 。 但有些屬性不應該被學習;它們應該被保證 。
技術說明:嚴格來說 , 只有遞歸矩陣 H_res 需要完整的 Sinkhorn 雙重隨機處理 。 它是層層復合誤差的那個 。 輸入 / 輸出混合器(H_pre , H_post)僅通過 sigmoid 進行有界處理 。 Sinkhorn 的計算成本只花在最重要的地方 。
結果
不同種子的結果(深度 24 , 3 個種子)
HC 在原始性能上獲勝:驗證損失 0.88 對 1.12 。 在 10M 參數下 , mHC 約束就像是一種穩定性稅;你付出的是表達能力 。 但在 27B 參數下 , 這種稅是防止你的模型爆炸成 NaN 的唯一手段 。
但看看方差 。 HC 的損失在不同種子間的變化是 mHC 的 3 倍(±0.033 vs ±0.012) 。 至于 Amax?HC 根據種子的不同在 6.1 到 7.6 之間擺動 。 mHC 是 1.00 。 每一個種子 。 每一次運行 。 零方差 。
在 10M 參數下 , 這種不穩定性是可以存活的 。 HC 仍然獲勝 。 但在 27B 參數下 , 那 6-7 倍的放大變成了 3000 倍 。 在這個規模下你無法賭博 。
深度擴展
作者還掃描了從 6 到 24 層的深度(保持約 11M 的常數參數預算):
損失隨著深度增加而改善 , 直到不再改善 。 深度 20 達到了甜蜜點(0.85 驗證損失) 。 深度 24 略有退步(0.93) , 這是由于為了將維度縮小到 192 而產生的寬度瓶頸 。 Amax 是不可預測的 。 深度 20 飆升至 9.2 倍 。 深度 12 達到 6.6 倍 。 深度 8 保持在 4.3 倍 。 沒有清晰的關系;HC 是混沌的 。實驗細節
數據集: TinyShakespeare(約 1M 字符 , 字符級) 模型: GPT-2 架構 , 約 10M 參數 訓練: 5000 步 , AdamW (β1=0.9 β2=0.95) , 權重衰減 0.1 , 余弦 LR 衰減 硬件: Apple M 系列 (MPS) 深度掃描: 8 種配置(6-24 層) , 調整寬度以維持約 11M 參數 種子變異: 3 個種子(42 123 456) , 深度 24為什么這很重要
殘差連接不僅僅是幫助梯度流動的技巧 。 它們是一種守恒定律 。
在物理學中 , 守恒定律約束了可能發生的事情 , 但使預測成為可能 。 你不能制造永動機 , 但你可以精確計算球會落在哪里 。
殘差連接中的恒等映射是類似的 。 它通過防止任意變換來約束網絡 , 但它保證了穩定性 。 信號幅度被保留 。
HC 打破了守恒;mHC 恢復了它 , 不是通過回歸到恒等映射 , 而是通過找到一個更豐富的、仍然守恒信號的流形 。
2016 年 , 何愷明等人引入 ResNets 來解決梯度消失問題 , 確保信號不會消亡 。 十年后 , 相反的問題出現了:超連接帶來的信號爆炸 。 恒等映射通過被動的方式解決了第一個問題 。 mHC 通過強制守恒解決了第二個問題 。
每一個殘差連接都是一種守恒定律 。 mHC 強制執行了它 。
不是黑客手段 , 不是技巧 。 這是一個原則性的約束 , 使架構能在規模化下工作 。
要點總結
流持久性 Bug 讓人學會謙卑 。 作者的第一個實現看起來是對的 。 公式與論文相符 。 代碼能跑 。 但當把輸出投影回單一流并在每一層重新擴展它 , 扼殺了并行架構 。 「超連接」中的「超」部分實際上沒做任何事 。 三次獨立的審計都說「看起來是對的」 。 Bug 是架構上的 , 不是數學上的 。 作者是在問了「等等 , 層與層之間流動的實際形狀是什么?」之后才發現的 。約束不是限制;它們是保證 。 雙重隨機投影強制了穩定性 。 你不是在學習好的行為 。 你是在讓壞的行為變得不可能 。 作者表示自己的第一反應是:「這不優雅 。 這是束縛 。 」但其實 , HC 達到了 7 倍放大才是重點 。無聊的選擇能規模化 。 標準殘差連接自 2016 年以來一直存活 , 不是因為它們是最優的 , 而是因為它們是穩定的 。 HC 表達能力更強但脆弱 。 mHC 找到了一個中間地帶:比標準殘差表達能力更強 , 且帶有穩定性保證 。博客 2:10924 倍:17 億規模下的不穩定炸彈
下面是 mHC 復現系列的第 2 部分 。 第 1 部分 展示了 10M 參數量下的不穩定性 。 現在 , 要擴大規模了 。
在第 1 部分中 , 作者在 TinyShakespeare 數據集上訓練了一個 10M 參數的 Transformer , 并目睹了超連接(Hyper-Connections)將信號放大了 9.2 倍 。 DeepSeek 的論文 報告稱在 27B 參數下放大倍數達到了 3000 倍 。 現在我們也擴大規模看看 。
為了這次運行 , 作者租用了一個 8x H100 的節點 。 以下是他的發現 。
規模躍遷
10924 倍信號放大!這遠遠超出了 DeepSeek 論文中的 3000 倍 。
實驗
這篇博客記錄的是作者在三種架構上進行的 18 次實驗 , 包括:
Residual:標準的殘差結構 , 即 x + F (x) 作為基線; HC:采用無約束混合矩陣的超連接(Hyper-Connections); mHC:采用 Sinkhorn 投影的流形超連接(Manifold Hyper-Connections) 。每種架構分別在兩種網絡深度下進行(32 層和 48 層) , 并使用三個隨機種子(42、123、456) , 因此每種配置運行 3 次 。
所有模型均在 C4 數據集上訓練 5000 步 , 采用 bf16 混合精度 。 其中 32 層模型參數量為 17.3 億(1.73B);48 層模型參數量為 25.4 億(2.54B) 。
主要結果
首先 , 在 Loss 表現上:所有方法的收斂表現幾乎一致 。
三種方法最終都收斂到相近的 loss 區間(約 5.4–6.0) 。 整體學習曲線幾乎完全重合:HC 并沒有學得更快 , mHC 也沒有變慢 。 從實驗結果來看 , 引入 Sinkhorn 投影幾乎沒有額外代價 。
其次 , Amax 表現出強烈的不穩定性 。 Amax 是用來衡量混合矩陣對信號的放大程度 , Amax = 1.0 表示對信號不放大(中性);數值越高 , 表示信號被放大的程度越強 。
實驗中發現 , 在深度為 32 時 , HC 的 Amax 值飆升至 6500 倍 , 并伴隨著劇烈的波動 , 而 mHC 值則穩定保持在 1.0 。 在深度為 48 時 , 這種模式再次出現:HC 猛增至 3500 倍 , 而 mHC 值保持不變 。
Scaling Laws
在對 Amax 與模型參數規模進行 log–log 繪制后 , 可以觀察到明顯的放大趨勢:當模型規模為 1000 萬參數時 , Amax 約為 9.2 倍;在 17 億參數規模下 , 這一數值躍升至 10924 倍;
而公開數據中 , DeepSeek 的 270 億參數模型對應的 Amax 約為 3000 倍 。 基于趨勢線外推 , 模型規模達到 100 億參數時 , Amax 可能上升至約 50000 倍 , 在 1000 億參數量級下 , 甚至可能接近 400000 倍 。
實驗結果并未顯示出任何自我修正的跡象 , 相反 , 隨著模型規模擴大 , 不穩定性呈現出持續加劇的趨勢 。 值得注意的是 , 該實驗中的 17 億參數模型所表現出的不穩定性 , 甚至高于參數規模更大的 DeepSeek 模型 。
這種差異可能源于架構設計、訓練配方或測量方法的不同;批大小、學習率與網絡深度之間的相互作用 , 也使得尺度效應并非嚴格單調 。
盡管具體數值會受到多種因素影響 , 但這種不穩定性是客觀存在的、可以被量化的 , 而且規模不容忽視 。
可復現性
此外 , 在三個不同的隨機種子下 , 實驗都呈現出完全相同的模式:所有 HC 的訓練過程都會發生爆炸 , 而所有 mHC 的訓練過程始終保持平穩 。 不同隨機種子下的 loss 曲線幾乎完全重合 , 兩種方法的學習速度也一致 。
唯一的差別在于模型內部正在發生的事情:HC 在不斷積累不穩定性 , 這種不穩定性可能在任何時刻被引爆;而 mHC 則始終維持著自身的結構完整性 。
逐層分析:不穩定性從哪里開始的
這里有一個令人驚訝的發現:不穩定性始于輸入端 , 而非輸出端 。
HC 的第 0 層(可視化圖表中的頂行)率先變紅 , 隨后其混合矩陣在訓練初期就突破了 Amax 2.0 , 而更深層的網絡則保持相對穩定 。 看起來問題不在于深度 , 而在于第 0 層 —— 這是唯一一層直接吞吐原始輸入的層 。
為什么是第 0 層? 不同于深層網絡前面有 LayerNorm 把關 , 第一個混合矩陣直接面對原始 Embeddings 。 其他每一層看到的都是經過歸一化、變換后的表征 , 但第 0 層必須硬抗 Embedding 表吐出的任何數值 。 如果尺度(scale)沒有完美匹配 , 第 0 層就會學習去補償 。
而在 HC 中 , 「補償」可能就意味著「放大」 。 反觀 mHC , 在所有層級和所有訓練步數中都呈現均勻的綠色 。 Sinkhorn 投影在限制最大值的同時 , 也完全防止了任何層發生漂移 。
信號流:視覺展示
在第 3000 步時 , 一個進入 HC 網絡的信號在輸出時被放大了 532 倍 。 而同樣的信號經過 mHC 輸出時倍率為 1.000003 倍 , 本質上保持不變 。
LayerNorm 和非線性模塊似乎「收拾」了大部分爛攤子 , 但這意味著它們消耗了模型容量 , 僅僅是為了去抵消上游制造的混亂 。
這正是守恒定律的體現 , 它表明殘差連接應當保持信號的幅度:輸入了什么 , 就應當輸出什么(再加上學習到的殘差) 。
HC 打破了這一規則 , 任由信號失控螺旋上升 , 而 mHC 則守住了底線 。
壓力測試
正常的訓練使用了 1e-4 的學習率 。 如果加大強度會發生什么?作者在 3 倍于正常學習率的條件下進行了壓力測試:
深度 64 的模型在 Amax 達到 14765 倍后 , 開始在 2000 倍到 10000 倍之間劇烈振蕩 , 同時 , 混合矩陣徹底失控 。
反觀 mHC , 在所有配置、所有學習率下都表現得平坦、穩定且「無聊」 , 數值始終保持在 1.0 。
意料之外:HC 模型并未崩潰
有一個作者沒想到的結果:所有的 HC(Hyper-Connections)運行實驗都沒有崩潰 。
信號放大了 14765 倍 , 在深度 32 時放大了 10924 倍 。 Loss(損失)沒有發散 , 訓練也沒有出現 NaN 。 模型仍在繼續學習 。
這是一種「定時炸彈」般的場景 。 不穩定性確實存在 , 但尚未導致災難性的失敗…… 至少目前還沒有 。
為什么沒炸?作者列舉了以下幾種可能性:
梯度裁剪力挽狂瀾 。 將范數裁剪在 1.0 防止了最嚴重的梯度爆炸 , 這幾乎肯定就是拯救了這次運行的關鍵 。 5000 步還不夠 。 如果訓練時間再長一點 , 它可能就會爆發 。 這些模型還太小 。 在 100B(千億)參數規模下 , 動力學特性可能會有所不同 。 穩妥的解讀是:HC 正在積聚不穩定性 , 在不同條件下可能會被引爆 , 而 mHC則完全消除了這種風險 。重訪守恒定律
在第 1 部分中 , 作者將殘差連接定義為了一種守恒定律 , 即「每一個殘差連接都是一條守恒定律 , mHC 強制執行了它 。 」
1.7B 參數規模的結果讓這一點變得具體:HC 違反了守恒 , 信號在訓練過程中增長了 10000 多倍 。 而 mHC 強制守恒 , 信號保持穩定 。 具體地 ,
在 10M(一千萬)參數時 , 違反守恒是可以存活的 。 作者在第 1 部分中看到的 9.2 倍放大雖然煩人 , 但尚在可控范圍內 。 在 1.7B(十七億)參數時 , 這就是個炸彈 。 10924 倍的放大意味著一個本該是量級 1 的信號 , 現在變成了 10924 。 梯度更新在與這種放大對抗 , 而優化器必須做額外的工作來補償網絡內部的混亂 。這還僅僅是在 5000 步的時候 , 如果訓練更久、推高學習率、或者擴展到 10B 參數 , 在某個臨界點 , 炸彈就會引爆 。
mHC 不僅僅是降低了不穩定性 , 而是徹底消除了這種故障模式 。
從這次運行中學到了什么
一是 , GPU 3 掛了 。 8 張 H100 中的一張在特定實驗中不斷報錯 CUDA 錯誤 。 作者浪費了一個小時調試「代碼問題」 , 才意識到是硬件故障 。 云端 GPU 是會壞的 。
二是 , Batch size(批次大?。 ┑南拗剖欽媸檔?。 2.5B 參數的 d48 模型無法在 batch size 為 8 時塞進顯存 。 作者不得不降到 batch size 4 。 這意味著不同深度下的「每步 token 數」不同 。
雖然同一深度下 HC 與 mHC 的對比依然有效(batch size 相同) , 但跨深度的對比就不那么完美了 。
要點總結
如果正在實現超連接:
使用 Sinkhorn 投影 。 這里大概只有 10 行代碼 , 卻消除了一種在大規模下感覺真正危險的故障模式 。 在訓練期間監控 Amax 。 如果你看到它爬升超過 10 倍 , 則是在積聚不穩定性 。 第 0 層是「金絲雀」(預警指標) 。 特別密切關注你的輸入混合矩陣 。 如果你的基礎模型有一個不穩定的第 0 層 , 微調期間的詞表變更或 Embedding 漂移可能會導致網絡不穩定 。 該約束沒有性能代價 。 mHC 的 Loss 與 HC 完全一致 。代碼和數據
數據是公開的 , 代碼即將發布 。
主要實驗: wandb.ai/taylorkolasinski/mhc-part2 壓力測試: wandb.ai/taylorkolasinski/mhc-part2-stress作者表示 , 包含訓練腳本的倉庫即將推出 。 WB 儀表板擁有每次運行的完整配置、指標和系統日志 。 實驗在一個 Lambda Labs 的 8x H100 SXM5 節點上運行 , 耗時約 17 小時 。
下一步計劃
目前有兩個懸而未決的問題:
HC 真的會失敗嗎? 作者看到了 10924 倍的放大 , 但訓練沒有發散 。 這是一種潛在風險 , 還是說訓練時間更長就會導致失敗? Scaling Law 是什么? 10M → 9.2 倍 。 1.7B → 10924 倍 。 到了 10B 會發生什么? 【租了8張H100,他成功復現了DeepSeek的mHC,結果比官方報告更炸裂】作者想探索 Scaling Law 到 10B 參數 , 趨勢線表明那里可能出現 50000 倍的放大 。 那個實驗技術上已經準備好了 , 但需要計算預算的大幅提升 。
推薦閱讀
- 國產第二代7nm TPU明年上市!性能目標超NVIDIA H100
- AI大戰打到太空!前腳H100入軌,TPU后腳上天,中國玩家笑而不語
- 英偉達發射了首個太空AI服務器,H100已上天
- 李飛飛全新「世界模型」問世,單張H100實時生成3D永恒世界
- 英偉達GB200 NVL72與H100,誰才是訓練之王?
- 馬斯克狂燒14萬億,5000萬H100算力五年上線,終極爆沖數十億
- 馬斯克放大招!xAI 五年狂砸 5000 萬塊 H100 等效算力
- 全球第一顆NVIDIA H100芯片衛星要上天!太陽永不落 數據永不眠
- 超越DeepSeek-R1英偉達開源新王登頂!14萬H100小時訓練細節曝光
- 在DeepSeek推理任務中,華為昇騰910C已達英偉達H100性能的60%!
