Karpathy深夜炸場:開源630行程式碼“AI研究員”,5分鐘完成一次訓練,單卡就能跑,自我進化

曾幾何時,前沿AI研究還靠著一群"碳水化合物電腦"——他們在吃飯睡覺摸魚的間隙,偶爾通過"組會"儀式用聲波互相吼兩嗓子,就這麼推進著人類的技術邊界。那個年代已經一去不返。如今,研究完全被AI智能體接管,它們成群結隊地在雲端巨型計算叢集裡狂奔。據說程式碼已經迭代到了第10205代,但這數字真偽已無從考證——那些程式碼早已進化為能自我修改的二進制生命,遠遠超出了人類的認知範疇。這個程式碼倉庫,正是這一切故事的起點。——@karpathy,2026年3月

以上是Karpathy為新項目撰寫的序言。

就在剛剛,AI大神Andrej Karpathy發佈並開源了一個名為autoresearch的新項目,一句話來說Karpathy開源了一個自主AI研究員,它會在你睡覺的時候運行100個實驗,任何人只要擁有一塊GPU,就能在一夜之間運行一個研究實驗室。

這個項目的核心想法很簡單:給AI Agent一個雖小但真實的LLM訓練環境,讓它通宵達旦地自主進行實驗研究

人類的新工作是編寫一個提示(Prompt),用來指導Agent如何去思考和進行研究。

這個Agent會徹夜不休地循環執行以下任務:編輯程式碼、訓練一個小型語言模型(每次精確到五分鐘)、檢查得分、根據結果決定保留還是放棄,整個過程完全無需人工干預。

5分鐘是真正的精妙之處。這個設計有兩個好處:首先,無論AI代理如何修改模型大小、批次大小或架構,實驗結果都可以直接比較。其次,這意味著自主研究將在固定的時間預算內,為你的特定平台找到最優的模型。其缺點是,你的運行結果將無法與其他人在不同計算平台上得到的結果進行比較

具體來說是這樣的:

他將這個項目打包成一個獨立的迷你程式碼庫,方便大家上手體驗。

這個項目本質上是nanochat大模型訓練核心的精簡版,被壓縮成一個約630行的單檔案程式碼,並且能在單GPU上運行。

整個程式碼庫被刻意設計得非常小巧,核心只有三個檔案:

  1. prepare.py - 這個檔案包含固定的常數、一次性的資料準備工作(如下載訓練資料、訓練BPE分詞器)以及執行階段工具(如資料載入器和評估)。此檔案不會被修改。
  2. train.py - 這是AI Agent唯一會編輯的檔案。它包含了完整的GPT模型、最佳化器(Muon + AdamW)和訓練循環。從模型架構、超參數、最佳化器到批次大小,一切都可以被AI修改。
  3. program.md - 這是為單個AI代理準備的基線指令。人類研究員通過編輯和迭代這個檔案來指導AI。

項目的核心機制是,無論你的計算平台性能如何,單次訓練的執行階段長都固定為5分鐘(不包括啟動和編譯時間)。評估指標是val_bpb,即每字節的驗證位元數,這個指標越低越好。由於它與詞彙表大小無關,因此可以公平地比較不同模型架構的變更效果。

項目的核心工作流分為兩個部分:

  • 人類負責迭代提示詞,即.md檔案。
  • AI智能體則負責迭代訓練程式碼,即.py檔案。

Karpathy指出,該項目的目標是設計出能夠無限期、無需任何人工干預,並以最快速度取得研究進展的AI智能體。

在實際運行中,智能體在一個Git的特性分支上自主循環工作。每一次完整的模型訓練運行恰好持續5分鐘,在Karpathy分享的圖片中,每一個點都代表一次這樣的訓練。

當智能體發現能讓驗證損失更低的更好配置時,比如調整神經網路架構、最佳化器或各項超參數,它就會將這些改進以Git提交的形式累積到訓練指令碼中。

通過這種方式,研究人員可以比較不同提示詞或不同智能體帶來的研究進展速度。

Karpathy本人形容這個項目是程式碼、科幻和一絲瘋狂的結合體。

他還透露,自己仍在nanochat的生產環境中運行一個規模更大的版本。這個加強版智能體正在一個更大的模型上工作,並部署在8塊H100 GPU上。Karpathy表示他會一直讓這個系統持續運行下去。

除了PyTorch和少數幾個小包外,沒有其他外部依賴。沒有分佈式訓練,沒有複雜的配置檔案。一塊GPU,一個檔案,一個指標,構成了整個實驗環境。

項目地址:
https://github.com/karpathy/autoresearch

快速上手指南

環境要求:一塊輝達GPU(已在H100上測試),Python 3.10+,以及uv包管理器。

第一步:安裝uv項目管理器(如果尚未安裝)

curl -LsSf https://astral.sh/uv/install.sh | sh

第二步:安裝依賴

uv sync

第三步:下載資料並訓練分詞器(一次性操作,約2分鐘)

uv run prepare.py

第四步:手動運行一次訓練實驗(約5分鐘)

uv run train.py

如果以上命令都能正常工作,說明你的環境已經準備就緒,可以進入自主研究模式了。

如何運行AI代理

你只需在這個程式碼倉庫中啟動你選擇的AI代理,例如Claude或Codex(並停用所有權限),然後可以發出類似這樣的指令:

你好,請看一下program.md檔案,我們來啟動一個新的實驗吧!先從設定開始。

這個program.md檔案本質上是一種超輕量級的技能指令。

平台支援

目前,該項目程式碼要求使用單塊輝達GPU。雖然原則上可以支援CPU、MPS等其他平台,但這會增加程式碼的複雜性。Karpathy表示,他目前不確定是否會親自進行這方面的擴展。

這個項目主要是一個概念演示,未來會提供多少支援還是未知數。如果需要更廣泛的平台支援,使用者或其AI代理可以參考父項目nanochat,那裡展示了各種解決方案,如Flash Attention 3的備用核心實現、通用裝置支援和自動檢測等。 (AI寒武紀)