從零實現 vLLM 的第四篇文章,我們將目光轉向 Transformer 架構中另一個看似簡單、卻至關重要的組件:RMSNorm(均方根歸一化)。 我們先來看看什麼是歸一化,假設你剛考完期末考試,三門課的成績出來了: 數學:120分(滿分150) 英語:80分(滿分100) 物理:160分(滿分200) 哪門課考得最好?如果你直接比較 120、80、160,會得出物理最好的結論。但真實情況是:三門課其實考得一樣好。 數學:120/150 = 80% 英語:80/100 = 80% 物理:160/200 = 80% 這就是歸一化的核心思想:把不同量綱、不同範圍的數據轉換到統一的標準下進行比較。 為什麼神經網絡需要歸一化? 想象一下,你在玩傳話遊戲。第一個人說"我喜歡蘋果",傳到第十個人那裡變成了"我喜歡菠蘿"。這就是深度神經網絡面臨的問題。 每一層網絡都會對輸入做一些計算,然後把結果傳給下一層。問題是,隨著層數增加,這些數值會變得越來越不可控——要麼爆炸式增長,要麼消失得無影無蹤。就像傳話遊戲一樣,信息在傳遞過程中逐漸失真。 在模型中加入歸一化層,能夠降低梯度爆炸或者消失的概率,模型的訓練過程變得更加穩定。歸一化技術從一開始的 BatchNorm 先演進到 LayerNorm,最後進化到了 RMSNorm,成為大模型的標配。 我的文章會帶大家走進歸一化技術的演進史,感興趣的可以查看原文。