GPT / FORWARD / UPDATE

GPT / TRAINING / INFERENCE 从 ID 到 logits:把整个神经网络展开 D = 16 · 两层 Block · 两个头 · 省略批量维;圆点仅展示部分维度或候选。 输入:整数先查表,再逐维相加 Token ID 序列 [17250, 220, …] 位置编号 [0, 1, …, T−1] E[id] : T × 16 E:50,257 × 16 P[position] : T × 16 P:16 × 16 + Dropout 训练 0.1 / 推理关闭 X₀ : T × 16 进入第 1 个 Block BLOCK 1 · 两个注意力头 + 逐位置 MLP 第 1 层参数;下方展开其计算细节 保留 X 保留 R LN1 Q / K / V : T × 16 头 1 · 8 维 A_used × V 头 2 · 8 维 A_used × V 拼接 → W_O → Dropout + R LN2 MLP · 各位置用同一套参数 16 64 16 Linear → GELU → Linear → Dropout + X₁ T × 16 → T × 16;注意力混合位置,MLP 混合特征。 BLOCK 2 · 两个注意力头 + 逐位置 MLP 结构相同,参数独立;数值只展示已保存的边界张量 保留 X 保留 R LN1 Q / K / V : T × 16 头 1 · 8 维 A_used × V 头 2 · 8 维 A_used × V 拼接 → W_O → Dropout + R LN2 MLP · 各位置用同一套参数 16 64 16 Linear → GELU → Linear → Dropout + X₂ T × 16 → T × 16;注意力混合位置,MLP 混合特征。 X₂ : T × 16 最终归一化与全词表投影 LN_f H_final : T × 16 训练取全部行;生成先取末行 16 50,257 lm_head = Eᵀ Z = H_used Eᵀ 训练 T×50,257 / 生成 1×50,257 输入查行与输出打分共用 E;所有词条都参与打分。 训练 · 使用所有监督位置 生成 · 使用最后一个位置 标签 y + 全词表分数 → 平均交叉熵 L = mean(−log p[target]) 最后一行 → 温度 / top-k → softmax p_next : 50,257 沿前向计算图反传,累积参数梯度 g = ∂L / ∂θ 采样一个 ID → 原样追加到上下文 UTF-8 字节完整时才显示字符 AdamW: θ, m, v → θ′, m′, v′ 清空梯度;用新参数处理下一批 EOS / 数量上限:停止 否则带着新 ID 回到查表;参数固定 θ 包含 E、P、两层 Block 和 LN_f 的可训练参数。 方格 = 位置关系;MLP 圆点 = 特征维度;输出圆点 = 候选 ID;细线 = 线性连接。 两条旁路分别保留 X 和 R;图中的连线不表示本次记录的权重大小。