AI大神100美元手搓ChatGPT!nanochat教程爆火,4小時(shí)煉成聊天機(jī)器人 原創(chuàng)
當(dāng)科技巨頭們競(jìng)相投入數(shù)億美元開(kāi)發(fā)大語(yǔ)言模型時(shí),前特斯拉AI總監(jiān)、OpenAI創(chuàng)始成員卡帕西卻走上了一條截然不同的道路。
?
今天,AI大牛卡帕西發(fā)布了名為“nanochat”的全新開(kāi)源項(xiàng)目,瞬間引爆整個(gè)社區(qū)。
?
截至目前,該項(xiàng)目在GitHub上獲得了9000顆星。
?

?
卡帕西本人形容這是“最瘋狂的代碼之一”,承諾僅用100美元的成本和4小時(shí)的訓(xùn)練時(shí)間,就能幫助任何人從零開(kāi)始構(gòu)建屬于自己的ChatGPT級(jí)別聊天機(jī)器人。
?

?
和此前創(chuàng)建的nanoGPT相比,nanochat代表著卡帕西從專注模型預(yù)訓(xùn)練到全棧解決方案的理念進(jìn)化。
?
nanoGPT項(xiàng)目主要專注于模型預(yù)訓(xùn)練階段。它是一種小型的GPT模型,具有更少的參數(shù),可以借助其了解LLM的實(shí)現(xiàn)原理,掌握PyTorch和Transformers的使用,從而了解GPT模型的工作原理。
?
而nanochat則是一個(gè)完整的全棧解決方案。它將在單個(gè)代碼庫(kù)中實(shí)現(xiàn)了從數(shù)據(jù)準(zhǔn)備、模型預(yù)訓(xùn)練、對(duì)齊微調(diào)到推理部署的完整流程,代碼總量約8000行。
?
nanochat的設(shè)計(jì)理念在于,使用者只需啟動(dòng)一臺(tái)云GPU服務(wù)器,運(yùn)行單個(gè)腳本,大約4小時(shí)后就能在ChatGPT風(fēng)格的網(wǎng)頁(yè)界面中與自己訓(xùn)練的大語(yǔ)言模型對(duì)話。這種端到端的體驗(yàn)可以讓許多初學(xué)者直觀理解大模型構(gòu)建的全過(guò)程。
?

?
要實(shí)現(xiàn)這一低成本目標(biāo),關(guān)鍵在于精細(xì)的技術(shù)設(shè)計(jì)和流程優(yōu)化。nanochat使用全新的Rust實(shí)現(xiàn)訓(xùn)練分詞器,在FineWeb數(shù)據(jù)集上預(yù)訓(xùn)練Transformer架構(gòu)的大語(yǔ)言模型。項(xiàng)目包含了指令微調(diào)、強(qiáng)化學(xué)習(xí)訓(xùn)練以及高效的推理引擎。
?
具體來(lái)說(shuō),約100美元的成本對(duì)應(yīng)在8張H100 GPU上訓(xùn)練4小時(shí),能夠產(chǎn)生一個(gè)可進(jìn)行基礎(chǔ)對(duì)話、創(chuàng)作簡(jiǎn)單故事和詩(shī)歌、回答簡(jiǎn)單問(wèn)題的聊天機(jī)器人。如果將訓(xùn)練時(shí)間延長(zhǎng)至約12小時(shí),模型在CORE指標(biāo)上的表現(xiàn)就能超越GPT-2。
?
如果進(jìn)一步將預(yù)算提升到約1000美元,訓(xùn)練約41.6小時(shí),模型能力會(huì)出現(xiàn)顯著提升,能夠解決基礎(chǔ)的數(shù)學(xué)和代碼問(wèn)題,并通過(guò)多項(xiàng)選擇題測(cè)試。
?
當(dāng)然,nanochat的真正價(jià)值不僅在于低成本,更在于其教育意義。它完整呈現(xiàn)了構(gòu)建聊天機(jī)器人的每一步流程,包括數(shù)據(jù)準(zhǔn)備、分詞器訓(xùn)練、模型預(yù)訓(xùn)練、對(duì)齊微調(diào)、強(qiáng)化學(xué)習(xí)以及最終的推理部署。
?
項(xiàng)目會(huì)自動(dòng)生成Markdown格式的評(píng)分報(bào)告卡,以游戲化的方式總結(jié)展示整個(gè)訓(xùn)練過(guò)程。這種直觀的反饋機(jī)制讓學(xué)習(xí)者能夠清楚了解每個(gè)階段的學(xué)習(xí)成果和模型表現(xiàn)。
?v
卡帕西明確表示,nanochat將成為他正在開(kāi)發(fā)的LLM101n課程的壓軸項(xiàng)目。這也解釋了項(xiàng)目設(shè)計(jì)中濃厚的教育基因——不是為了生產(chǎn)最強(qiáng)大的模型,而是為了提供最清晰的學(xué)習(xí)路徑。
?
一個(gè)有趣的細(xì)節(jié)是,卡帕西在開(kāi)發(fā)過(guò)程中基本上是全手寫(xiě)代碼,他曾經(jīng)嘗試使用Claude或Codex等AI編程助手,但效果非常糟糕。這可能是因?yàn)轫?xiàng)目代碼庫(kù)的結(jié)構(gòu)偏離了這些助手訓(xùn)練數(shù)據(jù)的分布。
?

?
卡帕西也明確指出了項(xiàng)目的局限性。他將這些微型模型比作“幼兒園小朋友”,認(rèn)為它們不具備大型模型的原生智能。
?
要實(shí)現(xiàn)真正的個(gè)性化模型,可能需要準(zhǔn)備原始數(shù)據(jù),進(jìn)行大量的合成數(shù)據(jù)生成和重寫(xiě),然后使用當(dāng)前較強(qiáng)的開(kāi)源大模型進(jìn)行微調(diào),同時(shí)混入大量預(yù)訓(xùn)練數(shù)據(jù)以避免模型丟失通用智能能力。卡帕西坦言,這仍然屬于研究范疇的課題。
?
nanochat的出現(xiàn)標(biāo)志著大語(yǔ)言模型技術(shù)正在從尖端研究向普及教育轉(zhuǎn)變。當(dāng)科技巨頭們專注于千億美元參數(shù)規(guī)模、訓(xùn)練成本動(dòng)輒數(shù)百萬(wàn)美元的模型時(shí),nanochat反其道而行之,將門(mén)檻降低到普通開(kāi)發(fā)者和學(xué)生可以承受的水平。
?
這種從小見(jiàn)大的方法不僅降低了學(xué)習(xí)門(mén)檻,也為理解大模型背后的核心原理提供了寶貴機(jī)會(huì)。對(duì)許多學(xué)習(xí)者而言,親手訓(xùn)練一個(gè)小型模型遠(yuǎn)比使用API調(diào)用一個(gè)龐大模型更能帶來(lái)洞察和理解。
?
未來(lái),AI教育可能會(huì)變得更加平等和開(kāi)放。更多開(kāi)發(fā)者將通過(guò)這樣的工具踏入AI領(lǐng)域,最終推動(dòng)整個(gè)行業(yè)向前發(fā)展。

















