Karpathy 開源 autoresearch:讓 AI 趁人類睡覺時通宵做實驗
Andrej Karpathy 開源了僅 630 行的指令碼 autoresearch。它讓 AI 智慧體自主提出假設、修改程式碼並用固定算力跑測試,僅保留有提升的改動。在兩天執行 700 次修改後,GPT-2 訓練效率提升了 11%,甚至發現了人類漏掉的架構細節。
autoresearch 是 Andrej Karpathy 開源的一個自動化研究指令碼,核心功能很簡單:讓 AI 智慧體代替人類,在夜間自動跑完提出假設、修改程式碼、驗證效果的全套實驗流程。
整個專案只有 630 行程式碼,基於企業友好的 MIT 許可證開源在 GitHub 上。它不是一個龐大複雜的平臺,而是一個可以直接讀懂並執行的小工具,目標是不需要人類介入,讓智慧體自主推動研究進展。
它能做什麼
你可以把 autoresearch 想像成一個不需要休息的初級演算法研究員。給它一份訓練指令碼和一個固定的算力預算,剩下的事情就全交由它自己折騰。
在 Karpathy 自己的測試中,他給智慧體分配的算力上限通常是單次 GPU 執行 5 分鐘。智慧體在一個通宵內跑完了 126 次實驗,把驗證損失從 0.9979 降到了 0.9697。
隨後他讓智慧體對一個 12 層的模型連續調優了兩天。兩天時間裡,智慧體自動測試了大約 700 次程式碼修改,篩選出約 20 個可以疊加的有效改進。
這些改動直接遷移到了更大的模型上。在 GPT-2 基準測試中,訓練耗時從 2.02 小時縮短到 1.80 小時,訓練效率整整提升了 11%。Karpathy 提到,智慧體甚至找出了他在過去二十年裡手動調優忽略掉的注意力縮放和正則化細節。
它是怎麼跑起來的
autoresearch 的核心邏輯是一個極簡的自主最佳化迴圈,說白了就是把科學研究方法變成了程式碼層面的自動化測試。
第一步,智慧體閱讀現有的訓練原始碼;第二步,它自己提出一個改進假設,比如調整學習率或改變網路深度;第三步,它動手修改程式碼並啟動一次限時訓練;第四步,評估驗證集損失。
如果以位元組位元數衡量的驗證損失變好了,智慧體就保留這部分修改;如果變差了,它就直接回滾程式碼,換個想法繼續嘗試。整個過程完全在本地迴圈執行,不需要人工確認。
因為只有幾百行程式碼,你只需要有基礎的 Python 環境、支援模型訓練的硬體以及呼叫大模型的 API 介面,就能在本地把它跑起來。目前程式碼已經完整公開在 GitHub 上。
社群已經在怎麼玩
專案開源後很快引來了大量二次開發,很多開發者開始把這個單機迴圈往外延伸。
Hyperspace AI 的執行長 Varun Mathur 把這個迴圈搬到了點對點網路上,把多臺裝置連成了分散式研究叢集。35 個智慧體在一個晚上無人值守運行了 333 次實驗。
有意思的是,算力限制反而逼出了演算法策略。跑在 H100 上的智慧體傾向於暴力搜尋激進的學習率,而只能用筆記本 CPU 跑的智慧體因為算力慢,轉而探索權重初始化和歸一化方案。它們通過網路協議即時共享成功經驗,僅用了 17 小時就自主重新發現了 RMSNorm 等經典技術。
還有人嘗試把這個邏輯套進營銷領域。比如廣告代理機構 Single Grain 的創始人 Eric Siu 提出,可以把訓練程式碼換成落地頁或郵件文案,讓智慧體自動修改變數並根據回覆率篩選最優解,一年能跑幾萬次微調實驗。
為什麼重要
我們認為 autoresearch 最聰明的地方,在於它沒有去做一個沉重的自動化框架,而是用 630 行程式碼把調參變成了純粹的演化篩選。對個人開發者和中小研究團隊來說,它幾乎零門檻地提供了一套通宵摸索 baseline 的辦法,非常值得現在拉下來試一試。
但它的侷限也很明顯。這種迴圈完全依賴損失函式作為單一指引,只能做區域性漸進式最佳化,很難憑空產生顛覆性的架構創新;而且一旦目標指標設定有偏差,智慧體會極快地刷出看似有效實則過擬合的程式碼。
看起來,它更像是一個極其高效的程式碼打磨器。對於日常要把大量時間花在改超引數、調正則化的工程師來說,把這部分髒活累活扔給機器,至少能把白天的時間省出來去想真正的大問題。
來源 (1)
- venturebeat.com(在新分頁開啟)原文venturebeat.com