【免费下载链接】cs336_note_and_hw
记录我在cs336学习时的笔记和作业
cs336_note_and_hw是斯坦福 CS336《Building Large Language Models》课程的完整学习资料仓库:它把 6 章的中文 PDF 笔记、全部编程作业代码(从零手写 Transformer 到 GRPO/DPO 强化学习对齐)和 Llama-3.1-8B 实验配置整理在一起,帮你用一条清晰的路线走通"构建大语言模型"。本文带你导览这套笔记体系,并给出一份可直接照做的 Llama-3.1-8B 实验环境搭建清单。
🗺️ 仓库总览:一套笔记 + 六章作业
仓库的组织方式非常简单,按"章节"切分,每章一个目录:
| 目录 | 内容 | 核心主题 |
|---|---|---|
| chapter1/ | hw1 ~ hw7 | Transformer 基础:Tokenizer、RoPE、注意力、训练循环 |
| chapter2/ | hw1 ~ hw2 | 系统优化:Flash Attention、Triton、数据并行 |
| chapter3/ | hw | Scaling Law 拟合实验 |
| chapter4/ | hw | 网页数据清洗与质量分类全流程 |
| chapter5/ | hw3 ~ hw7 | SFT、GRPO 等 LLM + RL |
| chapter5-supplement/ | hw1 ~ hw4 | 基于 Llama-3.1-8B 的评估、指令微调与 DPO |
| 笔记/ | 8 份 PDF | 各章节中文笔记 |
| 原始官方讲义/ | 6 份 PDF | 斯坦福 Assignment 1~5 官方讲义 |
整体学习路线就是:第 1 章打地基 → 第 2 章提速 → 第 3 章理解规模 → 第 4 章处理数据 → 第 5/6 章对齐模型。
📘 6 章 PDF 笔记:从哪个文件读起
所有笔记集中在 笔记/ 目录,作者按"章节完整版"的方式组织,建议按下面顺序阅读:
- 第一章完整版v1.pdf—— Tokenizer、Embedding、注意力等基础组件,对应难度最高的 Ch.1 作业;
- 第二章完整版v1.pdf—— Flash Attention、分布式训练与优化技巧;
- 第一二章合并完整版v1.pdf—— 前两章的合并版,适合一次性通读;
- 第三章.pdf—— Scaling Law:模型规模、数据量与性能的关系;
- 第四章v1草稿.pdf—— 数据清洗与质量过滤;
- 第五章笔记初版.pdf与第五章补充(DPO)笔记初版.pdf笔记初版.pdf)—— SFT、GRPO 与 DPO 对齐;
- 1-6完整版笔记初版(含目录)(纰漏较多).pdf(纰漏较多).pdf)—— 全 6 章合集(约 13MB),适合当完整手册翻查。
💡 官方原始讲义也一并收录在 原始官方讲义/ 下,如 cs336_spring2025_assignment1_basics.pdf 至 cs336_spring2025_assignment5_supplement_safety_rlhf.pdf,可与笔记对照着看。
🧩 第 1 章作业:手写 Transformer 的完整拼图
第 1 章是所有作业中分量最重的部分(作者标注难度 5 星),把 Transformer 拆成了一个个可独立实现的模块,目录结构如下:
chapter1/ ├── hw1/ pair_all_bpe_tokenzier.py # BPE 分词器 ├── hw2/ tokenizer_encode.py # Tokenizer 编码 ├── hw3/ softmax.py、rope.py、causal_multi_head_attention.py ... ├── hw4/ adamw.py、lr_cosine_shedule.py ... ├── hw5/ dataloader.py、checkpoint.py └── hw7/ final_train.py、final_inference.py # 完整训练/推理脚本其中 causal_multi_head_attention_with_rope.py 是核心中的核心——带 RoPE 的因果多头注意力。笔记中对这一块的推导非常直观,旋转矩阵的几何意义一图看懂:
训练侧的组件同样逐块实现:adamw.py(优化器)、lr_cosine_shedule.py(余弦学习率)、checkpoint.py(断点续训)。典型的余弦学习率调度曲线长这样——先预热爬升、再平滑衰减:
⚡ 第 2 章:Flash Attention 与并行优化
chapter2/ 聚焦训练性能。两个方向:
- hw1:用 Triton 手写 Flash Attention。triton_causal_forawrdflash_attention.py 是前向实现,仓库里还保留了 triton_backward_failure.py 与 triton_backward_success.py——这份"失败→成功"的对照记录对新手调试 Triton 反向传播非常有用;
- hw2:数据并行。hw2-2/one_node_train.py 演示单机 DDP 训练,hw2-3/ddp_overlap_bucketed.py 探索梯度桶化与通信重叠。
📈 第 3 章:Scaling Law 拟合实验
第 3 章难度最低(1 星),适合热身:isoflop.py 完成 IsoFLOPs 曲线拟合,数据来自 isoflops_curves.json。拟合效果一目了然:
🧹 第 4 章:网页数据清洗全流程
chapter4/hw/ 把数据工程做成了可复现的流水线:
- 过滤:filter_email.py、filter_ip.py、filter_phone_number.py 做规则清洗;
- 去重:exact_deduplication.py 与 minhash_deduplication/minhash_deduplication.py 两级去重;
- 质量分类:quality_classify/train_fasttext_classify.py 用 fasttext 训练分类器,turn_cc_to_fasttext_dataset.py 处理训练数据格式;
- 安全过滤:detect_nsfw.py、detect_toxic_speech.py。
作者的 quality_classify/README.md 还记录了与官方讲义思路不同的实现取舍,值得细读。
🎯 第 5 章与补充章:SFT、GRPO 到 DPO
chapter5/ 覆盖对齐训练主线:SFT_experiment.py(监督微调)、run_grpo_train_loop.py(GRPO 训练循环,chapter5/README.md 说明了当前实验状态)、配套的 MATH 数据集在 chapter5/MATH/。
而Llama-3.1-8B 实验全部集中在 chapter5-supplement/:
- hw1 评估基座模型:stage1_zero_shot.py 用 vLLM 跑 MMLU 零样本评估,支持
--model-path /path/to/Llama-3.1-8B指定本地模型; - hw2 指令微调:Instruct_fine_tuning.py,作者用 A800 训练约 20 小时(详见 README.md)。训练过程的两张关键曲线:


