LESSON 2.1 · 代码 · 100 分钟
Bigram:最小语言模型
Bigram:最小语言模型:理解计数、条件分布、采样与平滑,完成“训练并采样一个姓名生成器”。属于「语言如何变成概率」学习阶段。
学完你应该能够
- 能不用术语堆砌,解释「Bigram:最小语言模型」解决了什么问题。
- 能围绕 计数、条件分布、采样与平滑 画出变量与因果关系。
- 能完成「训练并采样一个姓名生成器」,并用证据而不是感觉判断结果。
核心概念
计数
计数是最小可审计语言模型:只用当前 token 估计下一个 token。它提供概率归一化、采样和 NLL 的基线,也清楚暴露短上下文无法表达长期依赖。
条件分布
条件分布把不确定性写成可比较的数。语言模型学习的是 p(next token | context);最大似然要求模型把真实序列分配到更高概率,而不是直接“记住答案”。
采样与平滑
采样与平滑是最小可审计语言模型:只用当前 token 估计下一个 token。它提供概率归一化、采样和 NLL 的基线,也清楚暴露短上下文无法表达长期依赖。
实践任务
训练并采样一个姓名生成器
- 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
- 构建:先写接口和 shape 断言,只保留回答核心问题所需的最小组件。
- 验证:使用计数基线、困惑度、encode/decode 往返与未见样本;保存参数、随机种子与原始结果。
- 迁移:更换语言、词表或上下文长度后解释性能变化,说明原结论是否仍成立。