打開網(wǎng)易新聞 查看精彩圖片

機(jī)器之心報(bào)道

編輯:Panda

幾個(gè)小時(shí)前,著名 AI 研究者、OpenAI 創(chuàng)始成員之一 Andrej Karpathy 發(fā)布了一篇備受關(guān)注的長(zhǎng)推文,其中分享了注意力機(jī)制背后一些或許少有人知的故事。

其中最值得注意的一個(gè)故事是真正首次提出注意力機(jī)制的論文其實(shí)是 Dzmitry Bahdanau、Kyunghyun Cho 和 Yoshua Bengio 的《Neural Machine Translation by Jointly Learning to Align and Translate》,這比《Attention is All you Need》還早 3 年,但很顯然,這篇論文并沒有收獲后者那般的關(guān)注。

打開網(wǎng)易新聞 查看精彩圖片

Karpathy 長(zhǎng)推文的不完整截圖

實(shí)際上,這個(gè)故事來自 Dzmitry Bahdanau 發(fā)給 Karpathy 的一封郵件。Bahdanau 是 ServiceNow Research 的研究科學(xué)家和研究負(fù)責(zé)人以及麥吉爾大學(xué)兼職教授。

他在發(fā)給 Karpathy 的這封郵件中分享了自己發(fā)現(xiàn)注意力機(jī)制的旅程以及 Attention 這個(gè)術(shù)語的由來——其實(shí)來自 Yoshua Bengio。此外,他也提到了 Alex Graves 的 NMT 論文和 Jason Weston 的記憶網(wǎng)絡(luò)(Memory Networks)論文各自獨(dú)立發(fā)現(xiàn)類似機(jī)制的故事。

Karpathy 推文發(fā)布后反響熱烈,短時(shí)間內(nèi)就已有超過 20 萬閱讀量,很多讀者都被這個(gè)注意力背后的故事吸引。

打開網(wǎng)易新聞 查看精彩圖片

有讀者在看過這個(gè)故事后發(fā)出感嘆:2013-2017 年間的深度學(xué)習(xí)宇宙中有很多隱藏的英雄。

打開網(wǎng)易新聞 查看精彩圖片

也有人分享自己對(duì)注意力機(jī)制的看法。

打開網(wǎng)易新聞 查看精彩圖片

Hyperbolic Labs 創(chuàng)始人和 CTO Yuchen Jin 更是打趣說《Attention Is All You Need》的另一項(xiàng)重要貢獻(xiàn)是將后面的 AI 論文標(biāo)題帶歪了:「吸引注意力的標(biāo)題才是 All You Need」。

打開網(wǎng)易新聞 查看精彩圖片

注意力機(jī)制的背后故事

下面我們就來看看 Karpathy 的推文究竟說了什么:

「attention」算子——也就是提出了 Transformer 的《Attention is All you Need》中的那個(gè)注意力,背后的(真實(shí))開發(fā)和靈感故事。來自大約 2 年前與作者 @DBahdanau 的個(gè)人電子郵件通信,在此發(fā)布(經(jīng)許可)。此前幾天,網(wǎng)上流傳著一些關(guān)于其開發(fā)過程的假新聞。

Attention 是一種出色的(數(shù)據(jù)依賴型)加權(quán)平均運(yùn)算。它是一種形式的全局池化、歸約、通信。它是一種從多個(gè)節(jié)點(diǎn)(token、圖塊等)聚合相關(guān)信息的方法。它富有表現(xiàn)力、功能強(qiáng)大、具有足夠的并行性,并且可以高效優(yōu)化。甚至多層感知器(MLP)實(shí)際上也可以大致重寫為數(shù)據(jù)獨(dú)立型權(quán)重上的 Attention(第一層權(quán)重是查詢,第二層權(quán)重是值,鍵就是輸入,softmax 變?yōu)樵丶?jí),刪除了規(guī)范化)。簡(jiǎn)單來說,注意力非常棒,是神經(jīng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)中的重大突破。

《Attention is All You Need》獲得的…… 呃…… 注意力差不多是 3 年前真正提出 Attention 的論文的 100 倍,即 Dzmitry Bahdanau、Kyunghyun Cho 和 Yoshua Bengio 的論文《Neural Machine Translation by Jointly Learning to Align and Translate》。在我看來,這一直有點(diǎn)出人意料。顧名思義,《Attention is All You Need》的核心貢獻(xiàn)是提出:Transformer 神經(jīng)網(wǎng)絡(luò)就是刪除注意力之外的一切,然后基本上就是將其堆疊在帶有 MLP(根據(jù)上述內(nèi)容,這也可以大致被視為注意力)的 ResNet 中。但我確實(shí)認(rèn)為這篇 Transformer 論文有自己獨(dú)特的價(jià)值,因?yàn)樗淮涡蕴砑恿似渌S多令人驚嘆的想法,包括位置編碼、縮放式注意力、多頭注意力、各向同性的簡(jiǎn)單設(shè)計(jì)等。在我看來,直到今天(大約 7 年過去了),Transformer 基本上還保持著 2017 年的形式,只有相對(duì)較少的微小修改,也許除了使用更好的位置編碼方案(RoPE 等)。

