补充 D 术语表 名词混了就翻这里

术语表 & 三段心智分层

把散落各课的名词收在一处。核心洞察(来自讨论):整个系统像程序一样分配置 / 编译时 / 运行时三段。

① 三段心智分层(像程序)

阶段类比谁定 / 何时定例子
配置编译参数 / config在训练前手动设超参数:d_model(512)、头数 h(8)、层数 N、学习率
编译时编译进二进制的常量训练学出来 → 之后冻结,存在权重文件参数:embedding 、W_Q/W_K/W_V、W_O、γ/β
运行时一次函数调用的临时变量每次输入现算,不存模型token id、词向量、hidden state、Q/K/V、注意力权重、各层激活

⚠️ 最易混的一处:embedding 表(编译时·固定参数) 从表里取出并被各层加工的词向量 / hidden state(运行时·随输入变)。
类比:表 = 固定的座位表;流动的向量 = 每次进来的人。

② 参数 vs 超参数

模型参数 (parameters/weights)超参数 (hyperparameters)
γ、β、W_Q/K/V、W_O、embedding 表…学习率、层数 N、头数 h、d_model…
谁定训练自动学(梯度下降)人手动设(训练前)
数量亿万个几十个
口语"调参"❌ 一般不指这个✅ 通常指这个(炼丹)

参数 = 机器学的 · 超参数 = 人设的

②½ 两种 "weight"(易混)

"权重(weight)"这个词在两个完全不同的地方出现,是常见困惑源:

模型权重 / 参数注意力权重
英文weights / parametersattention weights
是什么W_Q/K/V、W_O、W₁/W₂、γ/β… 学出来的矩阵softmax 出来的"该关注每个词多少"的分配比例(和为1)
变不变训练后固定(编译时)每次输入都变(运行时)
类比几 GB 权重文件里的内容一次计算的临时中间产物

同名不同物:模型权重(W)固定 · 注意力权重每次现算

注:weights ≈ parameters(日常通用);严格分:W=weights、b=bias,合称 parameters。

③ 名词对照表

名词指什么阶段
token文本切出的片段(≠单词,可能是 subword)
token id该片段在词表里的行号(整数)运行时
embedding 表 (E)那张 [vocab × d_model] 大查找表编译时
词向量 / input embedding查表取出的初始向量(还没被上下文加工)运行时·起点
hidden state
(隐藏状态)
经过若干层加工后的向量(含上下文);每层输出一个运行时
d_model每个向量的维度(如 512)= 主干统一宽度配置
N(序列长度)这句话有几个 token运行时
Q / K / V一个词经 W_Q/K/V 投影出的三个角色向量运行时
W_Q/W_K/W_V, W_O注意力的投影矩阵(学出来的)编译时
γ / βLayerNorm 的缩放/平移参数(学出来的)编译时
parameters训练学的所有数(= 几 GB 权重文件)编译时
hyperparameters人设的:d_model、h、N层、学习率…配置
skip connection残差里把 x 原样搬到输出的"捷径"结构

④ 一句话数据流(名词全串起来)

字符串
 → tokenize → N 个 token id
 → 查 embedding 表 → 初始词向量 [N × d_model]
 → 逐层加工(注意力/残差/LayerNorm/FFN)→ 每层一个新的 hidden state
 → 最后一层 hidden state → 输出层 → 下一个词

token → id → 查表得词向量 → 逐层加工成 hidden state → 预测下一个词