- hw4 DPO:train_dpo.py + dpo_loss.py 实现直接偏好优化,实验结果(767 步更新、最佳验证准确率 0.46)记录在 summary.json:

✅ Llama-3.1-8B 实验环境搭建清单
想复现补充章的实验,按 chapter5-supplement/README.md 的说明,只需 4 步:
- 申请模型访问权限:Llama-3.1-8B 属于 Meta 的许可模型,需要先向 Hugging Face 提交申请并等待通过;
- 配置 Token 权限:在 Hugging Face 账户的 Token 设置中确认该 Token 可访问此模型;
- 终端登录:执行
hf login,用上面的 Token 登录,之后即可正常下载模型权重; - 准备推理依赖:评估脚本基于 vLLM(
from vllm import LLM, SamplingParams),训练侧依赖 PyTorch + transformers;仓库要求 Python ≥ 3.12(见 pyproject.toml)。
⚠️ 注意:chapter5/README.md 提示 SFT 部分实验仍在修订(基于 V100 而非讲义要求的 H100),代码仅供参考,复现时请留意版本说明。
🧭 新手上手建议
- 先读后跑:每章先看 笔记/ 对应 PDF,再对照作业代码,最后动手跑 chapter1/hw7/final_train.py 这类整合脚本;
- 从低难度切入:第 3 章(1 星)适合建立信心,第 1 章(5 星)建议留足时间;
- 实验成本心里有数:指令微调实测约 20h A800,DPO 实验约 3 小时(11151 秒),规划 GPU 时间时参考 summary.json。
整套 cs336_note_and_hw 的学习路线可以概括为一句话:笔记定框架,作业练细节,Llama-3.1-8B 实验见真章。按 6 章 PDF 顺序推进,配合本清单搭好环境,你就可以完整走一遍"构建大语言模型"的全过程。
【免费下载链接】cs336_note_and_hw
记录我在cs336学习时的笔记和作业
相关推荐
【免费下载】 NRF52832学习笔记(1)——搭建环境、编译烧写
NRF52832学习笔记(1)——搭建环境、编译烧写 本资源文件提供了关于NRF52832开发环境的搭建、编译和烧写的详细步骤和笔记。NRF52832是一款由N
3. 视频生成技术细节
3. 视频生成技术细节 3.1 扩散模型架构 基于DDPM改进的视频扩散模型,采用时空U Net结构 创新点:引入"视频一致性损失"确保帧间连贯性 math L
文档教程人工智能从零开始理解Computer Use OOTB:核心组件与工作流程详解
从零开始理解Computer Use OOTB:核心组件与工作流程详解 想要让AI助手帮你完成电脑操作任务吗?Computer Use OOTB(开箱即用)是一
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考