Karpathy的nanochat:構(gòu)建企業(yè)LLM技術(shù)基線的最低成本方案
在人工智能領(lǐng)域,Andrej Karpathy的名字始終與開創(chuàng)性的工作和深刻的教育貢獻(xiàn)緊密相連。作為OpenAI的聯(lián)合創(chuàng)始人及前特斯拉AI總監(jiān),他的每一個(gè)新項(xiàng)目都能在開發(fā)者社區(qū)中激起巨大的波瀾。 2025年10月13日,Karpathy再次引爆了技術(shù)圈,發(fā)布了他的最新開源項(xiàng)目nanochat。項(xiàng)目發(fā)布至今,其在GitHub上的Star數(shù)量就已超過7300。
nanochat的核心標(biāo)簽極具沖擊力:一個(gè)花費(fèi)約100美元、僅需4小時(shí)即可訓(xùn)練完成的ChatGPT克隆版。這不僅是一個(gè)引人注目的噱頭,更是一次對(duì)構(gòu)建大型語言模型全流程的極致簡(jiǎn)化與深刻洞察。

從預(yù)訓(xùn)練到推理的全棧實(shí)現(xiàn)
許多開發(fā)者都熟悉Karpathy之前的nanoGPT項(xiàng)目,它以極簡(jiǎn)的代碼出色地展示了GPT模型的預(yù)訓(xùn)練過程。而nanochat則在此基礎(chǔ)上邁出了一大步,它不再局限于預(yù)訓(xùn)練,而是覆蓋了構(gòu)建一個(gè)完整、可對(duì)話的LLM所需的全棧流程。
-
數(shù)據(jù)處理與分詞
nanochat的起點(diǎn)是公開的FineWeb數(shù)據(jù)集。在數(shù)據(jù)處理的第一步,即分詞環(huán)節(jié),Karpathy做出了一個(gè)有趣的選擇:使用Rust語言從零實(shí)現(xiàn)了一個(gè)全新的分詞器。分詞是將文本分解為模型能夠理解的最小單元(tokens)的過程,而Rust以其內(nèi)存安全和高性能著稱,這一選擇不僅展示了在AI工作流中引入高性能語言的潛力,也為學(xué)習(xí)者提供了一個(gè)現(xiàn)代化的分詞器實(shí)現(xiàn)范例。 -
訓(xùn)練三部曲
nanochat的訓(xùn)練過程被設(shè)計(jì)成一個(gè)清晰的三部曲。首先,它在FineWeb數(shù)據(jù)集上進(jìn)行基礎(chǔ)的預(yù)訓(xùn)練,讓模型學(xué)習(xí)語言的基本規(guī)律和知識(shí)。接著,進(jìn)入中期訓(xùn)練階段,使用包含用戶與助手對(duì)話、多選問答、工具使用等更多樣化的數(shù)據(jù),對(duì)模型進(jìn)行初步的能力引導(dǎo)。最后,通過監(jiān)督微調(diào)(Supervised Fine-Tuning, SFT)階段,使用高質(zhì)量的指令數(shù)據(jù),將模型“塑造”成一個(gè)樂于助人且遵循指令的對(duì)話助手。 -
強(qiáng)化學(xué)習(xí)與工具調(diào)用
更進(jìn)一步,nanochat還可選地集成了強(qiáng)化學(xué)習(xí)環(huán)節(jié)。它使用了一種名為GRPO的算法,在GSM8K這個(gè)數(shù)學(xué)問題數(shù)據(jù)集上進(jìn)行訓(xùn)練。強(qiáng)化學(xué)習(xí)是一種通過獎(jiǎng)勵(lì)和懲罰來引導(dǎo)模型行為的訓(xùn)練方法,旨在提升模型的推理能力。此外,項(xiàng)目還實(shí)現(xiàn)了一個(gè)輕量級(jí)的Python解釋器沙箱,賦予了模型調(diào)用外部工具來解決問題的能力。這標(biāo)志著nanochat已經(jīng)觸及了當(dāng)前AI Agent研究的核心領(lǐng)域。 -
高效推理與交互
訓(xùn)練完成后,nanochat提供了一個(gè)包含KV Cache優(yōu)化的高效推理引擎。 KV Cache是??一種廣泛用于加速Transformer模型推理的技術(shù),它通過緩存中間計(jì)算結(jié)果,避免了大量的重復(fù)計(jì)算。用戶可以通過命令行或一個(gè)ChatGPT風(fēng)格的Web界面,與自己親手訓(xùn)練的模型進(jìn)行實(shí)時(shí)交互。

