自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Karpathy后悔了:2015年就看到了語(yǔ)言模型的潛力,卻搞了多年強(qiáng)化學(xué)習(xí)

人工智能 新聞
讓我們看看 Karpathy 那篇預(yù)言了如今大模型時(shí)代的文章,說(shuō)了些什么。

「這是有史以來(lái)最大、最令人困惑的研究生涯錯(cuò)誤,」Andrej Karpathy 感嘆道。

上個(gè)周末,OpenAI 創(chuàng)始成員、研究科學(xué)家、原特斯拉前 AI 高級(jí)總監(jiān)、AI 領(lǐng)域的大神 Andrej Karpathy 一直在后悔。后悔自己沒(méi)有早點(diǎn)帶領(lǐng) OpenAI 開(kāi)創(chuàng)大模型時(shí)代。

圖片

是怎么一回事?看起來(lái) Karpathy 認(rèn)為當(dāng)年早已認(rèn)識(shí)到自回歸語(yǔ)言模型的強(qiáng)大潛力,但卻在很長(zhǎng)一段時(shí)間里「誤入歧途」,隨大溜一起搞強(qiáng)化學(xué)習(xí)。

圖片

2013 年的 Atari RL 論文被認(rèn)為是深度強(qiáng)化學(xué)習(xí)的開(kāi)山之作:一個(gè)通用學(xué)習(xí)算法就發(fā)現(xiàn)了 Breakout 和許多其他游戲的最佳策略,看起來(lái),在很多任務(wù)上我們只需要對(duì)其進(jìn)行足夠的改進(jìn)和擴(kuò)展,就可以構(gòu)建出強(qiáng)大的 AI 模型了。

圖片

我們也還記得,在 Karpathy 跳槽去到特斯拉一年后,2018 年 OpenAI 推出了 OpenAI Five,利用強(qiáng)化學(xué)習(xí)的方法在 Dota 2 游戲上開(kāi)始與職業(yè)選手過(guò)招。

在 2019 年,OpenAI 的研究者還訓(xùn)練神經(jīng)網(wǎng)絡(luò),利用一只類人機(jī)械手來(lái)玩魔方,表明強(qiáng)化學(xué)習(xí)工具不僅僅可以處理虛擬任務(wù),而且還能夠解決需要高度靈活性的真實(shí)世界問(wèn)題。

圖片

這個(gè)時(shí)候 OpenAI 在另一邊已經(jīng)推出「迄今為止最大模型」GPT-2 了,強(qiáng)化學(xué)習(xí)的盛世,似乎很快就被后來(lái)興起的大語(yǔ)言模型(LLM)所覆蓋。

Karpathy 還提到:「Yann LeCun 當(dāng)時(shí)就不太看好強(qiáng)化學(xué)習(xí),他一遍又一遍地談?wù)摗旱案狻?,而?qiáng)化學(xué)習(xí)(RL)只是蛋糕頂部最后一顆櫻桃,表征學(xué)習(xí)是蛋糕主體,監(jiān)督學(xué)習(xí)是錦上添花。至少在今天看來(lái),他在概念上是完全正確的(預(yù)訓(xùn)練 = 蛋糕主體,監(jiān)督微調(diào)(SFT)= 糖衣,RLHF = 櫻桃,即基本的 ChatGPT 訓(xùn)練 pipeline)。這很有趣,因?yàn)榻裉焖匀徊惶春?LLM?!?/span>

圖片

說(shuō)了這么多,如今已是「事后諸葛亮」了,當(dāng)初明明看好卻沒(méi)把握住,看起來(lái)比當(dāng)初根本沒(méi)想過(guò)這回事還讓人懊惱。

讓我們看看 Karpathy 那篇預(yù)言了如今大模型時(shí)代的文章,說(shuō)了些什么。

Andrej Karpathy 當(dāng)初是怎么看好的

其實(shí)關(guān)于 RNN,Karpathy 早在 15 年就已經(jīng)注意到了。為此他還專門(mén)寫(xiě)了一篇名為《RNN 的不合理有效性》  文章。

文章深入探討了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的潛力與實(shí)際應(yīng)用。文中提到了幾個(gè)實(shí)驗(yàn)示例,包括使用 RNN 來(lái)生成類似莎士比亞作品的文本,以及模擬編程代碼和數(shù)學(xué)公式的生成。 

