愛鋒貝

標(biāo)題: 李飛飛高徒教你從0到1構(gòu)建GPT,馬斯克點贊 [打印本頁]

作者: 慧慧蘋果醬    時間: 2023-1-22 16:59
標(biāo)題: 李飛飛高徒教你從0到1構(gòu)建GPT,馬斯克點贊
詹士 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
“從0到1手搓GPT”教程來了!
視頻1個多小時,從原理到代碼都一一呈現(xiàn),訓(xùn)練微調(diào)也涵蓋在內(nèi),手把手帶著你搞定。

(, 下載次數(shù): 10)
該內(nèi)容剛發(fā)出來,在Twitter已吸引400萬關(guān)注量,HackerNews上Points也破了900。
連馬斯克也下場支持。

(, 下載次數(shù): 11)
評論區(qū)更是一片鑼鼓喧天鞭炮齊鳴,網(wǎng)友們紛紛馬住。

(, 下載次數(shù): 9)
有人評價,Andrej確實是一位出色的“事物解釋者”,也熱心于回答大家的問題。

(, 下載次數(shù): 10)
還有網(wǎng)友更夸張,稱該教程簡直是來“救命”。

(, 下載次數(shù): 10)
那么,這位活菩薩是誰?
正是前特斯拉AI總監(jiān),李飛飛高徒——Andrej Karpathy。

(, 下載次數(shù): 9)
教程具體說了什么?
這就來展開講講。
從零構(gòu)建GPT,總共幾步?

視頻教程先從理論講起。
第一部分主要關(guān)于建立基準(zhǔn)語言模型(二元)以及Transformer核心注意力機制,以及該機制內(nèi)節(jié)點之間的信息傳遞,自注意力機制理論也有涉及。
該part內(nèi)容長度超過1小時,不僅有概念解釋,還教你如何使用矩陣乘法、添加softmax歸一化,可謂“夯實基礎(chǔ)”式講解。

(, 下載次數(shù): 8)
接著講述構(gòu)建Transformer。
這當(dāng)中涉及了多頭注意力(包括如何插入自注意力構(gòu)建塊)、多層感知機(MLP)、殘差連接、歸一化方法LayerNorm以及如何在Transformer中添加Dropout Notes…….
然后,作者會帶大家訓(xùn)練一個模型,當(dāng)中會用到一個名為nanoGPT的庫,可調(diào)用GPT-2參數(shù),快速完成GPT模型的訓(xùn)練。
教程中,作者還將所得模型與Open AI的GPT-3比較。兩者規(guī)模差距達(dá)1萬-100萬倍,但神經(jīng)網(wǎng)絡(luò)是相同的。另一個將拿來比較的是人盡皆知的ChatGPT,當(dāng)然,我們目前所得只是預(yù)訓(xùn)練模型。

(, 下載次數(shù): 10)
在上述內(nèi)容引導(dǎo)下,我們已得一個10M參數(shù)規(guī)模的模型,在一個GPU上訓(xùn)練15分鐘,喂給1MB大小的莎士比亞文本數(shù)據(jù)集,它就能像莎士比亞一樣輸出。
比如下面兩張圖,你能分辨哪個是真人莎士比亞寫的嗎?

(, 下載次數(shù): 11)
評論區(qū)有人好奇選什么GPU資源。作者也分享了下——自己用的是Lambda的云上GPU,這是他目前接觸按需計費GPU中,最簡單的渠道。
光說不練不行,作者還給出一些課后練習(xí),總共四道題,包括:
神器nanoGPT也剛發(fā)布

前文提及,作者之所以能快速完成訓(xùn)練GPT,有賴于一個名nanoGPT的庫。
這也是本教程作者前幾天剛發(fā)布的利器,由2年前的minGPT升級而來,只是換了個更“標(biāo)題黨”的名字,自稱納米級(nano)。目前,其在GitHub所獲star已超8k,網(wǎng)友連連點贊。

