
nanochat
nanochat 是一个开源的、全栈的 ChatGPT 类语言模型的实现,只需在 8XH100 GPU 节点上花费 100 美元在 4 小时内进行训练,提供了一个干净、最小且可破解的代码库,其中包含从分词到部署的完整管道。
https://github.com/karpathy/nanochat?ref=producthunt&utm_source=aipure

产品信息
更新于:2025年10月17日
什么是 nanochat
nanochat 由前特斯拉 AI 总监兼 OpenAI 联合创始人 Andrej Karpathy 创建,是一个建立在他早期 nanoGPT 工作基础上的综合项目。它被设计为一个完整的端到端训练和推理管道,用于创建 ChatGPT 风格的语言模型,封装在大约 8,000 行干净的代码中。该项目是 Karpathy 在 Eureka Labs 举办的 LLM101n 课程的顶点,旨在使大型语言模型的开发对于研究人员、学生和开发人员来说更易于访问和更具教育意义。
nanochat 的主要功能
Nanochat是由Andrej Karpathy创建的类ChatGPT模型的完整堆栈开源实现,只需在8XH100 GPU节点上花费100美元,用4个小时即可完成训练。它提供了一个完整的流程,包括分词、预训练、微调、评估、推理和Web服务,所有这些都在一个干净、最简化的代码库中,大约8,000行代码。该项目旨在通过使其可访问和易于理解,同时保持效率和功能,来实现LLM开发的民主化。
端到端训练流程: 从分词到Web服务的完整实现,所有组件都集成到一个可以通过简单脚本运行的单一代码库中
经济高效的训练: 只需花费100美元的计算时间(在8XH100 GPU上运行4小时)即可实现基本的类ChatGPT功能,使其可供个人研究人员和小型团队使用
最少的依赖项: 干净、可破解的代码库,外部依赖项最少,易于理解和修改
可扩展的架构: 支持使用不同的计算预算训练更大的模型,从100美元的基础模型到1000美元的更强大的版本
nanochat 的使用场景
教育工具: 通过LLM101n课程,作为学生和研究人员学习LLM开发的实用学习资源
研究平台: 为AI研究人员提供了一个基础,用于实验和改进LLM架构和训练方法
原型开发: 能够以最小的投资快速开发和测试用于特定应用的定制聊天机器人
优点
对于入门级LLM开发来说,高度可访问且经济高效
干净、可读的代码库,易于理解和修改
具有最少依赖项的完整端到端实现
缺点
与大型商业模型相比,功能有限
需要特定的硬件设置(H100 GPU)才能获得最佳性能
尚未完全优化或调整以获得最佳性能
如何使用 nanochat
设置计算环境: 从云提供商(例如 Lambda GPU Cloud)启动一个新的 8XH100 GPU 节点。这将花费大约 24 美元/小时。
克隆存储库: 运行 'git clone [email protected]:karpathy/nanochat.git' 和 'cd nanochat' 以获取代码并进入项目目录
运行 speedrun 脚本: 执行 'screen -L -Logfile speedrun.log -S speedrun bash speedrun.sh' 以开始训练。这将运行大约 4 个小时,并将输出记录到 speedrun.log
监控训练进度: 您可以在屏幕会话中观看进度,或者使用 'Ctrl-a d' 分离并使用 'tail speedrun.log' 查看进度
激活虚拟环境: 训练完成后,使用 'source .venv/bin/activate' 激活本地 uv 虚拟环境
启动 Web 界面: 运行 'python -m scripts.chat_web' 以启动类似 ChatGPT 的 Web 界面
访问界面: 访问显示的 URL,使用节点的公共 IP 地址,后跟端口号(例如 http://209.20.xxx.xxx:8000/)
查看模型性能: 检查项目目录中生成的 'report.md' 文件,以查看已训练模型的评估和指标
与模型互动: 使用 Web 界面与您训练的 LLM 互动 - 提问、请求故事/诗歌或测试其能力
nanochat 常见问题
Nanochat 是一个完整的堆栈实现,类似于 ChatGPT 的 LLM,它采用单一、干净、最小、可破解、依赖性轻的代码库。它旨在创建一个类似于 ChatGPT 的模型,计算成本约为 100 美元。