Karpathy 用簡(jiǎn)單易懂的語(yǔ)言介紹了 RNN。RNN 是一種能夠處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),它通過(guò)其循環(huán)連接能夠記住之前的信息,這對(duì)于時(shí)間序列數(shù)據(jù)或任何序列數(shù)據(jù)的處理尤為關(guān)鍵。 

Karpathy 描述了使用 RNN 進(jìn)行圖像描述任務(wù)的初次嘗試,并分享了這一過(guò)程中的神奇體驗(yàn)。他回憶稱,在使用 RNN 進(jìn)行訓(xùn)練后不久,即使是隨意選擇的超參數(shù)配置下,他的模型開(kāi)始生成看起來(lái)非常不錯(cuò)的圖像描述,這些描述接近于有意義。這種簡(jiǎn)單模型與所獲得的結(jié)果質(zhì)量之間的比例,有時(shí)會(huì)遠(yuǎn)遠(yuǎn)超出預(yù)期,這讓人感到驚訝。

當(dāng)時(shí)的普遍看法認(rèn)為 RNN 難以訓(xùn)練,但 Karpathy 后來(lái)的經(jīng)驗(yàn)卻讓他得出了相反的結(jié)論。隨著時(shí)間的推移,Karpathy 頻繁地訓(xùn)練 RNN,并多次見(jiàn)證了它們的強(qiáng)大和穩(wěn)健,盡管如此,這些網(wǎng)絡(luò)產(chǎn)生的有趣輸出仍然讓他感到新奇和有趣。

關(guān)于如何利用 RNN 逐字符生成文本的介紹,引發(fā)了對(duì)「這怎么可能?」這一問(wèn)題的思考。 

事實(shí)上,眾所周知,RNN 是圖靈完備的,因?yàn)樗鼈兛梢阅M任意程序(具有適當(dāng)?shù)臋?quán)重)。但與神經(jīng)網(wǎng)絡(luò)的通用近似定理類似,你不應(yīng)該對(duì)此進(jìn)行過(guò)多的解讀。

如果訓(xùn)練普通神經(jīng)網(wǎng)絡(luò)是對(duì)函數(shù)的優(yōu)化,那么訓(xùn)練循環(huán)網(wǎng)絡(luò)就是對(duì)程序的優(yōu)化。

接下來(lái),Karpathy 在博客中講解了 RNN 的基本工作原理,并通過(guò)一個(gè)具體的字符級(jí)語(yǔ)言模型應(yīng)用來(lái)說(shuō)明其實(shí)際操作過(guò)程。 

具體而言,Karpathy 為 RNN 提供一大段文本,并要求它根據(jù)前面的字符序列對(duì)序列中下一個(gè)字符的概率分布進(jìn)行建模。這樣,就可以一次一個(gè)字符地生成新文本。

假設(shè)詞匯表為 hello, 這段訓(xùn)練數(shù)據(jù)可以被拆分為 4 個(gè)獨(dú)立的訓(xùn)練樣本: 

  • 基于 h 預(yù)測(cè) e 的概率應(yīng)該較高。
  • 基于 he 預(yù)測(cè) l 的概率應(yīng)該較高。
  • 基于 hel 預(yù)測(cè) l 的概率應(yīng)該較高。
  • 基于 hell 預(yù)測(cè) o 的概率應(yīng)該較高。

每個(gè)字符會(huì)被編碼為一個(gè)向量,采用 1-of-k 編碼,即向量中只有一個(gè)位置為 1,其余位置為 0,然后使用 step 函數(shù)將它們逐個(gè)輸入到 RNN。接著會(huì)觀察到一個(gè) 4 維輸出向量序列(每個(gè)字符一維),并將其解釋為 RNN 當(dāng)前分配給序列中下一個(gè)字符的置信度。

圖片

接下來(lái)可以看到 RNN 的訓(xùn)練過(guò)程及其背后的邏輯:

在第一個(gè) step 中,RNN 看到字符 h 后,預(yù)測(cè)下一個(gè)字符的概率分布如下:

  • h 的置信度為 1.0
  • e 的置信度為 2.2
  • l 的置信度為 - 3.0
  • o 的置信度為 4.1

但根據(jù)訓(xùn)練數(shù)據(jù) hello,正確的下一個(gè)字符應(yīng)該是 e。因此,需要提高 e 的置信度(綠色表示),同時(shí)降低其他字符的置信度(紅色表示)。