成本、性能與直觀預(yù)期
nanochat項(xiàng)目最吸引人的地方,在于它將成本和性能進(jìn)行了明確的量化,為開發(fā)者提供了極為直觀的實(shí)踐預(yù)期。
-
100美元級(jí)別(Speedrun模式)
這是項(xiàng)目的“閃電戰(zhàn)”模式。在一臺(tái)配備8個(gè)H100 GPU的云主機(jī)上,大約花費(fèi)4小時(shí)和100美元,你就能得到一個(gè)可以進(jìn)行基本對(duì)話的迷你ChatGPT。但需要明確的是,其智能水平非常有限。 Karpathy形容與它的對(duì)話體驗(yàn)“像與一個(gè)幼兒園小孩對(duì)話”,它能寫一些簡(jiǎn)單的故事和詩(shī)歌,但知識(shí)和邏輯能力與商用模型相去甚遠(yuǎn)。 -
300美元級(jí)別
將訓(xùn)練時(shí)間延長(zhǎng)至約12小時(shí),花費(fèi)約300美元,模型的性能將得到顯著提升,其CORE指標(biāo)(一種衡量模型核心能力的基準(zhǔn))能夠略微超過經(jīng)典的GPT-2模型。 -
1000美元級(jí)別
當(dāng)投入約41.6小時(shí)和1000美元時(shí),模型的連貫性會(huì)快速提升,開始具備解決基礎(chǔ)數(shù)學(xué)和代碼任務(wù)的能力,并能在一些多項(xiàng)選擇題測(cè)試中取得不錯(cuò)的成績(jī)。例如,一個(gè)訓(xùn)練24小時(shí)的模型,在MMLU這個(gè)綜合能力測(cè)試中就能獲得超過40分。
學(xué)習(xí)價(jià)值與應(yīng)用邊界
nanochat的核心價(jià)值在于其教育意義。它以約8000行清晰、極少依賴的代碼,將一個(gè)看似遙不可及的ChatGPT完整地呈現(xiàn)在每個(gè)開發(fā)者面前。通過學(xué)習(xí)和實(shí)踐nanochat,開發(fā)者不僅能深刻理解LLM從數(shù)據(jù)到對(duì)話的全過程,更能獲得一個(gè)可任意修改、可深入研究的“活體”實(shí)驗(yàn)平臺(tái)。
然而,Karpathy本人也明確指出了nanochat的局限性。它是一個(gè)“強(qiáng)勢(shì)基eline”,一個(gè)完美的學(xué)習(xí)起點(diǎn),但不適合直接用于生產(chǎn)環(huán)境或嚴(yán)肅的個(gè)性化應(yīng)用。其模型規(guī)模過小,原始智能有限,如果直接在個(gè)人數(shù)據(jù)上進(jìn)行微調(diào),很可能會(huì)丟失其來之不易的通用能力,變成一個(gè)只會(huì)“鸚鵡學(xué)舌”的玩具。
從nanochat的學(xué)習(xí)到真正的生產(chǎn)級(jí)應(yīng)用,開發(fā)者需要跨越一道鴻溝。生產(chǎn)環(huán)境中的AI應(yīng)用,往往需要處理更復(fù)雜的業(yè)務(wù)邏輯,對(duì)模型的穩(wěn)定性、響應(yīng)速度和安全性有極高的要求。這時(shí),開發(fā)者需要的便不再是一個(gè)教學(xué)級(jí)的實(shí)現(xiàn),而是像七牛云這樣提供穩(wěn)定、高性能AI大模型推理服務(wù)的平臺(tái)。通過兼容OpenAI API的統(tǒng)一接口,開發(fā)者可以將從nanochat中學(xué)到的原理,無縫地應(yīng)用到數(shù)十種主流大模型上,并獲得百萬級(jí)并發(fā)處理能力和企業(yè)級(jí)的安全合規(guī)保障,從而將一個(gè)實(shí)驗(yàn)性的想法,真正轉(zhuǎn)化為能夠服務(wù)萬千用戶的可靠產(chǎn)品。
nanochat為我們打開了一扇門,讓我們得以一窺LLM內(nèi)部的完整運(yùn)作機(jī)制。而如何走好門后的道路,將學(xué)習(xí)到的知識(shí)與強(qiáng)大的生產(chǎn)級(jí)工具相結(jié)合,則是每一位AI開發(fā)者需要繼續(xù)探索的課題。

















