课程大纲¶
本文是课件总目录骨架。每章 markdown 落到
Doc/Courseware/chNN-xxx/README.md,配套练习落到Playground/chNN-xxx/。 章节内容随里程碑推进逐步补全,详见../DesignDoc/01-project-plan.md。
导论¶
- ch00 · AI 全景与概念速查 — AI 演进时间线、概念分类树、架构路线、LLM 全链路地图 · 无配套练习
M1 · 前置知识¶
- ch01 · 环境与工具 — uv / PyTorch 安装(CUDA vs MPS)/ Jupyter / VSCode 调试 · 练习:环境自检脚本
- ch02 · 必要数学(浅层) — 向量/矩阵/点积、梯度与链式法则、softmax / 交叉熵几何意义 · 练习:纯 NumPy 实现
- ch03 · PyTorch 入门 — Tensor / autograd / nn.Module / DataLoader / 训练循环模板 · 练习:MLP 分类 MNIST
- ch04 · 神经网络与训练要素 — 反向传播工程视角、优化器、LR 调度、初始化、Dropout、BN/LN · 练习:优化器对比
M2 · Transformer 精通¶
- ch05 · 注意力机制 — seq2seq → attention、Q/K/V、缩放点积、多头 · 练习:手写单/多头注意力
- ch06 · Transformer 架构 — Decoder-only、位置编码(绝对/RoPE)、Pre-LN vs Post-LN、残差/FFN/掩码 · 练习:~1M Decoder-only 过拟合 tiny shakespeare
- ch07 · 生成策略 — 贪心/beam/top-k/top-p/temperature、KV cache · 练习:为 ch06 模型加 KV cache
M3 · LLM 全链路入门(理论)¶
- ch08 · 分词器 — 字符/词/子词、BPE/WordPiece/Unigram、中英混合 · 练习:用
tokenizers训练 BPE - ch09 · 预训练 — CLM 目标、数据 packing、混合精度 / grad accumulation / gradient checkpointing、scaling law 直觉
- ch10 · SFT — 对话模板、loss mask、多轮、LoRA / QLoRA 原理、数据质量 > 数量
- ch11 · 对齐 — RLHF 概览、PPO 痛点、DPO 原理、KTO / ORPO 简提
- ch12 · 评测 — PPL、开源 benchmark(C-Eval / MMLU 子集)、人工评测必要性
- ch13 · 部署 — 量化(int8/int4/GGUF)、Ollama、
llama-cpp-python、transformers原生推理对比
章节模板¶
每章 README.md 建议包含:
- 学习目标(3 条以内)
- 前置依赖(指向其它章节或外部资料)
- 正文(伪代码 + 图示 > 完整代码);关键节末尾可加 "自检" 小节
- 练习说明(指向
Playground/chNN-xxx/) - 自检题(2–3 条)+ 折叠答案速查(必须,下方约定)
- 参考资料
自检题写作约定¶
- 题目放在
### 自检或## 自检下,紧跟正文或章节末尾 - 必须配答案速查,用
<details markdown="1">折叠(mkdocs + GitHub 双端兼容) - 答案保持简短(每条一两句),需要展开的留作思考题或正文补充
- 折叠块内列表项之间留空行,避免渲染器吞行
-
模板:
- 工具章(如 ch01)以"操作回顾 / 易混点辨析"为主;理论章(如 ch02)以"公式直觉 / 概念辨析"为主
- 章末"思考题"(开放式、无标准答案)可选;有标准答案的一律走自检
练习代码注释规范¶
Playground/chNN-xxx/ 下的教学代码两类必注:
-
外部库 API 调用 — 标注作用和参数语义
- ✓
rng = np.random.default_rng(0) # NumPy 现代随机数生成器,固定 seed → 可复现 - ✗
rng = np.random.default_rng(0) # 创建生成器
- ✓
-
复杂公式计算 — 标注算法名 + 一句话含义或公式
- ✓
dw = np.outer(dy, a) # 外积 (out,)×(h2,) → (out, h2),对应 ∂L/∂w 单样本形式 - ✗
dw = np.outer(dy, a) # 计算梯度
- ✓