在這過(guò)程中,每個(gè) step 都有一個(gè)期望的目標(biāo)字符。目標(biāo)是讓網(wǎng)絡(luò)對(duì)正確字符的置信度更高,而對(duì)錯(cuò)誤字符的置信度更低。因此需要反向傳播算法計(jì)算每個(gè)權(quán)重的梯度。

根據(jù)梯度調(diào)整 RNN 的權(quán)重(參數(shù)),讓正確字符的置信度提高(例如 e 的置信度從 2.2 提高到 2.3)。錯(cuò)誤字符的置信度則會(huì)相應(yīng)降低。

這一過(guò)程會(huì)重復(fù)多次,直到模型收斂。收斂后,RNN 的預(yù)測(cè)會(huì)與訓(xùn)練數(shù)據(jù)更加一致,即每一步都能夠正確預(yù)測(cè)下一個(gè)字符。 

為了進(jìn)一步說(shuō)明,出于教學(xué)目的,Karpathy 還用 Python/numpy 編寫(xiě)了一個(gè)最小的字符級(jí) RNN 語(yǔ)言模型。代碼大約只有 100 行。感興趣的讀者可以參考:

  • 項(xiàng)目鏈接:https://gist.github.com/karpathy/d4dee566867f8291f086

更進(jìn)一步的,Karpathy 在這篇博客中還列舉了 5 個(gè)其他示例展示。所有示例字符模型都是在 Github 上發(fā)布的代碼進(jìn)行訓(xùn)練的。

  • 項(xiàng)目鏈接:https://github.com/karpathy/char-rnn

我們以「莎士比亞」這個(gè)示例為例。

Karpathy 希望探索 RNN 是否能夠?qū)W習(xí)并生成具有更多結(jié)構(gòu)和風(fēng)格的文本內(nèi)容。為此,他下載了莎士比亞的所有作品,并將它們合并成一個(gè) 4.4MB 的文件,用作訓(xùn)練數(shù)據(jù)。

圖片

接著,Karpathy 使用了一個(gè)包含 3 層 RNN 的模型,每層有 512 個(gè)隱藏節(jié)點(diǎn),訓(xùn)練這個(gè)模型耗費(fèi)了數(shù)小時(shí)。最后,模型生成了一些文本樣本,包括角色名字和內(nèi)容對(duì)話,有時(shí)還能生成較長(zhǎng)的獨(dú)白片段。

圖片

不過(guò),從結(jié)果來(lái)看,盡管生成的文本看起來(lái)像莎士比亞的作品,但仍有一定的差異。Karpathy 認(rèn)為這些生成結(jié)果表現(xiàn)出了模型的能力和局限性,同時(shí)也展現(xiàn)了 RNN 在字符級(jí)語(yǔ)言建模上的潛力。

Karpathy 還列舉了如何生成嬰兒名字這種有趣的示例,感興趣的讀者可以參考原博客了解更多內(nèi)容。

隨后的故事我們都知道了,2017 年谷歌發(fā)布了 Transformer 論文,提出了自注意力機(jī)制。在這個(gè)基礎(chǔ)上,人們逐步探索出大模型的 Scaling Laws,將 AI 技術(shù)向通用化快速延伸,直到今天。

既然連 Andrej Karpathy 這樣的 AI 大佬也在研究方向上「走過(guò)彎路」,我們是不是也該回看一下過(guò)去?

責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心
相關(guān)推薦

2013-08-16 10:12:57

C編程風(fēng)格

2020-09-20 17:50:38

編程語(yǔ)言PythonJava

2024-07-29 08:47:00

2023-04-06 16:29:18

模型AI

2017-06-14 18:04:10

2017-06-15 08:52:36

數(shù)據(jù)分析可視化軟件開(kāi)發(fā)

2013-07-15 10:25:27

2024-12-09 08:45:00

模型AI

2024-08-09 14:51:00

2022-12-26 00:00:02

數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)

2024-01-26 08:31:49

2024-03-07 09:40:37

2023-08-28 06:52:29

2024-10-21 16:13:07

2021-06-28 13:20:15

谷歌AI芯片

2019-03-24 15:20:24

蘋(píng)果iPhone開(kāi)發(fā)

2018-10-31 12:39:39

區(qū)塊鏈電子證據(jù)安全

2022-12-07 13:39:51

蘋(píng)果造車

2020-11-16 08:54:05

Google 開(kāi)源技術(shù)

2010-08-19 15:48:06

DB2 diag.lo
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)