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