close

©PaperWeekly 原創 ·作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經網絡

Pre Norm 與 Post Norm 之間的對比是一個「老生常談」的話題了,本博客就多次討論過這個問題,比如文章《淺談 Transformer 的初始化、參數化與標準化》[1]、《模型優化漫談:BERT 的初始標準差為什麼是 0.02?》等。目前比較明確的結論是:同一設置之下,Pre Norm 結構往往更容易訓練,但最終效果通常不如 Post Norm。Pre Norm 更容易訓練好理解,因為它的恆等路徑更突出,但為什麼它效果反而沒那麼好呢?

筆者之前也一直沒有好的答案,直到前些時間在知乎上看到 @唐翔昊 的一個回復後才「恍然大悟」,原來這個問題竟然有一個非常直觀的理解!本文讓我們一起來學習一下。


基礎回顧

Pre Norm 和 Post Norm 的式子分別如下:


在 Transformer 中,這裡的 主要指 Layer Normalization,但在一般的模型中,它也可以是 Batch Normalization、Instance Normalization 等,相關結論本質上是通用的。

在筆者找到的資料中,顯示 Post Norm 優於 Pre Norm 的工作有兩篇,一篇是《Understanding the Difficulty of Training Transformers》[2],一篇是《RealFormer: Transformer Likes Residual Attention》[3]。另外,筆者自己也做過對比實驗,顯示 Post Norm 的結構遷移性能更加好,也就是說在 Pretraining 中,Pre Norm 和 Post Norm 都能做到大致相同的結果,但是 Post Norm 的 Finetune 效果明顯更好。

可能讀者會反問《On Layer Normalization in the Transformer Architecture》[4] 不是顯示 Pre Norm 要好於 Post Norm 嗎?這是不是矛盾了?其實這篇文章比較的是在完全相同的訓練設置下 Pre Norm 的效果要優於 Post Norm,這只能顯示出 Pre Norm 更容易訓練,因為 Post Norm 要達到自己的最優效果,不能用跟 Pre Norm 一樣的訓練配置(比如 Pre Norm 可以不加 Warmup 但 Post Norm 通常要加),所以結論並不矛盾。


直觀理解

為什麼 Pre Norm 的效果不如 Post Norm?知乎上 @唐翔昊 給出的答案是:Pre Norm 的深度有「水分」!也就是說,一個 層的 Pre Norm 模型,其實際等效層數不如 層的 Post Norm 模型,而層數少了導致效果變差了。

具體怎麼理解呢?很簡單,對於 Pre Norm 模型我們迭代得到:

其中每一項都是同一量級的,那麼有 ,也就是說第 層跟第 層的差別就相當於 與 的差別,當 較大時,兩者的相對差別是很小的,因此


這個意思是說,當 比較大時, 相差較小,所以 與 很接近,因此原本一個 層的模型與 層和,近似等效於一個更寬的 層模型,所以在 Pre Norm 中多層疊加的結果更多是增加寬度而不是深度,層數越多,這個層就越「虛」。

說白了,Pre Norm 結構無形地增加了模型的寬度而降低了模型的深度,而我們知道深度通常比寬度更重要,所以是無形之中的降低深度導致最終效果變差了。而 Post Norm 剛剛相反,在《淺談 Transformer 的初始化、參數化與標準化》[1] 中我們就分析過,它每 Norm 一次就削弱一次恆等分支的權重,所以 Post Norm 反而是更突出殘差分支的,因此 Post Norm 中的層數更加「足秤」,一旦訓練好之後效果更優。


相關工作

前段時間號稱能訓練 1000 層 Transformer 的 DeepNet 想必不少讀者都聽說過,在其論文《DeepNet: Scaling Transformers to 1,000 Layers》[5] 中對 Pre Norm 的描述是:

However, the gradients of Pre-LN at bottom layers tend to be larger than attop layers, leading to a degradation in performance compared with Post-LN.


不少讀者當時可能並不理解這段話的邏輯關係,但看了前一節內容的解釋後,想必會有新的理解。

簡單來說,所謂「the gradients of Pre-LN at bottom layers tend to be larger than at top layers」,就是指 Pre Norm 結構會過度傾向於恆等分支(bottom layers),從而使得 Pre Norm 傾向於退化(degradation)為一個「淺而寬」的模型,最終不如同一深度的 Post Norm。這跟前面的直觀理解本質上是一致的。


文章小結


本文主要分享了「為什麼 Pre Norm 的效果不如 Post Norm」的一個直觀理解。


參考文獻


[1] https://kexue.fm/archives/8620
[2] https://arxiv.org/abs/2004.08249
[3] https://arxiv.org/abs/2012.11747
[4] https://arxiv.org/abs/2002.04745
[5] https://arxiv.org/abs/2203.00555

更多閱讀



#投 稿通 道#

讓你的文字被更多人看到




如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。

PaperWeekly 鼓勵高校實驗室或個人,在我們的平台上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。

📝稿件基本要求:

• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平台已發表或待發表的文章,請明確標註

• 稿件建議以markdown格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題

• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算

📬投稿通道:

• 投稿郵箱:hr@paperweekly.site

• 來稿請備註即時聯繫方式(微信),以便我們在稿件選用的第一時間聯繫作者

• 您也可以直接添加小編微信(pwbot02)快速投稿,備註:姓名-投稿

△長按添加PaperWeekly小編

🔍

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

·



arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()