发布时间:2026/6/15 11:52:24
Stanford CS336:从零构建语言模型,6周带你写出自己的 LLM
Stanford CS336从零构建语言模型6周带你写出自己的 LLM2026 年春季斯坦福大学开设了一门全新的课程CS336: Language Modeling from Scratch由 Tatsunori Hashimoto 和 Percy Liang 联合授课。这门课的理念很直接——像操作系统课程让学生写一个完整 OS 一样CS336 要求学生从零构建一个完整的语言模型包括数据收集、模型架构、训练到部署的全流程。课程在 Hacker News 上获得了 340 分的热度社区反响强烈。本文带你深入了解这门课的设计思路和核心内容。课程定位把黑盒拆开大多数深度学习课程教学生如何使用预训练模型调参、微调、做推理。CS336 反过来——它假设你什么都不要从裸数据开始造轮子。这不是一门讲概念的课。课程页面明确标注了前置要求熟练掌握 Python代码量远超其他 AI 课熟悉 PyTorch 和深度学习系统优化内存层次结构、GPU 算子线性代数、概率论、机器学习基础而且这是5 学分的课。言下之意如果你的日常还有其他课要上恐怕时间不够。Assignment 1从零实现 Transformer第一个作业就把门槛拉满了Tokenizer实现 BPEByte Pair Encoding分词器处理原始文本数据模型架构实现完整的 TransformerMulti-Head Attention、Feed-Forward、LayerNorm、Positional Encoding优化器实现 AdamW 优化器训练循环在小规模数据集上完成训练这个阶段的目标是让学生理解 Transformer 的每一个组件如何工作。没有 HuggingFace没有 PyTorch Lightning没有现成的 Trainer——你写的就是框架。# 学生需要自己实现的 Attention简化示例classMultiHeadAttention(nn.Module):def__init__(self,d_model:int,n_heads:int):super().__init__()self.n_headsn_heads self.d_headd_model//n_heads self.w_qnn.Linear(d_model,d_model)self.w_knn.Linear(d_model,d_model)self.w_vnn.Linear(d_model,d_model)self.w_onn.Linear(d_model,d_model)defforward(self,x,maskNone):B,T,Cx.shape qself.w_q(x).view(B,T,self.n_heads,self.d_head).transpose(1,2)kself.w_k(x).view(B,T,self.n_heads,self.d_head).transpose(1,2)vself.w_v(x).view(B,T,self.n_heads,self.d_head).transpose(1,2)attnq k.transpose(-2,-1)/(self.d_head**0.5)ifmaskisnotNone:attnattn.masked_fill(mask0,float(-inf))attnF.softmax(attn,dim-1)out(attn v).transpose(1,2).contiguous().view(B,T,C)returnself.w_o(out)Assignment 2系统优化 — 自己写 FlashAttention第二个作业进入系统优化层面。在前一个作业的基础上Profiling用 PyTorch Profiler 分析和基准测试模型的每一层Triton FlashAttention2用 OpenAI Triton 语言自己实现 FlashAttention2 内核分布式训练实现支持多 GPU 并行训练的内存高效版本这是 CS336 的独特之处——大多数课程只讲怎么用模型但这门课让学生深入到 CUDA kernel 级别去理解 attention 的计算模式。# 学生用 Triton 实现的 FlashAttention2简化示意triton.jitdefflash_attn_fwd_kernel(q_ptr,k_ptr,v_ptr,o_ptr,stride_qh,stride_qt,stride_qd,stride_kh,stride_kt,stride_kd,stride_vh,stride_vt,stride_vd,stride_oh,stride_ot,stride_od,T,D:tl.constexpr,BLOCK_T:tl.constexpr,BLOCK_D:tl.constexpr,):# Triton kernel 实现 FlashAttention 的分块计算# 通过 tiling 避免完整注意力矩阵的内存开销...Assignment 3Scaling — 理解规模效应第三个作业聚焦于理解和验证 LLM 的 Scaling 规律在不同规模的模型Small / Medium / Large上训练验证 Chinchilla 法则在给定计算预算下模型参数和训练 token 的最优比例分析和可视化 Scaling 曲线这个阶段的实验直接验证了 Kaplan et al. (2020) 和 Hoffmann et al. (2022) 的 Scaling Law 论文。为什么这门课值得关注1. 填补了会用和会造之间的空白目前大部分开发者处于两个极端要么只会from transformers import AutoModel要么是工业界做预训练的大厂研究员。CS336 瞄准的是中间地带——让你理解 LLM 的内部机制达到可以自己训练小模型、调优训练流程的水平。2. 系统 ML 的交叉训练这不是一门纯 ML 课。它要求你写 Triton kernel、做分布式训练、分析和优化内存带宽。这种 ML Systems 的交叉能力正是目前 AI 人才市场上最稀缺的。3. 对抗框架黑盒化随着 HuggingFace 等工具链的成熟进入 AI 领域的门槛降低了但开发者也越来越不理解底层原理。CS336 的设计理念是知其所以然——即使最终你还是用 HuggingFace 和 PyTorch但你知道每一行代码背后对应的是什么。对中国开发者的启示CS336 的课程资源在 GitHub 上公开github.com/stanford-cs336这也是它上 Hacker News 榜首的原因之一。对于无法选修这门课的中国开发者来说完全可以按照课程大纲自学自学路线图阶段内容建议时间Phase 1实现 BPE Tokenizer DataLoader1 周Phase 2从零实现 TransformerAttention FFN LayerNorm2 周Phase 3训练循环 小规模验证1 周Phase 4用 Triton 实现 FlashAttention2 周Phase 5分布式训练DDP/FSDP1 周Phase 6Scaling Law 实验分析1 周如果你正在做 AI 应用开发不必完全复刻全部作业但至少理解 Transformer 的内部实现原理——这能在你调试模型行为、选择合适的预训练模型、甚至设计新的模型架构时提供底层直觉。总结CS336 不是一门轻松的课。它要求你写大量代码、理解 GPU 架构、分析系统性能。但正是这种从零开始的硬核方式才能培养出真正理解语言模型的工程师和研究者。课程链接cs336.stanford.edu | GitHub: github.com/stanford-cs336我正在做的在线工具站 zidongai.com.cn 也在持续关注 AI 工程化的最新进展欢迎交流。

