Transformer 引擎

層正規化(layer normalization)

深層網路很敏感:訊號穿過幾十層之後,尺度可能暴漲或崩塌,訓練就卡住了。層正規化讓一切保持穩定。在每個子層之前,它拿一個詞元的向量重新縮放,讓它的數值有一致的大小與分布範圍——大致就是把數字重新置中、重新調整尺寸,使下一層永遠收到落在熟悉範圍內的輸入。

對每個詞元各自獨立地,層正規化就那個詞元的特徵減去平均、除以標準差,再套上一個可學習的縮放與平移。和批次正規化不同,它從不跨其他樣本去看,這讓它很適合長度不一的文字與小批次。多數現代大型語言模型把它放在子層之前(pre-norm),這讓深堆疊訓練起來穩定許多;一個常見而更省的變體 RMSNorm,則跳過平均、只做縮放。

正規化很安靜,卻是承重的。把它擺錯位置、或拿掉它,大模型往往就完全訓練不起來。它和殘差流攜手合作:殘差流承載累加的總和,而層正規化控制每個區塊從那個總和讀取時的尺度。

\hat{x}=\frac{x-\mu}{\sqrt{\sigma^2+\epsilon}}\cdot\gamma+\beta

每個詞元就自己的特徵重新置中、縮放,再加上可學習的縮放 γ 與平移 β。

又称
LayerNormRMSNorm