权重矩阵(Weight Matrix)
神经网络中存储可学习参数的矩阵,是模型"知识"的物理载体。输入向量乘以权重矩阵 = 线性变换。训练的本质就是调整权重矩阵中每个数字的值,使模型输出越来越接近期望结果。模型的"参数量"= 所有权重矩阵元素数之和。
权重矩阵在做什么?
一个权重矩阵 W 定义了一次线性变换:输入向量 x 经过 Wx 运算,变成另一个向量。矩阵的每一行是一个"检测器"——和输入做点积,检测输入在某个方向上的分量大小。
不同的权重矩阵 = 不同的变换方式。同一个输入,经过不同的 W 会产生完全不同的输出。
在 Transformer 中的角色
Transformer 的核心参数就是一组权重矩阵:
| 矩阵 | 作用 | 维度 |
|---|---|---|
| WQ | 生成 Query("我在找什么") | (d_model × d_k) |
| WK | 生成 Key("我能提供什么") | (d_model × d_k) |
| WV | 生成 Value("我的实际内容") | (d_model × d_v) |
| WO | 合并多头输出 | (h·d_v × d_model) |
| W1,W2 | FFN 层的两次变换 | (d_model × d_ff), (d_ff × d_model) |
以 Q=XWQ 为例:X 是输入序列(每行一个 token 的 embedding),WQ 把每个 embedding 从 d_model 维变换到 d_k 维,输出的 Q 就是所有 token 的查询向量。
训练 = 调整权重
初始化时,权重矩阵的数字是随机的——模型什么都不"懂"。训练过程通过反向传播计算每个权重数字应该往哪个方向调、调多少,经过数十亿次微调后,矩阵中的数字逐渐编码了语言的规律和知识。
模型的"参数量"就是所有权重矩阵的元素总数。GPT-3 的 175B 参数 = 1750 亿个需要被精调的数字。
为什么重要
理解权重矩阵是理解后续技术的前提:
- LoRA:不直接改原始权重矩阵,而是在旁边加一个低秩分解 ΔW=BA,用少量参数近似全量微调的效果
- 量化:把权重矩阵中的数字从 32 位浮点压缩到 8 位甚至 4 位整数,缩小模型体积但保留大部分能力
- 反向传播:计算损失函数对每个权重的梯度,决定每个数字的更新方向和幅度
引用本术语的文章