把 Q/K/V 当成三张工作卡

这个页面不用真实大模型的几千维向量,只用一个玩具数字例子解释:模型怎么从 token 得到 embedding,怎么做 Q/K/V,又怎么用它预测下一个 token。

注意:这里的数字是为了讲清楚流程而手写的小例子,不是某个真实模型的参数。
我
喜欢
embedding:token id 去表 E 查一行
Q/K/V:q=xWq, k=xWk, v=xWv
attention:Q 匹配 K,再加权混合 V
Step 1 / 6

先把词变成编号

模型不能直接吃“我/喜欢”这些字,它先把每个 token 变成固定编号。编号本身没语义,只是查表用的下标。

1. Tokenizer:词 → id

我id 391
喜欢id 1842

2. Embedding 表:id → 向量 x

查第 1842 行: x_喜欢 = [0.8, 0.2] 这就是“喜欢”的数字身份证。

3. 三台制卡机

Wq做 Q 卡
Wk做 K 卡
Wv做 V 卡

4. “喜欢”的三张卡

Q想找什么
K怎么被匹配
V能提供什么信息

5. Q 去问已有 K:“谁和我最相关?”

Q喜欢·K我
0.28
Q喜欢·K喜欢
0.72
这里只看已经出现的 token,不能偷看答案“猫”。

6. 按权重吸收 V

h_喜欢 = 0.28·V我
+ 0.72·V喜欢
得到新的上下文向量 h

7. 用 h_喜欢 猜下一个词

吃
0.18
狗
0.36
猫
0.72
x 身份证卡Q 我想找谁K 我怎么被找V 我提供什么