Clipboard_Screenshot_1749458106.png

Example概览

想象一下,计算梯度就像一个“寻根问责”的过程。模型做出了一个预测,我们通过损失函数(交叉熵损失)计算出这个预测有多“差”(也就是损失有多大)。然后,我们要从这个最终的“差评”出发,反向追溯,看看网络中的每一个参数(也就是你说的矩阵)各自应该为这个差评负多少责任。这个“责任”就是梯度。

整个过程的核心是微积分中的链式法则 (Chain Rule),我们把它称为反向传播 (Backpropagation)。

核心思想


两层 LLaMA 模型简化结构

为了方便理解,我们先画出模型的简化路线图:

  1. 输入 (Input): 文本被转换成词元(Token)ID。
  2. 词嵌入层 (Embedding Layer): 使用嵌入矩阵 $W_{embed}$ 将每个 Token ID 转换成向量。
  3. 第一层 Transformer Block:
  4. 第二层 Transformer Block:
  5. 输出层 (Output Layer): 一个线性分类器,使用矩阵 $W_{cls}$(Classifier) 将最终的向量转换成词汇表大小的 logits。
  6. 损失函数 (Loss Function): Softmax + 交叉熵损失,计算最终的误差。

现在,我们开始“逆流而上”的梯度计算之旅。


梯度计算步骤 (反向传播)