大模型的核心組件注意力機制,究竟如何誕生的?
可能已經有人知道,它并非2017 年 Transformer 開山論文《Attention is all you need》首創,而是來自 2014 年 Bengio 實驗室的另一篇論文。
現在,這項研究背後更多細節被公開了!來自 Karpathy 與真正作者兩年前的郵件往來,引起了很多讨論。
到現在已有整 10 年曆史。
一作 Dzmitry Bahdanau,當時是 Bengio 實驗室的一位實習生,在實習隻剩 5 周時靈光一現提出了一個簡化方案,相當于實現了對角注意力。
Pytorch 等經典代碼中,正是把注意力稱爲 Bahdanau Attention,還保留着他貢獻的痕迹。
Karpathy 之所以現在提起這段往事,是因爲最近社區中流傳着一些誤解,認爲 Transformer 作者受到科幻電影《降臨》中外星人交流方式的啓發。
真正 2014 年 Attention 機制的靈感,其實來自人類翻譯文字過程中來回看材料的行爲。
除了澄清這一點之外,這段真實故事中還有更多亮點,對今天的研究仍有很多啓發。
2014 年的 Attention,與同期Alex Graves 論文 Neural Turing Machines,和Jason Weston 論文 Memory Networks有類似之處,但這些研究出發點和動機不同。
說明在技術積累的臨界點上,不同研究者常會獨立地提出相似的創新。
原本的名字 "RNNSearch" 不夠直觀,後來在 Yoshua Bengio 的建議下改爲 " 注意力 ",更能抓住核心概念。
原來起個好名字,真的可以提升技術的傳播和影響力。
有網友看過這個故事之後,感歎這封郵件 " 應該放在計算機科學博物館 "。
給這些改變世界的發現幾乎總是從實驗開始的,而且沒有人真正提前知道它們的結局。
以下爲 Dzmitry Bahdanau 發給 Karpathy 的原始郵件全文翻譯,郵件寫于 2022 年。
10 年前,Attention 真正的誕生
嗨,Andrej。
很高興爲您講述 8 年前發生的故事!
我在 Jakobs University(德國雅各布大學)跟随 Herbert Jaeger 完成了碩士一年級的學業後,來到 Yoshua(圖靈獎得主 Yoshua Bengio)的實驗室實習。
我向 Yoshua 表示我願意從事任何工作,他便讓我參與機器翻譯項目,與 Kyunghyun Cho 及團隊展開合作。
我對将一系列單詞塞進向量的想法非常懷疑,但我也真的很想要一個博士學位的 offer,所以我卷起袖子,開始做我擅長的事情——編寫代碼、修複 Bug 等等。
在某個時候,我對團隊正在進行的工作有了足夠的了解,Yoshua 邀請我攻讀博士學位。2014 年是個好時代,隻需這些工作就足以讓我讀博了——美好的舊時光!
我很高興,我覺得是時候享受樂趣并發揮創造力了。
于是我開始思考如何避免 Encoder-Decoder RNN 之間的信息瓶頸。
我的第一個想法是建立一個帶有兩個 " 光标 " 的模型:一個在源序列中移動,由 BiRNN 編碼;另一個在目标序列中移動。光标軌迹将使用動态規劃邊際化。
Kyunghyun Cho 認爲這相當于 Alex Graves 的 RNN Transducer 模型。之後,我可能也讀了 Graves 的手寫識别論文,但這種方法對于機器翻譯來說似乎不太合适。
上述帶有光标的方法在我實習的剩餘 5 周内很難實現,所以我嘗試了更簡單的方法——兩個光标同時同步移動,實際上相當于硬編碼的對角注意力。
這種方法有點效果,但缺乏優雅。
所以有一天我有了新的想法,讓 Decorder RNN 學會在源序列中搜索放置光标的位置。這在一定程度上受到了我中學英語學習中翻譯練習的啓發。
在翻譯時,你的目光會在源序列和目标序列之間來回移動,我将軟搜索表示爲 softmax,然後對 BiRNN 狀态進行加權平均。從第一次嘗試就效果很好,我非常興奮。
我将這個架構稱爲 RNNSearch,在 1 個 GPU 上運行。由于我們知道谷歌的 Ilya(OpenAI 前首席科學家 Ilya Sutskever)團隊使用 8 個 GPU 的 LSTM 模型在某些方面領先于我們,所以我們趕緊在 ArXiV 上發表了一篇論文。
後來發現,這個名字并不好。更好的名字(注意力)是 Yoshua 在最後的一次修改中添加到結論中的。
直觀地說,這在解碼器中實現了一種注意力機制,解碼器決定源語句的哪些部分需要關注。通過讓解碼器具有注意力機制,我們減輕了編碼器将源語句中的所有信息編碼爲固定長度向量的負擔。通過這種新方法,信息可以分布在整個注釋序列中,解碼器可以相應地有選擇地檢索。
一個半月後,我們看到了 Alex Graves 的論文。确實是完全相同的想法,盡管他的動機完全不同。
在我們這邊,發明新算法是需求驅動的。我猜在他那邊,是連接神經學派和符号學派的雄心?Jason Weston 團隊的 Memory Networks 論文也有類似的機制。
我沒有預見到注意力可以在更低的層次上使用,作爲表示學習的核心算法。
但當我看到 Transformer 論文時,我立即向實驗室的同事宣布:RNN 已死。
回到您最初的問題:在蒙特利爾 Yoshua 的實驗室中 " 可微且數據依賴的加權平均 " 的發明與神經圖靈機、Memory Networks 以及 90 年代(甚至 70 年代;但我無法提供鏈接)的一些相關認知科學論文無關。
這是 Yoshua 推動實驗室追求雄心壯志的領導成果,Kyunghyun Cho 在管理由初級博士生和實習生組成的大型機器翻譯項目方面的出色技能,以及我自己多年來在編程競賽中磨練出的創造力和編程技能的結果。
即使我自己、Alex Graves 和這個故事中的其他角色當時沒有從事深度學習工作,離這個想法出現也不會太遠了。
注意力隻是深度學習中實現靈活空間連接的自然方式,這幾乎是一個顯而易見的想法,一直在等待 GPU 足夠快,讓人們有動力并認真對待深度學習研究。
自從我意識到這一點,我對 AI 的大志向就是啓動像機器翻譯那樣令人驚歎的應用項目。
良好的研發工作可以爲基礎技術的進步做出更多貢獻,而不是我們通常認爲 " 真正的 " 人工智能研究的所有花哨的理論。
就醬!非常好奇聽到更多關于您的 AI 教育項目的消息(我從 Harm de Vries 那裏聽到了一些傳聞)。
幹杯,
Dima
One More Thing
Karpathy 感歎,有點驚訝這篇真正的注意力起源論文沒有獲得足夠多的
自從 Attention is all you need 一飛沖天之後,大家意識到給論文起一個好名字對技術傳播的影響,後面的論文标題就放飛了。
除了紮堆模仿 xx is all you need 之外,最近甚至還出現了 Taylor Unswift。
講的是把模型權重轉換成泰勒級數的參數,來保護已發布模型的所有權并防止被濫用。
就,emmm ……
提到的論文:
Neural Machine Translation by Jointly Learning to Align and Translate
https://arxiv.org/abs/1409.0473
Attention is All You Need
https://arxiv.org/abs/1706.03762
Neural Turing Machines
https://arxiv.org/abs/1410.5401
Generating Sequences With Recurrent Neural Networks
https://arxiv.org/abs/1308.0850
Memory Networks
https://arxiv.org/abs/1410.3916
Sequence to Sequence Learning with Neural Networks
https://arxiv.org/abs/1409.3215
Taylor Unswift:
https://arxiv.org/abs/2410.05331
參考鏈接:
[ 1 ] https://x.com/karpathy/status/1864028921664319735