今天,AI圈被一個驚天「翻車」刷屏了。
Google大腦的NLP奠基之作、提出Transformer架構的開山鼻祖級論文 《Attention Is All Your Need》 中的圖,被網友扒出與代碼並不一致。
論文網址:https://arxiv.org/abs/1706.03762
#自2017年問世以來,Transformer已成為AI領域的基石王者。就連大紅大紫的ChatGPT真正的幕後大佬也是它。
2019年,Google也專門為它申請了專利。
歸宗溯源,現在各類別層出不窮的GPT(Generative Pre-trained Transformer),都起源於這篇17年的論文。
根據Google Scholar,截止目前,這篇奠基之作已有7萬多次的引用。
所以,ChatGPT的奠基石都不穩定了?
Lightning AI創辦人、機器學習研究者Sebastian Raschka發現,這篇論文中Transformer的圖是錯誤的。
圖中被圈起來的地方,LayerNorms是在註意力和全連接層之後。在殘差塊之間放置層歸一化,會導致輸出層附近參數的預期梯度很大。
而且,這也與程式碼不一致。
程式碼位址:https: //github.com/tensorflow/tensor2tensor/commit/f5c9b17e617ea9179b7d84d36b1e8162cb369f25#diff-76e2b94ef16871bdbf469f25#diff-76e2b94ef16871bdbf46604dfe7f147778206
#不過有網友指出,Noam shazeer在幾週後對程式碼進行了修正。隨後,Sebastian聲稱,在論文Layer Normalization in the Transformer Architecture中,Pre-LN表現得更好,可以解決梯度問題。
這是很多或大多數架構在實踐中所採用的,但它可能導致表徵崩潰。
如果層歸一化在註意力和全連接層之前被放置在殘差連接之中,就會實現更好的梯度。 #####################Sebastian提出,雖然關於使用Post-LN或Pre-LN的討論仍在進行中,但也有一篇新論文提議把二者結合起來。
#論文網址:https://arxiv.org/abs/2304.14802
在這種雙殘差Tranformer中,表徵崩潰和梯度消失的問題都得到了解決。
針對論文中的疑點,有網友指出:中間不是已經有了PreLN和PostLN了嗎?
Sebastian回答說,自己也覺得有點奇怪。或許2nd LN指的是最後一個輸出層,而不是每個transformer塊,但他對此也不確定。
有網友表示:「我們常常遇到與程式碼或結果不符的論文。大多是出於錯誤,但有時也會讓人很奇怪。而這篇論文已經流傳甚久了,為什麼這種問題此前從沒被人提出過,這真的很奇怪。」
Sebastian表示,公平地講,最原始的程式碼是和圖片一致的,但他們在2017年修改了程式碼版本,卻沒有更新圖片。所以,這很令人困惑。
有網友表示,已經有論文在NormFormer中展示了一個不太複雜的架構,而他的團隊最近也證實了他們的結果。而ResiDual論文並沒有在任何地方提到NormFormer,這讓人很驚訝。
同時,評論區不斷出現網友證實:Transformers中使用的LN,與CNN中使用的方式並不同。
#所以,論文真的有漏洞,還是烏龍事件?
讓我們靜觀後續。
以上是Transformer開山論文驚天「翻車」?圖與程式碼不一致,神秘bug看傻了的詳細內容。更多資訊請關注PHP中文網其他相關文章!