新智元報道
編輯:定慧
【新智元導讀】AI傳奇人物、前特斯拉AI總監(jiān)Karpathy重磅推出全新開源項目「nanochat」,以不到8000行代碼復現(xiàn)ChatGPT全流程,只需一臺GPU、約4小時、成本僅百美元。該項目在GitHub上線不到12小時即獲4.2k星標!
AI傳奇人物、前特斯拉AI總監(jiān)Karpathy宣布發(fā)布全新項目nanochat!
一個極簡但完整的「從零構(gòu)建ChatGPT」訓練框架。
Karpathy說這是他寫過的最瘋狂的項目之一!
相當于每個人都可以自己擁有一個專屬的ChatGPT。
項目剛放出還不到12個小時,GitHub星標就破4.2kStar?。ㄟ€在持續(xù)瘋漲中)
GitHub項目:https://github.com/karpathy/nanochat
全是社區(qū)自來水流量,這就是Karpathy在AI領(lǐng)域的號召力!
與早期的nanoGPT不同,nanochat不僅涵蓋預訓練,還囊括了從數(shù)據(jù)準備、預訓練、中期訓練(對話、多項選擇題、工具使用)、SFT、RL微調(diào)到推理部署的全流程。
整個系統(tǒng)僅約8000行干凈代碼,啟動一臺GPU機器、運行一條腳本,4小時后你就能在網(wǎng)頁界面與自己訓練的「小ChatGPT」對話。
Karpathy將其稱為LLM101n的「壓軸之作」,同時也可能成為未來研究基線和開源社區(qū)的實驗平臺。
讓我來仔細看看如何僅僅用8000行來「克隆」ChatGPT:
使用全新的Rust實現(xiàn)訓練分詞器
在FineWeb上對TransformerLLM進行預訓練,評估多個指標下的CORE分數(shù)
在來自SmolTalk的用戶-助手對話、多項選擇題、工具使用數(shù)據(jù)上進行中期訓練
進行SFT,在世界知識多項選擇題(ARC-E/C、MMLU)、數(shù)學(GSM8K)、代碼(HumanEval)上評估聊天模型
使用「GRPO」在GSM8K上對模型進行強化學習微調(diào)(RL)
在帶有KV緩存的引擎中實現(xiàn)高效推理,簡單的預填充/解碼,工具使用(在輕量級沙箱中的Python解釋器),通過CLI或類ChatGPT的網(wǎng)頁界面與其交互。
撰寫一份單一的Markdown成績單,總結(jié)并將整個過程游戲化。
項目全程花費低至約100美元(約在一臺8XH100節(jié)點上訓練4小時)。
可以訓練、克隆一個可以對話的小型ChatGPT,它能創(chuàng)作故事/詩歌、回答簡單問題。
只需要訓練約12小時即可超過GPT-2的核心指標。
隨著進一步擴展到約1000美元(約41.6小時訓練),模型會迅速變得更連貫,能解決簡單的數(shù)學/代碼問題并做多項選擇題。
訓練24小時的模型(其FLOPs大致相當于GPT-3Small125M,約為GPT-3的1/1000)在MMLU上能進入40分段,在ARC-Easy上進入70分段,在GSM8K上進入20分段等。
總結(jié)一下就是:
100美元→可訓練出一個能寫詩、回答基礎問題的OpenAI同款「小型ChatGPT」;
1000美元→達到近GPT-2以上的表現(xiàn),可做基礎推理與代碼生成。
這個項目體現(xiàn)出他的核心理念:
「降低 LLM 研究與復現(xiàn)門檻,讓每個人都能親手訓練自己的模型?!?/strong>
這種民主化路線,與他在nanoGPT時期倡導的「從零實現(xiàn)Transformer」如出一轍。
項目地址:https://github.com/karpathy/nanoGPT
Karpathy說他的目標是把完整的「強基線」棧整合到一個連貫、極簡、可讀、可修改、可最大化派生的倉庫中。
nanochat將成為LLM101n(仍在開發(fā)中)的壓軸項目。
Karpathy認為nanochat也有可能發(fā)展成一個研究工具或基準,就像之前的nanoGPT一樣。
nanoGPT教你造大腦,nanochat教你造ChatGPT。
如果說nanoGPT是「Transformer源碼教學項目」。
那么,nanochat則是「LLM生態(tài)系統(tǒng)微縮版」、OpenAI同款、你的專屬AI。
二者關(guān)系可理解為「從神經(jīng)網(wǎng)絡基礎到產(chǎn)品級對話系統(tǒng)」的兩步閉環(huán)。
從Vibe Coding到nanoGPT,再到如今的nanochat,Karpathy不愧是「AI教育者」的最佳代言人。
這一「瘋狂之作」并非狂想,而是Karpathy對AI開放、可學習、可復現(xiàn)理想的又一次踐行。
小型ChatGPT效果展示
Karpathy在WebUI部署了nanochat項目。
他還給出了「與價格為100美元、運行4小時的」nanochat的示例對話。
很……有趣!
下面這張圖展示的是Karpathy在nanochat「$100速度跑」實驗(即只用一臺GPU、約4小時訓練出的ChatGPT 小模型)中生成的「成績單」部分內(nèi)容,說明模型規(guī)模、訓練耗時、以及在各類標準評測上的性能。
Characters:333989 —— 代碼總字符數(shù)。
Lines:8304 —— 大約 8300 行干凈、注釋良好的代碼。
Files:44 —— 工程文件數(shù)量。
Tokens:約83,497 —— 代碼中的token數(shù)(大致對應8萬詞)。
Dependencies:2004行uv.lock依賴清單 —— 表明依賴極少、項目結(jié)構(gòu)輕。
這些數(shù)字展示了nanochat的「極簡」精神:完整實現(xiàn)了 ChatGPT 的訓練、微調(diào)與推理,卻仍保持在8000行代碼以內(nèi)。
參考資料:
https://x.com/karpathy/status/1977755427569111362
https://github.com/karpathy/nanochat
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.