Page 03 · SimLabs LLM Visual

向量、矩阵与线性变换

大模型里很多“神秘步骤”,本质上都是矩阵乘法。Embedding 是向量,整句输入会堆成矩阵,线性层会把旧特征重新组合成新特征。只要这一层直觉建立起来,后面的 Q、K、V、FFN 和输出层都会顺很多。

先看一行向量 再看整句矩阵 最后连接到 QKV

一个 Token,先是一行向量

下面这句话里,每个 token 都对应一行数字。你可以切换当前 token,先建立“一个 token 就是一行向量”的基本直觉。

输入矩阵 X

一整句会组成一个 token 数 × 特征维度 的矩阵。当前高亮的那一行,就是你选中的 token。

先记一句: 向量不是“解释文字的自然语言句子”,而是模型内部用来计算的数值坐标。后面 Attention 要比较的,也是这些数值方向和强度。

矩阵乘法,就是把旧特征重排成新特征

现在把输入矩阵 X 乘上一个权重矩阵 W。页面会高亮“当前正在计算的行、列和结果单元格”,你能直接看到每个输出值是怎么来的。

当前格子:X[0] × W[:,0]
输入 X

高亮当前 token 所在的行。

权重矩阵 W

高亮当前输出维度对应的列。

输出 Y = XW

高亮当前正在求值的结果格子。

当前 token 行 当前输出列 当前结果格

为什么这一步和 Q、K、V 直接相关

X:原始表示

Embedding 或上一层输出先给出“当前 token 现在长什么样”。这还不是最终要拿去匹配的形状。

W:学出来的变换规则

权重矩阵不是人工写死的,它们是在训练中学到的。矩阵里的每一列,都在说“我要抽出哪一种新特征”。

XW:新的特征空间

线性变换后,同一个 token 会被投影到新的坐标系里。Q、K、V 其实就是把同一个输入分别投到三个不同坐标系。

后续就能做匹配

一旦 Q 和 K 落到可比较的空间里,就能做点积;V 则负责把真正需要汇总的信息带到输出里。

一句话总结: 矩阵乘法不是抽象数学装饰,而是大模型用来“重新表达特征”的核心动作。你现在看到的这一步,往后会反复出现在线性层、QKV 投影和 FFN 里。