Karpathy 4小時AI大課上線,小白看了都會從零構建GPT-2!
大神Karpathy新一期AI大課又上線了。
這一次,他講的內容是——從頭開始實現124M大小的GPT-2模型,足足有4個小時。
圖片
Karpathy對這個視頻2個字總結:全面。
我們從空文件開始,以GPT-2(124M)模型結束。
也就是說,這就是手把手教程,就連AI小白看后,都會搭建GPT-2了。
Karpathy稱這是從0到英雄(Zero To Hero)的系列中最新的視頻。
翻看以往Zero To Hero系列中的視頻,最長的也不過2小時25分,這次4小時完全創下了最新記錄。
圖片
帖子中,他highlight了最新視頻中的一些重點內容:
- 我們首先構建GPT-2神經網絡
- 然后對其進行優化,以實現快速訓練
- 參考GPT-2和GPT-3論文,設置訓練運行優化和超參數
- 啟動模型評估
- 祈禱一切順利,上床睡覺
- 等到第二天早上,便可查看模型的結果,欣賞模型生成的有趣輸出。
發布短短的幾個小時,視頻已經有了11萬次播放量。
圖片
Karpathy表示,這次「過夜」的訓練結果,表現甚至接近GPT-3(124M)模型的水平。
順便提一句,Karpathy自己做的封面配圖,也很有趣,直接把英偉達GPU點起來了。
圖片
網友在下面評論道,Karpathy就是我的神!
圖片
華裔天才少年Alexandr Wang稱,「你的視頻就相當于流行音樂明星發布的新單曲」。
圖片
「我的生活很簡單,Karpathy上線GPT-2『大片』,看就完事兒了」。
圖片
視頻下方,許多網友紛紛為這個免費課程「打賞」。
圖片
圖片
接下來,讓我們一起來看看這節課講了什么?
4小時大課,干貨滿滿
最開始部分,Karpathy先介紹了下GPT-2的情況。
2019年,OpenAI首次發布了GPT-2模型,并公布了相關論文和代碼。
圖片
論文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
而這次的視頻,就是要復現一個GPT-2模型,共有1.24億參數的模型。
之所以選擇這一參數,要清楚的是,GPT-2在發布前會有一個小系列(miniseries),其中有4種參數,而最大的那個稱為GPT-2。
圖片
另外,你可以將模型放在X軸上,各種下游指標放在Y軸上,便可以畫出Sacling Law定律的曲線。基本上,隨著模型規模擴大,下游任務性能越好。
圖片
1.24億參數Transformer架構共有12層,并且有768個通道(channels)。
GPT-2發布已經是5年前的事了,而現在復現容易得很多,對GPU計算需求沒那么大,大概需要1個小時,10美元的成本。
Karpathy表示,自己訓練模型的GPU來自Lambda GPU Cloud,因為他認為這是在云中按需啟動GPU實例的最佳和最簡單的方法。
接下來,第一步就是加載GPT-2模型,進入GitHub源代碼庫,然后點擊modle.py。
可以看到,這個模型使用的Tensorflow編寫的。
圖片
Karpathy尷尬地表示道,「現在我們很少使用了,直接從更友好的Pytorch開始」。
圖片
為了更方便地復現,Karpathy還選擇使用了Hugging Face上的GPT-2代碼,其基于Transformer重新搭建,更容易使用。
圖片
接下來,就是從Hugging Face頁面中,導入GPT-2模型。
在預訓練GPT-2之前,如果想要復現一個1.5B模型,只需在gpt2后面,加上-xl。
圖片
下面,將Pytorch NN模塊初始化為在如下類中定義,然后打印鍵值。
如下是,GPT-2模型內部不同的參數和形狀,W token嵌入的權重大小是50257, 768。
圖片
這節課共分為4個部分,接下來從構建到參數微調,Karpathy都給出了非常詳細的講解。
第一節是實施GPT-2 nn.模塊。
第二節是速戰速決,混合精度的GPU,1000ms
第三節是Hyperpamats,AdamW,梯度剪裁
第四節是等待結果!GPT-2、GPT-3復現對比
圖片
最后,睡覺得到的結果,第二天再看結果。
圖片
模型的訓練損失也在不斷下降,而且與GPT-3的性能相媲美。
圖片
最后,這個4小時的大課,小編放這兒了。




