(, 下載次數(shù): 10)
據(jù)作者介紹,該庫里面包含一個約300行的GPT模型定義(文件名:model.py),可以從OpenAI加載GPT-2權(quán)重。
還有一個訓(xùn)練模型PyTorch樣板(文件名:train.py),同樣也是300多行。
對想上手的AI玩家來說,無論是從頭開始訓(xùn)練新模型,還是基于預(yù)訓(xùn)練進(jìn)行微調(diào)(目前可用的最大模型為1.3B參數(shù)的GPT-2),各路需求均能滿足。

(, 下載次數(shù): 10)

△ 一個訓(xùn)練實例展示

據(jù)作者目前自己的測試,他在1 個 A100 40GB GPU 上訓(xùn)練一晚,損失約為 3.74。如果是在4個GPU上訓(xùn)練損失約為3.60。
如果在8個A100 40GB節(jié)點上進(jìn)行約50萬次迭代,時長約為1天,atim的訓(xùn)練降至約3.1,init隨機概率是10.82,已將結(jié)果帶到了baseline范圍。

(, 下載次數(shù): 10)
對macbook或一些“力量”不足的小破本,靠nanoGPT也能開訓(xùn)。
不過,作者建議使用莎士比亞(shakespeare)數(shù)據(jù)集,該數(shù)據(jù)集前文已提及,大小約1MB,然后在一個很小的網(wǎng)絡(luò)上運行。
據(jù)他自己親身示范,創(chuàng)建了一個小得多的Transformer(4層,4個head,64嵌入大?。?,在作者自己的蘋果AIR M1本上,每次迭代大約需要400毫秒。
(GitHub上nanoGPT鏈接附在文末,有需要的朋友自?。?br /> One More Thing

此番教程作者Karpathy Andrej在圈內(nèi)早已頗有名氣,他在斯坦福時,師從華人AI大牛李飛飛,后又曾工作于Open AI。
此前,Karpathy就在致力于讓更多人接觸了解神經(jīng)網(wǎng)絡(luò)和相關(guān)數(shù)據(jù)集。2020年8月,他就曾發(fā)布nanoGPT前一代,MinGPT,同樣旨在讓GPT做到小巧、簡潔、可解釋,同樣主打——300行代碼解決問題。
Karpathy另一個身份是前特斯拉AI核心人物。
在馬斯克麾下,他歷任特斯拉高級AI主管、特斯拉自動駕駛AutoPilot負(fù)責(zé)人、特斯拉超算Dojo負(fù)責(zé)人、特斯拉擎天柱人形機器人負(fù)責(zé)人…
2022年7月,Karpathy Andrej離職,在業(yè)內(nèi)引發(fā)不小討論。當(dāng)時他就表示,未來將花更多時間在AI、開源技術(shù)教育上。
這回發(fā)布的從0開始構(gòu)建GPT課程,正是他教學(xué)計劃的一部分。
https://github.com/karpathy/nanoGPT
https://www.youtube.com/watch?v=kCc8FmEb1nY
參考鏈接:
[1]https://twitter.com/karpathy/status/1615398117683388417?s=46&t=69hVy8CNcEBXBYmQHXhdxA
[2]https://news.ycombinator.com/item?id=34414716

—完—
@量子位 · 追蹤AI技術(shù)和產(chǎn)品新動態(tài)
深有感觸的朋友,歡迎贊同、關(guān)注、分享三連?'?' ??

-----------------------------
作者: 彼岸]    時間: 2023-1-22 18:44
特斯拉自動駕駛前負(fù)責(zé)人,是不是更有爆點[機智]
作者: 二笙.    時間: 2023-1-22 20:04
李飛飛高徒?我覺得Karpathy已經(jīng)不需要這個名頭來增加知名度了。




歡迎光臨 愛鋒貝 (http://m.7gfy2te7.cn/) Powered by Discuz! X3.4