夢晨 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
大模型的核心組件注意力機制,究竟如何誕生的?
可能已經(jīng)有人知道,它并非2017年Transformer開山論文《Attention is all you need》首創(chuàng),而是來自2014年Bengio實驗室的另一篇論文。
現(xiàn)在,這項研究背后更多細節(jié)被公開了!來自Karpathy與真正作者兩年前的郵件往來,引起了很多討論。
到現(xiàn)在已有整10年歷史。
一作Dzmitry Bahdanau,當時是Bengio實驗室的一位實習生,在實習只剩5周時靈光一現(xiàn)提出了一個簡化方案,相當于實現(xiàn)了對角注意力。
Pytorch等經(jīng)典代碼中,正是把注意力稱為Bahdanau Attention,還保留著他貢獻的痕跡。
Karpathy之所以現(xiàn)在提起這段往事,是因為最近社區(qū)中流傳著一些誤解,認為Transformer作者受到科幻電影《降臨》中外星人交流方式的啟發(fā)。
但其實Transformer作者中的Illia Polosukhin只是很久以后接受采訪時用《降臨》來類比。
真正2014年Attention機制的靈感,其實來自人類翻譯文字過程中來回看材料的行為。
除了澄清這一點之外,這段真實故事中還有更多亮點,對今天的研究仍有很多啟發(fā)。
2014年的Attention,與同期Alex Graves論文Neural Turing Machines,和Jason Weston論文Memory Networks有類似之處,但這些研究出發(fā)點和動機不同。
說明在技術(shù)積累的臨界點上,不同研究者常會獨立地提出相似的創(chuàng)新。
原本的名字“RNNSearch”不夠直觀,后來在Yoshua Bengio的建議下改為“注意力”,更能抓住核心概念。
原來起個好名字,真的可以提升技術(shù)的傳播和影響力。
有網(wǎng)友看過這個故事之后,感嘆這封郵件“應該放在計算機科學博物館”。
給這些改變世界的發(fā)現(xiàn)幾乎總是從實驗開始的,而且沒有人真正提前知道它們的結(jié)局。
以下為Dzmitry Bahdanau發(fā)給Karpathy的原始郵件全文翻譯,郵件寫于2022年。
10年前,Attention真正的誕生
嗨,Andrej。
很高興為您講述8年前發(fā)生的故事!
我在Jakobs University(德國雅各布大學)跟隨Herbert Jaeger完成了碩士一年級的學業(yè)后,來到Y(jié)oshua(圖靈獎得主Yoshua Bengio)的實驗室實習。
我向Yoshua表示我愿意從事任何工作,他便讓我參與機器翻譯項目,與Kyunghyun Cho及團隊展開合作。
我對將一系列單詞塞進向量的想法非常懷疑,但我也真的很想要一個博士學位的offer,所以我卷起袖子,開始做我擅長的事情——編寫代碼、修復Bug等等。
在某個時候,我對團隊正在進行的工作有了足夠的了解,Yoshua邀請我攻讀博士學位。2014年是個好時代,只需這些工作就足以讓我讀博了——美好的舊時光!
我很高興,我覺得是時候享受樂趣并發(fā)揮創(chuàng)造力了。
于是我開始思考如何避免Encoder-Decoder RNN之間的信息瓶頸。
我的第一個想法是建立一個帶有兩個“光標”的模型:一個在源序列中移動,由BiRNN編碼;另一個在目標序列中移動。光標軌跡將使用動態(tài)規(guī)劃邊際化。
Kyunghyun Cho認為這相當于Alex Graves的RNN Transducer模型。之后,我可能也讀了Graves的手寫識別論文,但這種方法對于機器翻譯來說似乎不太合適。
上述帶有光標的方法在我實習的剩余5周內(nèi)很難實現(xiàn),所以我嘗試了更簡單的方法——兩個光標同時同步移動,實際上相當于硬編碼的對角注意力。
這種方法有點效果,但缺乏優(yōu)雅。
所以有一天我有了新的想法,讓Decorder RNN學會在源序列中搜索放置光標的位置。這在一定程度上受到了我中學英語學習中翻譯練習的啟發(fā)。
在翻譯時,你的目光會在源序列和目標序列之間來回移動,我將軟搜索表示為softmax,然后對BiRNN 狀態(tài)進行加權(quán)平均。從第一次嘗試就效果很好,我非常興奮。
我將這個架構(gòu)稱為RNNSearch,在1個GPU上運行。由于我們知道谷歌的Ilya(OpenAI前首席科學家Ilya Sutskever)團隊使用8個GPU的LSTM模型在某些方面領(lǐng)先于我們,所以我們趕緊在ArXiV上發(fā)表了一篇論文。
后來發(fā)現(xiàn),這個名字并不好。更好的名字(注意力)是Yoshua在最后的一次修改中添加到結(jié)論中的。
直觀地說,這在解碼器中實現(xiàn)了一種注意力機制,解碼器決定源語句的哪些部分需要關(guān)注。通過讓解碼器具有注意力機制,我們減輕了編碼器將源語句中的所有信息編碼為固定長度向量的負擔。通過這種新方法,信息可以分布在整個注釋序列中,解碼器可以相應地有選擇地檢索。
一個半月后,我們看到了Alex Graves的論文。確實是完全相同的想法,盡管他的動機完全不同。
在我們這邊,發(fā)明新算法是需求驅(qū)動的。我猜在他那邊,是連接神經(jīng)學派和符號學派的雄心?Jason Weston團隊的Memory Networks論文也有類似的機制。
我沒有預見到注意力可以在更低的層次上使用,作為表示學習的核心算法。
但當我看到Transformer論文時,我立即向?qū)嶒炇业耐滦迹篟NN已死。
回到您最初的問題:在蒙特利爾Yoshua的實驗室中“可微且數(shù)據(jù)依賴的加權(quán)平均”的發(fā)明與神經(jīng)圖靈機、Memory Networks以及90年代(甚至 70 年代;但我無法提供鏈接)的一些相關(guān)認知科學論文無關(guān)。
這是Yoshua推動實驗室追求雄心壯志的領(lǐng)導成果,Kyunghyun Cho在管理由初級博士生和實習生組成的大型機器翻譯項目方面的出色技能,以及我自己多年來在編程競賽中磨練出的創(chuàng)造力和編程技能的結(jié)果。
即使我自己、Alex Graves和這個故事中的其他角色當時沒有從事深度學習工作,離這個想法出現(xiàn)也不會太遠了。
注意力只是深度學習中實現(xiàn)靈活空間連接的自然方式,這幾乎是一個顯而易見的想法,一直在等待GPU足夠快,讓人們有動力并認真對待深度學習研究。
自從我意識到這一點,我對AI的大志向就是啟動像機器翻譯那樣令人驚嘆的應用項目。
良好的研發(fā)工作可以為基礎(chǔ)技術(shù)的進步做出更多貢獻,而不是我們通常認為“真正的”人工智能研究的所有花哨的理論。
就醬!非常好奇聽到更多關(guān)于您的AI教育項目的消息(我從 Harm de Vries 那里聽到了一些傳聞)。
干杯,
Dima
One More Thing
Karpathy感嘆,有點驚訝這篇真正的注意力起源論文沒有獲得足夠多的關(guān)注。
自從Attention is all you need一飛沖天之后,大家意識到給論文起一個好名字對技術(shù)傳播的影響,后面的論文標題就放飛了。
除了扎堆模仿xx is all you need之外,最近甚至還出現(xiàn)了Taylor Unswift。
講的是把模型權(quán)重轉(zhuǎn)換成泰勒級數(shù)的參數(shù),來保護已發(fā)布模型的所有權(quán)并防止被濫用。
就,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
熱門跟貼