想从零开始,复刻一个你自己的 ChatGPT 吗?Andrej Karpathy 的 nanochat 项目来了!
AI 大神 Andrej Karpathy 再度带来惊喜,发布了名为 nanochat 的全新项目。他将其描述为自己写过的最放飞自我的代码库,它将作为其备受期待的 LLM 课程的一部分。 nanochat 的核心理念是 极简与一站式。它将训练一个类 ChatGPT 模型所需的全流程——从数据处理、预训练、对齐微调,到最终的推理部署与 WebUI——整合在了一个仅有 8300 行的清晰代码库中。 整个过程被设计得极其简单:你只需一台云端 GPU 服务器,运行一个脚本,最快在 4 小时 内,就能与你亲手训练出的 AI 模型在专属的网页上进行对话。 这个 AI 全家桶 包含哪些核心组件? Karpathy 为你打包了构建 ChatGPT 的完整工作流: 高效分词器 (Tokenizer): 使用 Rust 语言从零开始实现,保证高性能。 模型预训练 (Pre-training): 在经典的 FineWeb 数据集上进行,并提供 CORE 等多维度评估指标。 对齐微调 (Fine-tuning): 教授模型如何像 AI 助手一样对话、完成选择题,甚至学习使用计算器等外部工具。评测基准覆盖常识推理 (ARC)、知识问答 (MMLU)、数学 (GSM8K) 和代码生成 (HumanEval)。 强化学习 (RL): (可选) 可在 GSM8K 数学任务上,使用 GRPO 算法进行强化学习,进一步提升模型能力。 推理与部署 (Inference & Deployment): 提供一个包含 KV cache 优化的高效推理引擎,支持命令行 (CLI) 和一个精致的 ChatGPT 风格 WebUI 进行交互,并内置了用于工具调用的轻量级 Python 沙箱。 ...