The best ChatGPT that $100 can buy.
10 月 13 日,AI 領域大神 AndrejKarpathy 發佈了自己的最新開源項目。截至當前,GitHub 項目上已經達到 29.1KStar。
nanochat 是什麼
nanochat 是 AI 領域專家 AndrejKarpathy 發佈的開源項目,該項目包含從數據準備、預訓練、中期訓練、監督微調(SFT)、強化學習(RL)到推理部署的完整流程,約8000 行代碼,其以極低成本和高效流程訓練小型語言模型,實現類似ChatGPT 的對話功能。
AndrejKarpathy 表示,像 nanochat 這樣的模型訓練成本大概在 100 到 1000 美元之間,而 100 美元級別的模型的參數量只有GPT-3 的千分之一,只需使用 8張H100GPU 訓練不到 4 小時,就可以訓練出一個能夠寫故事/詩歌、回答簡單問題的模型。
如果將預算增加到1000 美元,只需要訓練約41.6 小時就能使模型性顯著提升,能解決簡單數學/代碼問題並參與多項選擇題測試。
GitHub 鏈接:
https://github.com/karpathy/nanochat
Lab4AI 鏈接:
<u>https://www.lab4ai.cn/project/detail?utm_source=jssq_sf&id=f1...</u>
| nanochat 的主要功能
雖然代碼量只有8000 行,但是它也實現了以下功能:
全新Rust 分詞器(Tokenizer)訓練:使用Rust 語言實現訓練分詞器;
在FineWeb 數據集上預訓練:在FineWeb 數據集上對 Transformer 架構的大語言模型進行預訓練,並在多個指標上評估 CORE 分數;
中期訓練:在SmolTalk 用户-助手對話數據集、多項選擇題數據集、工具使用數據集上進行中期訓練;
監督微調(SFT):在世界知識多項選擇題數據集(ARC-E/C、MMLU)、數學數據集(GSM8K)、代碼數據集(HumanEval)上進行監督微調;
強化學習(RL)優化:使用“GRPO”算法在 GSM8K 數據集上對模型進行強化學習微調;
高效推理引擎:實現高效模型推理,支持KV 緩存、簡易預填充/解碼流程、工具使用(輕量級沙箱環境中的 Python 解釋器),並通過 CLI 或類 ChatGPT 的 WebUI 與模型交互;
自動訓練總結:生成單一的Markdown 格式報告卡,總結整個訓練推理流程,並以“遊戲化”形式展示結果。
一鍵復現
過去提到LLM 訓練,人們腦海裏浮現的是動輒上百萬美元的算力成本、龐大的研發團隊和海量的數據儲備,這讓個人開發者和中小型團隊望而卻步;
而nanochat 不僅將成本壓縮至100 美元,大模型實驗室Lab4AI 更通過“一鍵體驗”模式,讓這個幾乎人人可承擔的價格真正轉化為“人人可操作”的嘗試,不再需要糾結環境配置、流程調試,普通人跟着指引就能親手搭建屬於自己的簡易版 ChatGPT,這種“低門檻+ 易操作”的組合,也恰好解決了學習者“紙上談兵”的痛點——以往看過無數教程卻仍不知全流程如何落地,
如今大模型實驗室Lab4AI 推出的 nanochat 體驗項目“100 美元實現自己的 ChatGPT”。
提供從數據準備到推理服務的“一鍵式”全流程工具鏈,學習者不用再為環境搭建、代碼調試耗費精力,只需跟着引導逐步操作,就能直觀感受模型訓練的每一個環節,讓“無從下手”變成“步步有跡可循”。
Step1:登錄 Lab4AI.cn。
在“項目復現”中找到“AI 大神 Karpathy 開源 GitHub 高分項目 NanoChat-100 美元手搓 ChatGPT”。
項目內已經提供完整的復現NanoChat 的全流程代碼和環境,您只需配置 8 卡,即可手搓 ChatGPT。
Step2:環境激活。
系統內已經預置可用的conda 虛擬環境,此環境可滿足後續步驟的需要。您只需執行下列腳本安裝 Rust/Cargo。
Step3:模型訓練。
本次復現中,我們將訓練分為pretrain、midtrain 和 SFT 三個階段。pretrain 階段約需要 2.5-3 小時,midtrain 階段約耗時 30 分鐘內。
下方為訓練時各卡的工作狀態。從圖中看,8 塊 NVIDIAH10080GB 顯卡已經全部運行中,幾乎吃滿了所有的 GPU 算力。
您可以通過監控這些指標,親眼看到模型是如何被“訓練”出來的。
Step4:模型評估。
每個訓練階段有相應的評估程序輸出結構化評估結果。
以下是本次實踐的pretrain 後的評估結果,從結果得知:模型初步掌握了世界運作的基本邏輯。PIQA(物理互動問答):61.26%,表明模型已經初步掌握了世界運作的基本邏輯。COPA(因果推理):54.00%,表明模型開始具備初步的因果判斷能力。Winograd(指代消解):56.04%,表明模型能處理一些簡單的句法歧義。
當面對複雜推理的閲讀理解任務能力很弱。ARCEasy(基礎科學問答):45.50%,表明模型掌握了一些基礎的科學知識,但還不夠牢固。ARCChallenge(挑戰科學問答):26.79%,表明模型缺乏深度的、學科性的知識。
面對知識密集型與複雜邏輯任務時,模型表現出了短板。
Jeopardy!(知識問答):0.90%,
SQuAD(閲讀理解):1.59%,
CoQA(對話式問答):4.31%,
OpenBookQA(開卷問答):26.40%。
Step5:部署推理。
訓練完成的模型支持如下兩種推理方式:通過命令行的方式進行推理;通過WebUI 的方式進行推理。
(1)通過命令行對話,執行後即可在下方看到推理內容。
(2)通過WebUI 執行對話。執行代碼後,鼠標滑過右上角的【對外服務】,將鏈接複製到瀏覽器,打開後即可對話。
Lab4AI 支撐從研究到落地
Lab4AI 提供除了一鍵復現之外,還提供更多的價值:
1. 如果你是科研黨
每日更新Arxiv 上的論文,支持翻譯、導讀、分析,幫你快速跟進前沿研究;還能一鍵復現其他大模型;若你有自己的數據集,能直接在平台上進行代碼微調,平台還支持使用 LLaMA-Factory 進行 WebUI 微調大模型,甚至對接投資孵化資源,把科研創意變成落地成果。
2.如果你是學習者
如果你想掌握大模型相關技能,Lab4AI 的優勢更明顯:Lab4AI 提供多種在線課程,更有LLaMA Factory 官方合作課程,讓您理論學習和代碼實戰同時進行。LLaMA Factory 官方合作課程課程聚焦於當下最受歡迎的LLaMA Factory 框架,帶您從理論到實踐,一站式掌握大模型定製化的核心技能,課程還送 300 元算力、完課證書。