LESSON 7.7 · 研读 · 150 分钟
nanochat:看懂一套完整聊天系统
nanochat:看懂一套完整聊天系统:理解tokenizer、pretrain、midtrain、SFT、RL、UI,完成“画出 repo 的端到端依赖图”。属于「从模型到智能系统」学习阶段。
学完你应该能够
- 能不用术语堆砌,解释「nanochat:看懂一套完整聊天系统」解决了什么问题。
- 能围绕 tokenizer、pretrain、midtrain 画出变量与因果关系。
- 能完成「画出 repo 的端到端依赖图」,并用证据而不是感觉判断结果。
核心概念
tokenizer
tokenizer位于字符串与模型之间。BPE 反复合并高频相邻单元来换取更短序列,但词表、字节边界和特殊 token 会直接影响多语言、公平性与数字处理。
pretrain
pretrain必须映射为可观察状态、权限边界和可回放轨迹,才能被测试与审计。 把它放进前后依赖中:输入从哪里来,输出会改变谁。
midtrain
midtrain必须映射为可观察状态、权限边界和可回放轨迹,才能被测试与审计。 写出至少一个不变量、shape 约束或成立条件。
SFT
SFT用高质量示范把基础模型的续写分布塑造成助手行为。训练时通常只对目标回复计算 loss;模板、mask 和 packing 错误会让模型学到错误角色或跨样本泄漏。
RL
RL必须映射为可观察状态、权限边界和可回放轨迹,才能被测试与审计。 把概念落到可以记录的指标或测试上。
实践任务
画出 repo 的端到端依赖图
- 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
- 构建:先看入口与数据流,只保留回答核心问题所需的最小组件。
- 验证:使用轨迹回放、schema 校验、权限测试与回归任务集;保存参数、随机种子与原始结果。
- 迁移:换一个工具、失败模式或权限边界后仍保持可控,说明原结论是否仍成立。