相关新闻

基于Arduino的双控制器电子钢琴制作:从方波合成到系统设计
2026/6/13 21:34:45

基于Arduino的双控制器电子钢琴制作:从方波合成到系统设计

1. 项目概述与核心思路想用几百块钱的成本,自己动手做一台能真正弹奏的电子钢琴吗?这听起来像是音乐爱好者和硬件极客才会碰的领域,但事实上,只要你有基本的动手能力和一点点编程概念,用Arduino来实现它,整…

阅读更多
STM32嵌入式系统接入PS/2键盘:协议解析与状态机实现
2026/6/13 8:42:03

STM32嵌入式系统接入PS/2键盘:协议解析与状态机实现

1. 项目概述与核心思路在嵌入式项目里,尤其是那些需要复杂人机交互的玩意儿,按键输入是个绕不开的话题。用一两个按键,直接接在GPIO上,简单省事。但当你需要几十个甚至上百个按键时——比如想做个自定义的控制面板、复古的游戏机、…

阅读更多
原神帧率解锁终极指南:5分钟突破60FPS限制实现高刷新率游戏体验
2026/6/13 1:50:49

原神帧率解锁终极指南:5分钟突破60FPS限制实现高刷新率游戏体验

原神帧率解锁终极指南:5分钟突破60FPS限制实现高刷新率游戏体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 对于追求极致流畅体验的《原神》玩家来说,60帧的限…

阅读更多
找天气预报背景音乐?这10个优质素材平台值得收藏
2026/6/15 10:57:57

找天气预报背景音乐?这10个优质素材平台值得收藏

根据《2025年中国音频素材行业应用白皮书》的数据显示,目前短视频、自媒体栏目创作领域,对各类细分背景音乐的搜索请求年增长超过38%,其中天气预报类BGM因为应用场景广泛,从传统电视栏目到自媒体本地天气预报内容、文旅资讯播报都…