總之,我先把完整郵件貼在下面,其中也暗示了這個(gè)運(yùn)算一開始被稱為 Attention 的原因 —— 它源自對(duì)源句子中詞的關(guān)注(attending)并同時(shí)以順序方式輸出翻譯結(jié)果的詞,并且之后 Yoshua Bengio 在 RNNSearch 中將其引入成了一個(gè)術(shù)語(感謝上帝?:D)。同樣有趣的是,該設(shè)計(jì)的靈感來自人類的認(rèn)知過程/策略,即按順序來回關(guān)注一些數(shù)據(jù)。最后,從發(fā)展進(jìn)步的本質(zhì)來看,這個(gè)故事相當(dāng)有趣——類似的想法和表述「早就已經(jīng)在空氣中回蕩」,特別要提到當(dāng)時(shí) Alex Graves(NMT)和 Jason Weston(記憶網(wǎng)絡(luò))的工作。

謝謝你的故事 @DBahdanau !

之后,Karpathy 還做了一些補(bǔ)充:ChatGPT 以及絕大多數(shù)現(xiàn)代 AI 模型都是巨型 Transformer。「所以LLM 的核心神奇之處來自于反復(fù)應(yīng)用注意力,一遍又一遍地關(guān)注輸入的 token,以預(yù)測(cè)下一個(gè) token 是什么?!?/p>

打開網(wǎng)易新聞 查看精彩圖片

Dzmitry Bahdanau 的原始郵件內(nèi)容

Karpathy 也一并分享了 Dzmitry Bahdanau 的原始郵件內(nèi)容:

打開網(wǎng)易新聞 查看精彩圖片

嗨,Andrej,

很高興告訴你 8 年前發(fā)生的故事!

我在雅各布大學(xué) Herbert Jaeger 的指導(dǎo)下完成碩士課程的第一年后,作為實(shí)習(xí)生來到了 Yoshua 的實(shí)驗(yàn)室。

我告訴 Yoshua 我很樂意做任何事情。Yoshua 讓我參與機(jī)器翻譯項(xiàng)目,與 Kyunghyun Cho 和團(tuán)隊(duì)一起工作。我當(dāng)時(shí)非常懷疑將詞序列塞入向量的想法。但我也非常想獲得博士學(xué)位。所以我擼起袖子,開始做我擅長(zhǎng)的事情——編寫代碼、修復(fù)錯(cuò)誤等等。在某個(gè)時(shí)候,我表現(xiàn)得很了解我做的東西了,Yoshua 邀請(qǐng)我攻讀博士學(xué)位(2014 年是一個(gè)很好的時(shí)機(jī),表現(xiàn)得很了解就已經(jīng)足夠了——美好的舊時(shí)光!)。我非常高興,我認(rèn)為可以開始享受樂趣并發(fā)揮創(chuàng)造力了。

所以我開始思考如何避免編碼器和解碼器 RNN 之間的瓶頸。我的第一個(gè)想法是構(gòu)建一個(gè)帶有兩個(gè)「光標(biāo)」的模型,一個(gè)在源序列中移動(dòng)(由一個(gè) BiRNN 編碼),另一個(gè)在目標(biāo)序列中移動(dòng)。使用動(dòng)態(tài)規(guī)劃(dynamic programming)可以將光標(biāo)軌跡邊緣化。KyungHyun Cho 認(rèn)為這相當(dāng)于 Alex Graves 的 RNN Transducer 模型。之后,我可能還讀了 Graves 的手寫識(shí)別論文。不過,這種方法看起來不適合機(jī)器翻譯。

在我實(shí)習(xí)的剩余 5 周內(nèi),上述使用光標(biāo)的方法很難實(shí)現(xiàn)。所以我嘗試了一種更簡(jiǎn)單的方法——兩個(gè)光標(biāo)同時(shí)同步移動(dòng)(實(shí)際上是硬編碼的對(duì)角注意力)。這種方法有點(diǎn)效果,但方法不夠優(yōu)雅。

所以有一天,我想到如果能讓解碼器 RNN 學(xué)會(huì)在源序列中搜索放置光標(biāo)的位置就好了。這多少受到我中學(xué)時(shí)學(xué)習(xí)英語時(shí)的翻譯練習(xí)的啟發(fā)。翻譯時(shí),你的目光會(huì)在源序列和目標(biāo)序列之間來回移動(dòng)。我將這種軟性搜索表示為 softmax,然后對(duì) BiRNN 狀態(tài)進(jìn)行加權(quán)平均。它的效果很好,從第一次嘗試,到后來振奮人心。我將這個(gè)架構(gòu)稱為 RNNSearch,我們急于發(fā)表一篇 arXiv 論文,因?yàn)槲覀冎拦雀璧?Ilya 和同事領(lǐng)先于我們,他們有巨大的 8 GPU LSTM 模型(而 RNN Search 仍在 1 GPU 上運(yùn)行)。

