news 2026/5/21 18:49:00

【CS336导言】nanoGPT

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【CS336导言】nanoGPT

Andrej Karpathy 的 nanoGPT,本质上是:

一个“极简版 GPT 训练框架”。

项目目标非常直接:

用最少代码,教会你 GPT 到底怎么训练。

官方 GitHub:

nanoGPT Github


为什么 nanoGPT 很出名

因为以前很多 GPT 教程都有问题:

  • 太理论
  • 太抽象
  • 工业框架太复杂
  • 一堆 HuggingFace 黑盒

而 nanoGPT:

  • 只有几百行核心代码
  • 真能训练
  • 真能跑
  • 真能生成文本
  • 接近真实 GPT 架构

所以很多人说:

“这是理解 LLM 最好的入门工程。”


nanoGPT 核心特点

1. 极简

整个 GPT 核心:

  • model.py
  • train.py

基本就结束了。

不像工业代码:

configs/ trainer/ pipeline/ distributed/ kernel/

一堆东西。


2. 真正训练 GPT

不是玩具。

它可以:

  • 训练 Shakespeare
  • 训练中文语料
  • 训练小型代码模型
  • 多 GPU
  • bf16
  • compile
  • DDP

甚至能训练到:

几十亿 token

3. 非常接近现代 LLM

它包含:

  • causal attention
  • layernorm
  • residual
  • GELU
  • AdamW
  • weight tying
  • cosine lr schedule

也就是:

现代 GPT 的核心骨架。


nanoGPT 的整体结构

核心就几个文件:

文件作用
model.pyGPT 模型
train.py训练
sample.py推理生成
config/超参数

GPT 核心代码

最经典的是 attention:

att=(q @ k.transpose(-2,-1))*(1.0/math.sqrt(k.size(-1)))att=att.masked_fill(self.bias[:,:,:T,:T]==0,float('-inf'))att=F.softmax(att,dim=-1)y=att @ v

这里其实就是:

\mathrm{Attention}(Q,K,V)=\mathrm{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

这几行代码就是 GPT 灵魂。


它训练什么

Karpathy 最经典 demo:

Tiny Shakespeare

数据集只有几 MB。

比如:

To be, or not to be...

训练后:

KING: What say you, my lord?

模型已经会生成莎士比亚风格文本。


为什么这很重要

因为你会第一次真正理解:

GPT 不是“会思考”

而是:

“不断预测下一个 token”

比如:

I love

模型预测:

AI you coding

本质是概率。

损失函数:

L=-\sum_i y_i\log p_i

也就是 Cross Entropy。


nanoGPT 的学习价值

它最大的价值不是:

“训练一个厉害模型”。

而是:

看懂 GPT 每一层到底干了什么。

很多人:

  • 会调 API
  • 会 LangChain
  • 会 Agent

但:

不知道 attention 到底怎么算

nanoGPT 会把这个黑盒拆开。


nanoGPT 会让你理解什么


1. 为什么上下文长度贵

因为 attention:

O(n²)

上下文翻倍:

显存 ≈ 4倍

2. 为什么训练那么烧钱

因为:

token × parameter × FLOPs

是天文级。


3. 为什么推理快不了

因为 autoregressive:

一个 token 一个 token 生成

不能完全并行。


4. 为什么 KV Cache 重要

否则每次都重新算 attention。


nanoGPT 和 CS336 的关系

其实:

CS336 很大程度上就是“nanoGPT 工业加强版”。

nanoGPT:

教学版 GPT

CS336:

OpenAI infra 模拟器

nanoGPT 适合谁

特别适合:

  • 想转 LLM infra
  • 想懂 Transformer
  • 想做 AI 投研
  • 想做本地模型
  • 想进大模型公司

最推荐的学习方式

顺序建议:

第一阶段

先看:

Andrej Karpathy 的:

  • “Let’s build GPT”
  • “Neural Networks: Zero to Hero”

YouTube 非常经典。


第二阶段

跑 nanoGPT:

python train.py config/train_shakespeare_char.py

第三阶段

自己改:

  • 中文 tokenizer
  • RoPE
  • FlashAttention
  • MoE

这时候成长最快。


nanoGPT 最大的意义

它把:

“AI 是魔法”

变成:

“AI 是矩阵乘法”

这是很多工程师真正入门 LLM 的转折点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 18:44:47

【专升本】2026专升本备考资料汇总|各学科资料+必刷2000题+网课+各省真题PDF+模拟卷

【专升本】2026专升本备考资料汇总|各学科资料必刷2000题网课各省真题PDF模拟卷关键词:专升本、2026专升本、专升本备考资料、专升本真题PDF、专升本模拟卷、专升本语文英语高数、各省专升本资料、专升本网课、夸克网盘分享 资料说明:内容由网…

作者头像 李华
网站建设 2026/5/21 18:42:37

Taotoken模型广场功能助力开发者高效选型与切换

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken模型广场功能助力开发者高效选型与切换 作为开发者,在集成大模型能力时,面对众多厂商和模型&#…

作者头像 李华
网站建设 2026/5/21 18:37:03

Pixelle-Video完整指南:5分钟掌握AI全自动短视频制作

Pixelle-Video完整指南:5分钟掌握AI全自动短视频制作 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video Pixelle-Video是一款革…

作者头像 李华
网站建设 2026/5/21 18:37:02

TrafficMonitor插件宝典:打造你的全能桌面监控中心

TrafficMonitor插件宝典:打造你的全能桌面监控中心 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 想要在桌面上实时监控股票行情、硬件状态、天气信息,却…

作者头像 李华
网站建设 2026/5/21 18:35:26

如何5步快速掌握LayoutLMv3:终极文档AI配置指南

如何5步快速掌握LayoutLMv3:终极文档AI配置指南 【免费下载链接】layoutlmv3-base 项目地址: https://ai.gitcode.com/hf_mirrors/microsoft/layoutlmv3-base 想象一下,你手头有一堆扫描的发票、合同和表格,需要从中提取关键信息。传…

作者头像 李华