权重矩阵(Weight Matrix)

神经网络中存储可学习参数的矩阵,是模型"知识"的物理载体。输入向量乘以权重矩阵 = 线性变换。训练的本质就是调整权重矩阵中每个数字的值,使模型输出越来越接近期望结果。模型的"参数量"= 所有权重矩阵元素数之和。

权重矩阵在做什么?

一个权重矩阵 WWW 定义了一次线性变换:输入向量 xxx 经过 WxWxWx 运算,变成另一个向量。矩阵的每一行是一个"检测器"——和输入做点积,检测输入在某个方向上的分量大小。

不同的权重矩阵 = 不同的变换方式。同一个输入,经过不同的 WWW 会产生完全不同的输出。

在 Transformer 中的角色

Transformer 的核心参数就是一组权重矩阵:

矩阵作用维度
WQW_QWQ生成 Query("我在找什么")(d_model × d_k)
WKW_KWK生成 Key("我能提供什么")(d_model × d_k)
WVW_VWV生成 Value("我的实际内容")(d_model × d_v)
WOW_OWO合并多头输出(h·d_v × d_model)
W1,W2W_1, W_2W1,W2FFN 层的两次变换(d_model × d_ff), (d_ff × d_model)

Q=XWQQ = XW_QQ=XWQ 为例:XXX 是输入序列(每行一个 token 的 embedding),WQW_QWQ 把每个 embedding 从 d_model 维变换到 d_k 维,输出的 QQQ 就是所有 token 的查询向量。

训练 = 调整权重

初始化时,权重矩阵的数字是随机的——模型什么都不"懂"。训练过程通过反向传播计算每个权重数字应该往哪个方向调、调多少,经过数十亿次微调后,矩阵中的数字逐渐编码了语言的规律和知识。

模型的"参数量"就是所有权重矩阵的元素总数。GPT-3 的 175B 参数 = 1750 亿个需要被精调的数字。

为什么重要

理解权重矩阵是理解后续技术的前提:

  • LoRA:不直接改原始权重矩阵,而是在旁边加一个低秩分解 ΔW=BA\Delta W = BAΔW=BA,用少量参数近似全量微调的效果
  • 量化:把权重矩阵中的数字从 32 位浮点压缩到 8 位甚至 4 位整数,缩小模型体积但保留大部分能力
  • 反向传播:计算损失函数对每个权重的梯度,决定每个数字的更新方向和幅度

引用本术语的文章