点击任一公式,可查看并复制 LaTeX 源码。正文、公式及此工具均可单文件离线使用;剪贴板受限时可选中源码手动复制。
Transformer架构与训练笔记
第一版 · 2026-10-17(北京时间)
从“这一行到底在算什么”到“一次训练怎样改变整个模型”。依据你的 16 次原始提问重组,保留问题、定义、推导、可手算例子与适用边界。
阅读方式。 第 1—4 章建立完整流程和对象;第 5—8 章拆开注意力与完整架构;第 9—11 章严格推导训练,并把一次更新算到底;第 12—13 章解释生成与能力边界;第 14 章回查全部提问。第一次读不必先掌握全部偏导,可先读第 1—8 章和第 12 章,再回到训练推导。
论述约定。 “定义”规定对象;“推导”在列明条件后逐步论证;“直觉”只帮助理解;“示例”中的数值由本文构造,不来自真实语言模型。关于大型模型能力的说明属于经验与机制解释,不作为数学定理。
正文目录
- 第 1 章:先看完整任务,再看内部零件3
- 第 2 章:一句话怎样成为矩阵4
- 第 3 章:参数、向量、权重与维度6
- 第 4 章:训练与生成共用哪一段计算8
- 第 5 章:Q、K、V 为什么分开10
- 第 6 章:从点积分数到凸组合11
- 第 7 章:缩放与因果掩码的严格依据13
- 第 8 章:从单头注意力到完整 Transformer17
- 第 9 章:输出概率与统一训练目标20
- 第 10 章:梯度怎样穿过整个计算图22
- 第 11 章:一个小模型的完整前向与更新26
- 第 12 章:模型如何逐个输出文字31
- 第 13 章:简单运算为何能有复杂用途33
- 第 14 章:原始提问回查、练习与来源34
第 1 章:先看完整任务,再看内部零件
1.1 你真正想接起来的是什么
原对话中,你依次问“为什么乘 V”“x 输出的 z 有什么意义”“输入的是一句话吧”“现在是在训练还是输出”“还得有一个预测函数吧”。这些问题共同要求一条完整的数据流。
本文先研究用于下一个 Token 预测的因果 Transformer 语言模型,即 GPT 类模型的基础计算形式。随后区分原始编码器—解码器 Transformer。不要把注意力公式、某一种架构和完整聊天产品当成同一个对象。
设词表是有限集合,大小为
它给所有候选下一个 Token 各分配一个非负概率,总和为 1。这里
1.2 一条主线,两个用途
共同的前向计算: 文本 → Token 编号 → 嵌入向量与位置信息 → 多层 Transformer → 最后隐藏表示 → 词表分数 → 概率分布。
训练接着做: 读取数据提供的正确 Token → 计算损失 → 反向传播求梯度 → 优化器更新参数。
生成接着做: 按解码规则选一个 Token → 追加到前缀 → 再预测下一个 → 到停止条件时结束。
“训练”不是某一种特殊的 Attention 公式。Attention 是前向计算中的模块,训练和生成都会使用它。反向传播计算导数,优化器才负责实际改参数,两者也要分清。
1.3 本文固定的语言示例
始终采用这句话:患者服用华法林后出现黑便。 为教学指定如下玩具分词:
真实 tokenizer 可能把它切成完全不同的片段。“黑便”是否恰好一个 Token,不由语义词语边界决定。本文没有调用真实 tokenizer;所有涉及这个切分的计算均属于教学示例。该句只用于学习模型结构,不推导临床判断。
要预测“黑便”,使用的是到“出现”为止的前缀,以及第 5 个位置的最终表示。若输入已经包含“黑便。”,接下来预测的就是句号之后的内容。
第 2 章:一句话怎样成为矩阵
2.1 Token 编号不是语义坐标
Tokenizer 把文本变成离散编号。假设“患者”编号为 17,“服用”编号为 92,这两个数之差 75 不表示语义距离。编号用于索引,不直接拿来做语言意义上的加减。
输入嵌入矩阵定义为:
第
若用 one-hot 行向量
2.2 从一行到整句
采用最简单的加法位置编码时:
第
同一个 Token 在不同位置查出的
2.3 输入向量也需要训练吗
需要。在通常的全参数预训练中,
若损失对某位置向量的梯度为
不要预设“第 1 维表示药物、第 2 维表示症状”。模型学习的是能被后续运算利用的分布式表示,坐标并没有这样的人工语义标签。
第 3 章:参数、向量、权重与维度
3.1 四种容易混淆的对象
| 对象 | 身份 | 是否直接被优化器更新 |
|---|---|---|
| 可训练投影矩阵 | 全参数训练时是 | |
| 当前输入算出的中间结果 | 否;下次前向重新算 | |
| 位置之间的匹配分数 | 否 | |
| 当前输入的注意力混合系数 | 否 | |
| 中间或最终隐藏表示 | 否 | |
| 输入嵌入、词表输出矩阵 | 全参数训练时是 |
中文“权重”有歧义:参数矩阵的权重与注意力权重
3.2 维度表与行向量约定
全文向量按行排列;用
| 符号 | 含义 | 形状 |
|---|---|---|
| 当前序列的位置数 | 正整数 | |
| 词表大小 | 正整数 | |
| 模型隐藏表示维度 | 正整数 | |
| 单头 Q/K 维度、V 维度 | 正整数 | |
| 某一层输入 | ||
| Q/K 投影参数 | ||
| V 投影参数 | ||
| 投影结果 | ||
| 内容投影结果 | ||
| 分数、混合系数 | ||
| 单头输出 | ||
| 词表输出参数 |
用
3.3 “这一步是在算 WQ 还是 Q”
严格拆开四步:
第 1 步算 Q/K/V;第 2 步用它们算分数;第 3 步算混合系数;第 4 步算内容的加权结果。这里没有任何一步通过点积直接“解出最优
第 4 章:训练与生成共用哪一段计算
4.1 目标错开一位
对序列
| 输入位置 | 允许使用的前缀 | 训练目标 |
|---|---|---|
| 1:患者 | 患者 | 服用 |
| 2:服用 | 患者、服用 | 华法林 |
| 3:华法林 | 到华法林 | 后 |
| 4:后 | 到后 | 出现 |
| 5:出现 | 到出现 | 黑便 |
| 6:黑便 | 到黑便 | 。 |
最简单的训练数组可以取 inputs 为
句号不是天然的结束 Token。若训练数据显式追加 EOS,才会有“句号位置预测 EOS”的目标。若添加 BOS,则可训练首 Token 的预测;没有 BOS 时,上表从第二个 Token 的条件概率开始。
4.2 为什么整句输入仍然不是偷看答案
训练系统知道所有 labels,但计算
这使一层内部各位置能同时计算,下一层仍需等待上一层完成。所谓“并行训练”指位置维度的并行,不是层与层之间没有依赖,也不是多个优化步骤同时发生。
4.3 Teacher forcing 与真正生成
训练时,即使第 5 行概率最大的是错误 Token,后面位置仍用训练文本中的“黑便”作为输入。标准下一个 Token 交叉熵训练不需要先采样一个词,再把错误词塞回训练序列。
生成时没有预先提供的正确后续,选出的 Token 才会进入下一次上下文。选错后的后续前缀也跟着改变。
| 阶段 | 概率来自哪里 | 概率之后做什么 |
|---|---|---|
| 训练 | 当前参数下的前向计算 | 取真实目标的概率,算损失与梯度 |
| 生成 | 当前参数下的前向计算 | 采样或取最大值,追加 Token |
相同参数、相同前缀、相同位置与掩码、关闭 dropout 且相同数值条件时,两者在同一位置的预测概率应相同。示意中的 30% 与 60% 不能被解释为“训练公式与生成公式不同”。
第 5 章:Q、K、V 为什么分开
5.1 先有任务:当前位置需要读取别处的信息
如果仅对每个位置分别计算
“从哪里读取多少”由
这也回答为什么还要乘 V:
5.2 为什么不直接计算 x 与 x 的点积
直接点积是可以设计的,但会限制匹配方式。学习两套投影后:
记
手算例子。 取
则
这说明学到的匹配不是“原始词向量相似度”的同义词。“语义相关就天然高分”也不是定理;训练目标会影响怎样的匹配有用。
5.3 为什么 K 和 V 不必一样
假设两个候选位置的权重已固定为
保持 Q/K 不变,只把
所以独立的
“Q 提问,K 索引,V 内容”是检索类比。矩阵中没有真正的文字问题或数据库条目;每一维仍是数值特征,三个角色由计算位置定义。
第 6 章:从点积分数到凸组合
6.1 一次点积究竟做了什么
对一行
它是一个实数分数,可以为负。只有当两个向量都非零时,才可写成模长乘积乘夹角余弦;不要求单位向量。分数为负不表示“不存在关联”,而表示在这一套参数与坐标表示下得到较低的相对分数。
6.2 Softmax 的定义与三项性质
对有限实数
因为每项指数严格正,分母正,故
因此分数更大者权重更大,相差 1 时权重比为
Softmax 是一种平滑的相对分配规则。上述性质不能唯一推出“必须选指数”,其他注意力变体可以使用不同规则。
6.3 一个完整手算
取分数
则:
依据凸包的定义,有限组点的一切非负、和为 1 的线性组合组成其凸包,因此这个
但候选集合和系数都依赖输入与参数;凸包本身会改变。完整模型的多头输出投影、残差和 FFN 也不受同一个凸包约束。训练时若在注意力系数上使用未重新归一化的 dropout,其具体随机输出也不再直接适用这里的和为 1 结论。
6.4 矩阵乘法为什么恰好完成全部加权
固定
6.5 z 有意义吗
这里刻意把提示词放在“苹果”之前。对因果模型,不能用“苹果很甜”中后面的“甜”解释此前“苹果”位置已经获得的表示。
随机参数也能算出
第 7 章:缩放与因果掩码的严格依据
7.1 为什么会出现平方根
先讨论随机变量,再回到固定输入向量。假设
独立性与有限二阶矩给出:
因此
又由
7.2 你追问过的方差等式
定义是:
当
这一步不需要独立。继续展开:
要把交叉项消去,需要协方差为零;独立是充分条件。一般恒等式则是:
四个独立的等概率正负 1 相加,总和可能为
上述因子分解可从独立变量的乘积联合分布推得;本文以期望线性性、独立变量可积函数乘积的期望分解为概率基础定理,不把它们当作无条件代数变形。
7.3 为什么分数尺度影响学习
令
这是机制解释,不保证实际模型方差恰好为 1,也不表示一切梯度问题都被解决。输出 Softmax 与交叉熵合并后的梯度还有简化式,不能直接用“Softmax 饱和”推出错误且自信的输出一定学不动。
7.4 掩码是一条依赖限制
为避免对无穷量求导的歧义,先直接定义允许集合:
常见实现把不允许的位置分数加
没有因果掩码、没有其他屏蔽且分数有限时,各候选权重严格正,但可能小到几乎无贡献。浮点数实际计算还可能下溢为 0,不能把数学上的正数与机器表示混为一谈。
7.5 多层之后会不会绕路偷看未来
归纳证明。 初始第
条件是所有跨位置操作遵守该限制。若某一步在位置之间做全局汇总,或错误地使用未来信息,则不能直接套用证明。常见 LayerNorm 沿每个位置的特征维归一化,满足此条件。
第 8 章:从单头注意力到完整 Transformer
8.1 多头怎样接回模型维度
设有
拼接后是
8.2 FFN 为什么逐位置却仍有用
一个两层前馈网络按行写为:
其中
以 ReLU 为例,
ReLU 在 0 不可微,实际自动微分采用约定值;使用平滑激活时按其导数计算。现代模型还可能用门控 FFN,本文不把这个简单形式当作所有模型的精确配置。
8.3 残差不是一句“保留信息”就完了
残差形式是
在列向量的 Jacobian 记号下:
所以梯度有一条恒等路径。这有助于解释深层优化,但不保证
8.4 LayerNorm 实际算什么
对一个位置的行向量
直觉是调整特征尺度,使后续模块面对的数值更稳定;加上
8.5 一种明确的完整 Block
本文选 Pre-LN 作为完整架构示范,省略 dropout 与各投影偏置:
多层后可再用最终归一化得到
8.6 位置信息为何需要单独交代
若没有位置编码也没有位置相关掩码,置换矩阵
因果掩码已经引入方向与可见范围,所以不能把上述无掩码结论原封不动套给带因果掩码的网络。显式位置信息进一步提供距离或位置结构。
加法位置编码是前述
同一二维块若
8.7 三类架构分别是什么
| 架构 | 主要信息流 | 常见任务形式 |
|---|---|---|
| Encoder-only | 输入位置双向互读 | 表示、分类、掩码预测等 |
| Decoder-only | 因果自注意力 | 自回归续写 |
| Encoder–Decoder | 编码器双向;解码器因果并读取编码结果 | 条件序列生成,如翻译 |
编码器—解码器的交叉注意力中,Q 来自解码端,K/V 来自编码端,长度可以不同,注意力矩阵是目标长度乘源长度。它不是把同一个 X 投影三次的 self-attention。原始 Transformer 属于第三类;本笔记训练与生成主线研究第二类。[来源 R1、R5]
第 9 章:输出概率与统一训练目标
9.1 缺少的预测函数
最终隐藏矩阵
Attention 中的 Softmax 沿“可见输入位置”归一化;这里沿“整个候选词表”归一化。两个函数形式相同,索引集合和用途不同。输入中没出现过的候选 Token,也有自己的输出列与概率。
“向量变回文字”并不是对输入嵌入做数学求逆。它是依据隐藏特征计算候选分数,再进行离散选择。
9.2 为什么用负对数损失
若目标编号是 y,用 one-hot 目标分布
正确目标概率提高,损失严格下降。但仅凭“概率低时罚得多”并不能唯一确定对数形式。
更系统的依据是条件最大似然。对一段已知文本,条件概率链式分解给出:
这来自概率链式法则,不要求 Token 独立。最大化这个乘积等价于最小化其负对数,即各位置负对数之和。多个训练样本则按给定训练采样与目标求和或平均。[来源 R2 提供神经概率语言模型背景]
定义有效目标集合
padding 与不计分位置应排除。某些对话微调仅在助手回答位置计损失;这是损失掩码,作用不同于因果注意力掩码。后者控制信息流,前者控制哪些位置计入目标。
9.3 输入层、内部层、输出层怎样一起学
把全部参数收集为
“联合训练”不意味着每个参数每一步梯度都非零。没有出现在输入中的嵌入行、被屏蔽的路径或恰好抵消的贡献,都可能梯度为零。冻结参数或只训练适配器的微调又是不同设置。
9.4 权重共享不等于逆变换
当
同一个参数 E 被用于输入查表和输出打分,两条路径梯度相加。没有共享时,两组参数各自更新。第 11 章为了看清两种角色,刻意不共享。[权重共享设计见 R1 §3.4、R6]
第 10 章:梯度怎样穿过整个计算图
10.1 梯度为什么给出下降方向
对可微标量损失
若
反向传播是多元链式法则在计算图上的高效应用,求的是当前参数处的局部导数。梯度下降是更新规则;Adam 类方法再使用梯度的历史统计量调整更新。本文数值例子只用最简单的梯度下降。
10.2 记号与矩阵梯度的定义
用
它不是把两个矩阵相除。若一个变量被多处分支使用,来自所有分支的梯度相加。以下推导先针对一个位置、一个损失;多位置平均只需累加并乘平均系数。
10.3 从损失回到 logits
对目标 y:
逐坐标求导:
错误候选的导数是正数,目标的导数是
10.4 从输出层回到隐藏向量
例如
10.5 穿过残差和内容混合
先考虑单头简化模块:
已知
同时 X 从残差直连收到一份
为什么
10.6 穿过注意力 Softmax
只对允许位置求导。由第 7 章 Jacobian:
禁止位置的
10.7 回到 Q、K、V 的参数
对掩码前的有限分数
再由
X 收到各分支合计:
此式针对本节定义的简化残差模块,完整 Pre-LN Block 还要穿过对应归一化与 FFN,不能把它冒充整个完整层的梯度。
10.8 FFN 与 LayerNorm 如何接上
令
偏置梯度对位置求和,
对单行 LayerNorm,令
这里 mean 沿特征维计算;同一行有
这些局部规则按逆序组合,就能覆盖第 8 章选定的整个完整网络。标准自动微分框架实现的正是这种规则组合,不是对每个参数反复试错猜方向。
10.9 最后回到输入嵌入
若
可训练的位置向量同样收到对应梯度;固定位置编码不更新。若
第 11 章:一个小模型的完整前向与更新
11.1 边界与全部设定
为了把数值算到底,本章使用单头因果注意力+输出投影+残差+词表输出的小模型。它省略位置编码、归一化和 FFN,因而不是完整 GPT。第 8 章提供完整结构,本章只核验核心计算链,不能从两位置实验推断大模型能力。
玩具词表只有 A、B、C,编号为 1、2、3。它们是抽象符号,不声称分别等同于真实医学 Token。训练样本的输入前缀是 A、B,正确下一个 Token 为 C。只对最后位置计损失。
取
没有偏置,不共享 E 与 U。共有
11.2 查表、投影与掩码
输入为:
因为
记
第 2 个位置实际读取了 A 的内容和自己的内容。这里的偏好只是指定参数产生的结果,尚未代表任何语言知识。
11.3 残差、词表分数、损失
由
词表分数与概率为:
概率最大的是 B,但目标是 C,因此:
没有跳过“预测函数”:概率由 h、U、Softmax 明确算出,而不是凭空给定 30%。训练也不需要真的选出 B;它直接使用目标 C 的概率计算损失。
11.4 从损失反传到注意力分数
先求:
再求:
只有最后位置计损失,故
第二行 Softmax 的分数梯度第 1 项是:
另一项约为
于是:
这正是原问答中缺少的中间桥梁: 目标错误先影响词表分数,再影响 h,再影响内容混合比例,最后才给出匹配分数应怎样局部调整。
11.5 回到各个参数,连输入层也算出
由第 10 章公式得到:
本例两矩阵梯度相等是初值特意简单造成的,不是普遍恒等式。
把残差、Q、K、V 路径梯度加到输入,得到:
C 没有作为输入出现,且本例不共享权重,因此 C 的输入嵌入行梯度为零;但 U 中 C 对应的输出列有非零梯度。这清楚地区分了“同一个 Token 的输入角色与输出角色”。
11.6 一次联合更新,重新计算
学习率取
例如
用全部更新后的参数重新前向,而非只修改最终概率,得到:
| 量 | 更新前 | 更新后 |
|---|---|---|
| 0.731059 | 0.713748 | |
| 0.339660 | 0.271374 | |
| 0.581626 | 0.556819 | |
| 0.078714 | 0.171807 | |
| 目标损失 L | 2.541928 | 1.761382 |
正确目标概率提高,但仍不是最大项;一次更新不必立刻预测正确。注意力给第一个位置的比例反而下降,说明“学习进步”等于“所有看起来相关的注意力都应上升”是不成立的。更新同时改变内容、匹配、输入表示和输出打分。
11.7 怎样核验推导不是手写错了
配套程序独立按矩阵规则计算梯度,并对全部 24 个参数元素使用中心差分:
与解析梯度的最大绝对差小于
可以在配套资料中查看完整参数、梯度与更新结果和可运行核验程序。本章显示六位小数,程序全程使用未四舍五入值。
第 12 章:模型如何逐个输出文字
12.1 为什么只用最后一行来预测下一项
每一行 h_i 受训练目标约束,用于预测当前位置之后的 Token。前面各行预测的是已经出现在输入里的后续位置;最后一行对应尚未知的下一位置。因此标准续写取最后一行词表分布。
它能依赖整个允许前缀,不意味着它无损保存了全部原文,也不是把句子压缩成一个独立、永久不变的句子向量。下次生成时,新位置仍可读取历史各层 K/V。
12.2 从概率到 Token 还有一步选择
贪心解码: 取概率最大编号。它最大化当前一步的概率,不保证整个输出序列的联合概率最大。
采样: 按概率随机选。即使概率较小也可能被选中。Softmax 本身只给分布,不执行抽样。
温度: 对
12.3 用固定医学句子走一轮
已知输入为“患者服用华法林后出现”,本文玩具切分下有五个位置。完整模型算出
这只是可能的选择路径;没有给真实模型运行结果。若用户输入已是完整句子,则“黑便”属于已知上下文,不再作为下一步待填目标。
聊天模型还把角色标记、系统与历史消息等序列化成上下文,在助手回答开始位置续写。学会遵循指令和对话格式还涉及相应数据与后续训练;仅讲基础下一个 Token 预训练并没有解释聊天产品的所有行为。
12.4 KV Cache 为什么能复用旧结果
在因果网络中,追加新 Token 不改变旧位置允许看到的前缀。参数固定、位置定义与计算配置不变时,旧位置各层 K/V 无需重新计算。保存它们,就能让新位置的 Q 读取旧 K/V 加上新位置自己的 K/V。
这依赖第 7 章的因果归纳性质。缓存要逐层保存,不是只保存最终向量。旧位置的中间表示在多层网络中早已参与构造后续所需的 K/V,并没有“只用最后一行所以前面都没用”。
窗口截断、位置重映射、参数改变等会影响缓存可复用条件。缓存通常以额外内存换取减少重复计算,也不消除新 Token 读取历史内容的代价。
12.5 到底什么时候停止
可因选中 EOS、达到长度上限或触发应用停止规则而结束。句号不自动等于结束。输出 Token 序列还要由 tokenizer 的解码规则变回可见文本,Token 与完整汉字、完整词语并非一一对应。
普通生成过程保持参数不变;上下文和缓存改变。把用户信息写进本次上下文,可以改变后续输出,并不等于本次进行了梯度训练。
第 13 章:简单运算为何能有复杂用途
13.1 动态混合已经不是固定线性映射
单头无位置旋转时,可以写出:
虽然参数在推理中固定,混合矩阵
这解释“表达形式更灵活”,没有证明任何随机参数都会理解语言,也没有证明增加层数一定改善效果。
13.2 有用的语义从哪里来
训练目标奖励能预测文本的数据处理方式。有些预测需要句法、指代、事实关联或多步依赖;模型若学到可复用特征,可以在多个样本上减少损失。输入嵌入、内容混合和输出层共同适应,使隐藏向量成为后续计算可利用的表示。
这是训练机制与经验结果之间的解释,不能由矩阵公式单独推出“必然具有可靠推理能力”。表达能力、优化是否找到好参数、数据是否提供信号、泛化是否可靠,是不同问题。
13.3 注意力图不是现成的因果解释
较大注意力系数表示该头对某个 Value 使用了较大系数;它不直接量化最终答案受该词影响多少。Value 的方向与大小、其他头、投影、残差和后续非线性都会改变最终效果。
“华法林与黑便有关”可以作为教学情境,但不能在未测真实模型时声称某个头已经学到这个关系。第 11 章甚至展示了损失降低时某条注意力比例下降的情况。
13.4 学到训练目标,也可能学到捷径
对数损失以数据实际提供的后续为目标,不直接判断命题真伪。一段错误文本也能成为训练样本;降低该样本损失不等于提高事实可靠性。模型有能力拟合复杂关系,也可能依赖表面共现、偏差或记忆。
所以本文能严格建立的是“定义后的模型怎样计算、梯度怎样产生、给定例子怎样更新”;对现实模型理解、推理、可靠性的判断,需要额外实验与证据。
第 14 章:原始提问回查、练习与来源
14.1 你的完整提问链与阅读位置
以下保留提问的先后顺序,选中文段只摘要,不重复整段旧回答。
| 原轮次与问题 | 对应补足 |
|---|---|
| 1 用我会的知识解释 Transformer 架构 | 完整任务、完整模块 |
| 2 点积变权重这里太快,不好理解 | 逐项点积与 Softmax |
| 3 为什么 64 项方差是 64,标准差是 8 | 概率假设与推导 |
| 4 为什么方差可写成平方的期望 | 均值为零的条件 |
| 5 等等 dk 是什么来着 | 统一维度表 |
| 6 这一步是在算 WQ 还是 q | 参数与中间结果 |
| 7 为什么又乘上了 V | 混合规则与内容、矩阵乘法 |
| 8 没理解这个东西有什么高级的 | 输入决定混合 |
| 9 x 输出的 z 有什么意义 | 上下文化表示及边界 |
| 10 输入是一句话吧,到底训练还是输出 | 序列矩阵、共用前向 |
| 11 继续:最后一个位置为什么够用 | 最后位置与缓存 |
| 12 没有 M,每个词会联系其他词吧 | 允许集合与多层因果证明 |
| 13 用医学句子展示训练和输出 | 固定目标对齐、逐个生成 |
| 14 解释损失、梯度、参数更新 | 一般反向推导、完整数值 |
| 15 还得有个预测函数吧 | 词表输出层 |
| 16 输出层单独训练还是一起训练 | 统一目标与共享参数、嵌入反传 |
14.2 三种容易混淆的“学习”
参数训练:损失反传后更新参数。上下文适应:参数固定,用本次上下文改变激活与预测。工程记忆:应用存储信息并在未来检索或插入上下文。三者可配合,但不能互相替代为同一个概念。
14.3 自检问题与解答
练习 1。
解:
练习 2。 Softmax 分数
解:加常数不变,因为公共指数因子约去;乘 100 会把分数差扩大 100 倍,通常使权重更尖锐。相同最大值并列时,趋大尺度极限在并列最大项之间均分。
练习 3。 训练输入含“黑便”,为什么用“出现”预测它仍可行?
解:每一层都禁止“出现”位置读取后续,且其他模块逐位置运算。归纳保证未来信息不能绕路进入。只有数据数组里出现目标,并不等于计算该预测时能使用它。
练习 4。 为何第 11 章输入 C 行梯度为零,但输出 C 列非零?
解:输入只查 A/B 行,C 行未被使用;输出需要对整个词表打分,C 列直接参与目标概率。若共享 E 与 U,这两条路径的梯度会合并,结论随之改变。
练习 5。 知道
解:只能算出该头 Z;还需多头投影、残差、FFN、多层运算、最终输出打分与解码。即使知道最终分布,随机采样也不唯一确定文字。
练习 6。 为什么最小化 L 不等于每次都能提高准确率?
解:L 是平滑的概率目标,准确率通常是离散最大项是否正确。第 11 章目标概率提高但仍不是最大项;过大步长还可能增加损失,批次改善也不保证其他样本改善。
14.4 来源、依赖与本版范围
对话来源:解释 Transformer 架构。本地保留原始对话与读取核对报告。共 16 次用户提问;另有一条仅显示插件输出被隐去的消息,其原始内容无法恢复。本版重组全部可读问答,而非声称复原被隐去部分。
- R1 Vaswani 等,2017,Attention Is All You Need。架构、缩放点积、多头、前馈、位置与输出层的原始来源。本文自行展开计算,不沿用原文整段表述。
- R2 Bengio 等,2003,A Neural Probabilistic Language Model。神经概率语言模型与学习分布式表示的背景。
- R3 Ba 等,2016,Layer Normalization。归一化定义与方法来源。
- R4 Su 等,RoFormer: Enhanced Transformer with Rotary Position Embedding。旋转位置编码来源。
- R5 Devlin 等,BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding。双向编码器与不同预训练目标的对照。
- R6 Press 与 Wolf,Using the Output Embedding to Improve Language Models。输入输出权重共享的讨论。
数学基础依赖:有限维矩阵乘法、指数与对数求导、多元链式法则、一阶可微展开、概率链式法则,以及具有有限二阶矩时的期望与方差性质。本文展开与学习主线直接相关的推导,不从实数构造或测度论重建这些基础。
本版不包含真实模型训练、真实 tokenizer 验证或真实医学注意力测量。小模型数值核验与完整架构说明明确分开。后续可在这一基础上扩展真实小型 Transformer 实验,但不会把本版的数值示例标为已经训练出的语言能力。