跳过主要内容
广告OpenFree logo推广你的产品触达更多潜在用户,助力产品增长与收益提升。投放广告
Favicon of nanochat

nanochat

Free 等级项目

nanochat 是一个极简、可修改的 LLM 训练实验框架,覆盖分词、预训练、微调、评估和推理,可在单张 GPU 节点上端到端运行,并被称为“100 美元能买到的最好的 ChatGPT”。

访问 karpathy/nanochat

项目简介

nanochat 是一个用于训练 LLM 的实验框架,设计为在单张 GPU 节点上运行,代码保持极简且便于修改,覆盖分词、预训练、微调、评估和推理。它通过单一的深度设置控制模型规模,并自动推导其他超参数,使训练保持计算最优。

核心功能

  • 覆盖分词、预训练、微调、评估和推理的端到端 LLM 流程;通过单一复杂度调节项 --depth 设置 Transformer 深度,并自动计算宽度、注意力头数、学习率调整、训练范围和权重衰减;参考 speedrun 在 8XH100 GPU 节点上约 1.5 小时、约 48 美元训练出 GPT-2 能力模型,在 spot 实例上成本可接近 15 美元;time-to-GPT-2 排行榜按 DCLM CORE 分数跟踪墙钟训练时间,runs/speedrun.sh 是参考训练路径;提供 CLI 聊天界面与训练后的模型对话;精度通过全局

适用场景

  • 在单张 8XH100 GPU 节点上训练 GPT-2 能力模型,并通过 CLI 与其对话;用 12 层 GPT-1 规模的模型运行短时间预训练实验,以快速测试代码改动;研究缩放规律,并通过改变深度训练计算最优的 miniseries 模型;运行面向 CPU 或 Apple Silicon/MPS 的小型示例,此时模型被大幅缩减且结果较弱。

快速开始

  • 使用 uv 安装依赖:CUDA 环境运行 uv sync --extra gpu,仅 CPU/MPS 环境运行 uv sync --extra cpu,然后执行 source .venv/bin/activate 激活虚拟环境;在 8XH100 GPU 节点上运行 bash runs/speedrun.sh 启动参考训练流程,运行约 1.5 小时;训练完成后使用 python -m scripts.chat_cli 通过 CLI 与模型对话;开发依赖可用 uv sync --extra gpu --group dev 安装。

部署与要求

  • 目标环境是单张 GPU 节点,参考 speedrun 面向 8XH100 GPU 节点;代码也可在 8XA100 GPU 节点上运行但稍慢,省略 torchrun 后可在单张 GPU 上运行,但耗时约增加八倍;显存低于 80GB 的 GPU 需要调整超参数,例如降低 --device-batch-size,以避免 OOM 或显存耗尽;CPU 和 Apple Silicon/MPS 通过小型示例脚本运行,但不会产生强结果;依赖由 uv 管理,可选择 gpu 或 cpu extra。

采用前须知

  • 许可证:MIT。在使用、修改或分发项目前,请确认其具体条款。

评论

登录 后发表评论。

更多类似 nanochat 的项目

Favicon of kimi-k3-in-c

kimi-k3-in-c

Free 等级项目星标数: 10K

用 C99 在单 CPU、8 GB 内存上运行 2.78 万亿参数 Kimi K3

语言模型

通过从磁盘流式读取模型而非全部载入内存,kimi-k3-in-c 可在单 CPU、8.24 GB 峰值内存下运行 2.78 万亿参数的 Kimi K3。项目使用可移植 C99,不依赖 BLAS、框架或 GPU。

Favicon of Heretic

Heretic

Free 等级项目星标数: 38.2K

无需训练的语言模型修改工具

语言模型

Heretic 是一款无需训练即可修改语言模型的工具。它基于对比示例提示与匹配评分器,用数学方法引导模型行为,可移除审查、抑制拒答,并减少废话或迎合倾向。

Favicon of Gemini-API

Gemini-API

Free 等级项目星标数: 3.6K

面向 Google Gemini 网页版的异步 Python 封装

语言模型

这是一个面向 Google Gemini 网页版(原 Bard)的逆向工程异步 Python 封装,提供文本、图像、视频、音频、多轮对话、流式输出与深度研究能力。