后來發(fā)現(xiàn),這個(gè)名字并不好。直到最后幾次過論文時(shí),Yoshua 才將更好的名字(attention)添加到論文結(jié)論中。

一個(gè)半月后,我們看到了 Alex Graves 的NMT論文。這確實(shí)是完全相同的想法,盡管他提出它的動(dòng)機(jī)完全不同。在我們的情況下,是因?yàn)樾枰a(chǎn)生了這個(gè)發(fā)明。在他的情況下,我想應(yīng)該是將神經(jīng)和符號(hào) AI 連接起來的雄心吧?Jason Weston 及其同事的記憶網(wǎng)絡(luò)論文也采用了類似的機(jī)制。

我沒有遠(yuǎn)見地想到注意力可以在較低的層級(jí)使用,以作為表征學(xué)習(xí)的核心運(yùn)算。但是當(dāng)我看到 Transformer 論文時(shí),我立即向?qū)嶒?yàn)室同事斷言 RNN 已死。

回到你最初的問題:在蒙特利爾 Yoshua 的實(shí)驗(yàn)室發(fā)明的「可微分和數(shù)據(jù)依賴加權(quán)平均」獨(dú)立于神經(jīng)圖靈機(jī)、記憶網(wǎng)絡(luò)以及 90 年代(甚至 70 年代)的一些相關(guān)認(rèn)知科學(xué)論文。這是 Yoshua 領(lǐng)導(dǎo)推動(dòng)實(shí)驗(yàn)室進(jìn)行雄心勃勃的研究的結(jié)果,KyungHyun Cho 在運(yùn)行一個(gè)大型機(jī)器翻譯項(xiàng)目方面擁有高超的技能,該項(xiàng)目由初級(jí)博士生和實(shí)習(xí)生組成;最后,我自己的創(chuàng)造力和編碼技能在多年的競(jìng)爭(zhēng)性編程中得到了磨練。但我認(rèn)為這個(gè)想法很快就會(huì)被發(fā)現(xiàn)。就算我、Alex Graves 和這個(gè)故事中的其他角色當(dāng)時(shí)沒有研究深度學(xué)習(xí)也是如此,注意力就是深度學(xué)習(xí)中實(shí)現(xiàn)靈活空間連接的自然方式。等待 GPU 足夠快,讓人們有動(dòng)力認(rèn)真對(duì)待深度學(xué)習(xí)研究,這是一個(gè)顯而易見的想法。自從我意識(shí)到這一點(diǎn)以來,我在 AI 領(lǐng)域的抱負(fù)就是啟動(dòng)像機(jī)器翻譯項(xiàng)目這樣的出色的應(yīng)用項(xiàng)目。相比于那些研究所謂的「真正」AI 的花哨理論,良好的研發(fā)工作可以為基礎(chǔ)技術(shù)的進(jìn)步做出更大貢獻(xiàn)。

就這些!我非常想更多了解關(guān)于您的教育 AI 項(xiàng)目的信息(我從 Harm de Vries 那里聽到了一些傳言;))。

祝好,

Dima

相關(guān)論文

最后,下面梳理了前面提及的相關(guān)論文,以幫助感興趣的讀者做進(jìn)一步的技術(shù)探索。

Neural Machine Translation by Jointly Learning to Align and Translate,未得到應(yīng)有關(guān)注的注意力論文

作者:Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio

鏈接:https://arxiv.org/abs/1409.0473

Attention is All You Need,著名的 Transformer 論文

作者:Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin

鏈接:https://arxiv.org/abs/1706.03762

Neural Turing Machines,其中幾乎同時(shí)提出了類似的 soft pooling 運(yùn)算

作者:Alex Graves, Greg Wayne, Ivo Danihelka

鏈接:https://arxiv.org/abs/1410.5401

Generating Sequences With Recurrent Neural Networks,研究了使用 LTSM 循環(huán)神經(jīng)網(wǎng)絡(luò)生成具有長(zhǎng)程結(jié)構(gòu)的復(fù)雜序列,很有開創(chuàng)性

作者:Alex Graves

鏈接:https://arxiv.org/abs/1308.0850

Memory Networks,記憶網(wǎng)絡(luò)

作者:Jason Weston, Sumit Chopra, Antoine Bordes

鏈接:https://arxiv.org/abs/1410.3916

Sequence to Sequence Learning with Neural Networks,文中提到的當(dāng)時(shí)在谷歌的 Ilya 等人的論文

作者:Ilya Sutskever, Oriol Vinyals, Quoc V. Le

鏈接:https://arxiv.org/abs/1409.3215

https://x.com/karpathy/status/1864023344435380613

https://x.com/karpathy/status/1864030016457375916