阅读更多
别再被Cartographer的配置劝退了!手把手教你搞定雷达+IMU的lua与launch文件(附镭神LS-N10实例)
2026/6/15 10:57:57

别再被Cartographer的配置劝退了!手把手教你搞定雷达+IMU的lua与launch文件(附镭神LS-N10实例)

Cartographer多传感器配置实战:从参数解析到镭神LS-N10适配指南当激光雷达与IMU的数据流在Cartographer中交汇时,那些看似简单的lua配置文件参数突然变成了令人头疼的迷宫。我曾花费三天时间追踪一个由tracking_frame错误引起的建图漂移问题,…

阅读更多
避坑指南:KUKA机械臂Ethernet KRL通讯调试,从smartHMI看数据到解决连接超时
2026/6/15 10:57:57

避坑指南:KUKA机械臂Ethernet KRL通讯调试,从smartHMI看数据到解决连接超时

KUKA机械臂Ethernet KRL通讯实战排障手册:从smartHMI诊断到网络优化当KUKA机械臂的Ethernet KRL通讯突然中断,生产线上的警报声响起时,大多数工程师的第一反应往往是重启设备。但真正经历过现场的人都知道,这种简单粗暴的方式可能…

阅读更多
Paperxie 分层式毕业论文智能写作,拆解当代毕业生论文攻坚全新解法
2026/6/15 10:57:57

Paperxie 分层式毕业论文智能写作,拆解当代毕业生论文攻坚全新解法

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/课程论文毕业论文 - PaperXie智能写作PaperXieAi论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Aigc查重、降重报告、文献资料。只需一个标题,从开…

阅读更多
Parsec VDD虚拟显示器终极指南:架构深度解析与专业实践
2026/6/15 10:57:57

Parsec VDD虚拟显示器终极指南:架构深度解析与专业实践

Parsec VDD虚拟显示器终极指南:架构深度解析与专业实践 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd Parsec VDD(Virtual Display Driver)是…

阅读更多
从业五年拆解行业乱象:别再被 “伪保姆式服务” 忽悠,真正的定制化技术服务长这样
2026/6/15 9:57:56

从业五年拆解行业乱象:别再被 “伪保姆式服务” 忽悠,真正的定制化技术服务长这样

深耕技术服务行业五年,我对接、测评过数百家服务商。和圈内同行交流时,大家吐槽最多的,就是市面上满天飞的保姆式服务。不少服务商打着「全程陪伴、一对一服务」的旗号引流,但剥开营销包装后,本质仍是流水线标准化作业…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/14 0:57:30

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/14 0:57:30

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/14 0:57:30

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
TEKLauncher:终极ARK模组管理与性能优化解决方案
2026/6/15 0:57:55

TEKLauncher:终极ARK模组管理与性能优化解决方案

TEKLauncher:终极ARK模组管理与性能优化解决方案 【免费下载链接】TEKLauncher Launcher for ARK: Survival Evolved 项目地址: https://gitcode.com/gh_mirrors/te/TEKLauncher 你是否为ARK: Survival Evolved复杂的模组管理和服务器连接问题而烦恼&#xf…

阅读更多
如何3分钟免费解锁Cursor Pro:终极AI编程助手破解方案
2026/6/15 0:57:55

如何3分钟免费解锁Cursor Pro:终极AI编程助手破解方案

如何3分钟免费解锁Cursor Pro:终极AI编程助手破解方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…

阅读更多
21.2 mcp-server-chart 图表化作用
2026/6/15 0:57:55

21.2 mcp-server-chart 图表化作用

如何检查 langchain_mcp_adapters 版本和 antv/mcp-server-chart 安装 1. 检查 langchain_mcp_adapters 版本 在终端(确保已激活虚拟环境)中运行: pip show langchain_mcp_adapters输出示例: Name: langchain-mcp-adapters Ve…

阅读更多
GIT修改用户名
2026/6/14 11:53:59

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/15 2:21:34

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/14 15:49:58

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多