首页
学习
活动
专区
圈层
工具
发布

Andrej Karpathy 的 nanochat 项目来了!从零开始,复刻一个你自己的 ChatGPT

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 沙箱。

评估指标:训练结束后,将模型的各项关键指标可视化呈现。

在以下板块展示了每个步骤的所有细节。

你最关心的两个问题,Karpathy 亲自解答:

问:我能用 nanochat 微调,让模型学会我的写作风格吗?

答:简单来说:不建议。Karpathy 将 nanochat 训练出的小模型比作一个“幼儿园小朋友”,它尚不具备顶级大模型那样的深层智能。如果用个人数据进行微调,它最多只能“鹦鹉学舌”般地模仿表面风格,而生成的内容逻辑和质量会很糟糕。

正确路径是:选择像 Llama 3 这样的顶级开源大模型进行微调,或者利用 NotebookLM 这类工具,通过检索增强生成 (RAG) 的方式,让 AI 参考你的内容进行创作。

问:这么优秀的代码,是人类手打还是 AI 辅助的?

答:纯手工编写!Karpathy 坦言,他曾尝试使用 AI 编程助手,但完全无法跟上他独特的编程思路和代码风格,因此整个项目都是他亲手完成的。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OoEyjk9m-HMxek5XJ0jgwESQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

领券