第 1 讲:语言模型要解决的问题——从「猜下一个词」到「理解语言」

为什么「预测下一个词」这个听起来很朴素的任务,做到足够大规模之后会表现得像「理解语言」。从完形填空式的直觉出发,形式化语言模型的目标函数,说明语法、事实、语境消歧为什么会变成这个目标的副产品,以及这个目标函数从一开始就没有承诺什么——这条线索会一路埋到第 29 讲的幻觉。

2026-09-23 · ifcalm

第 2 讲:为什么不是 RNN/LSTM——序列模型的瓶颈

「猜下一个词」这个任务,第一版靠谱的神经网络实现是循环神经网络(RNN)——把历史压缩进一个不断滚动更新的隐藏状态里。这一讲拆解这个设计的三个结构性瓶颈:固定大小的信息瓶颈、梯度消失导致的长程遗忘、以及顺序依赖导致的无法并行——最后一条才是它真正被淘汰的原因,也是 Transformer 存在的理由。

2026-09-23 · ifcalm

第 3 讲:向量、矩阵与「表示」是什么

从「机器只认识数字,怎么处理文字」这个最基本的矛盾出发,讲清楚向量是什么、为什么「意思相近」在数学上等价于「空间中距离近」、点积和余弦相似度怎么算,以及矩阵乘法在这门课里唯一需要记住的直觉:对一整批向量同时做同一种变换。这一讲把第 2 讲被一带而过的「隐藏状态」,第一次钉死成一个具体的数学对象。

2026-09-23 · ifcalm

第 4 讲:概率语言模型——下一个词的分布

把「语言模型输出一个概率分布」这句话第一次讲透:概率分布是什么、n-gram 怎么靠纯计数估计它、链式法则怎么把「猜一个词」严格地推广成「给整句话的合理程度打分」,以及怎么用困惑度这个指标衡量一个语言模型猜得准不准。最后指出 n-gram 计数表的致命缺陷——数据稀疏——这正是第 5 讲要引入神经网络的理由。

2026-09-23 · ifcalm

第 5 讲:神经网络最小实现——一层、非线性为什么必要

第 4 讲留下一个缺口:用一个函数代替计数表来估计概率,这个函数具体长什么样。这一讲从「一层」的定义讲起——矩阵乘法加一个偏置——用一个可以严格证明的小定理说明:不管叠多少层纯线性变换,能力都不会超过一层;再用 XOR 这个可以手算的反例,展示加一个非线性函数之后,同样的结构第一次能做到线性做不到的事。最后用 softmax 把网络的原始输出,接回第 4 讲要求的「概率分布」。

2026-09-23 · ifcalm

第 6 讲:梯度下降与反向传播——模型怎么「学会」

第 5 讲留下一个悬念:网络的参数目前是随机的、毫无意义。这一讲讲清楚参数怎么被自动调整成正确的值——用损失函数衡量「错得有多离谱」,用梯度下降沿着损失下降最快的方向一步步挪动参数,用反向传播(微积分链式法则,注意不是第 4 讲的概率链式法则)高效算出每一个参数该往哪个方向挪。全程手算一个真实的小网络例子,从前向传播到反向传播,每一步都给出具体数字。

2026-09-23 · ifcalm

第 7 讲:分词——BPE 为什么不按字/词切

第 1 讲说「一个 token 约等于一个词」,这一讲要把这句简化拆开。按词切会有词表爆炸和「没见过的词」两个死穴,按字符切会让序列长得离谱、还把组词的负担甩给模型。BPE 是两者之间一个纯数据驱动的折中方案:从最细粒度出发,反复合并语料里最高频的相邻组合,直到词表长到预设大小。全程手算一个从零开始的合并过程,验证这套算法具体在做什么。

2026-09-23 · ifcalm

第 8 讲:词嵌入与位置编码

第 7 讲把文字切成了离散的 token 编号,但编号的大小本身毫无意义——第 3 讲说过,模型需要的是向量。这一讲讲清楚 token 编号怎么变成向量(一张可训练的查表矩阵,本质是第 6 讲会训练的参数),以及一个更容易被忽略的问题:自注意力天生分不清顺序,「狗咬人」和「人咬狗」用的是同一组词,必须额外把「位置」编码进向量里,模型才分得清谁在前谁在后。

2026-09-23 · ifcalm

第 9 讲:自注意力——Q/K/V 到底在算什么

这一讲要兑现三笔欠账:第 2 讲说 Transformer 针对性解决了 RNN 的三个瓶颈,第 3 讲说静态向量装不下一词多义,第 8 讲说自注意力天生分不清顺序——三笔账全部在这一讲交割。用图书馆检索的类比讲清楚 Query/Key/Value 三个投影各自在问什么问题,用一个完整可手算的小例子走一遍打分、缩放、softmax、加权求和的全过程,最后正式证明「不加位置编码,自注意力就是在处理一个无序集合」这句话。

2026-09-23 · ifcalm

第 10 讲:多头注意力、前馈层、残差连接与 LayerNorm

第 9 讲拼出了单组 Q/K/V 的自注意力,但留了三个没解决的问题:一次只有一种「检索视角」;加权平均本质是线性组合,第 5 讲证明过的非线性表达力还没接回来;真把很多层这样的计算堆起来,会不会重新撞上第 6 讲的深度训练难题。这一讲依次补上多头注意力、前馈层、残差连接、LayerNorm,把这些积木拼装成一个完整的「Transformer 模块」——后面所有讲义里反复出现的那个基本单元,到这一讲第一次被完整组装出来。

2026-09-23 · ifcalm