输入 ID 只负责选词表中的条目。Embedding 查出一行可训练参数,得到模型可以计算的向量。位置信息让模型区分这些条目出现的顺序。
词 Embedding
Section titled “词 Embedding”设 E∈R^(100×8)。ids=[[11,23,37]] 查出 E 的第 11、23、37 行,得到 [1,3,8]。
例如人为令 E[11]=[1,0,0,0,0,0,0,0]。这只方便手算,不意味着第一维天然表示“小猫”。这些向量通常随训练更新,不是固定的人类语义编码。同一 ID 的初始 token 向量相同,经过上下文计算后的 hidden state 可以不同。
位置怎样进入计算
Section titled “位置怎样进入计算”GPT-2 的学习式位置表让 X_t=E[id_t]+P[t]。例如位置 0 的 P[0]=[0,1,0,0,0,0,0,0],上面的 token 向量相加后为 [1,1,0,0,0,0,0,0]。相加保持 8 维,不变成 16 维。
原论文使用正弦/余弦位置编码,并缩放 token embedding:
RoPE 常在 Attention 内旋转 Q/K 的成对维度,而不是在输入上加一个位置表。对向量的两维 (a,b),角度 θ 的旋转为 (a cosθ−b sinθ, a sinθ+b cosθ)。不同位置使用不同角度;点积因此含相对位置信息。可计算更远位置不等于模型已经学会长上下文。
与 LM Head 的关系
Section titled “与 LM Head 的关系”Embedding 是 ID → D 维向量;LM Head 是 D 维向量 → Vocab 个分数。若共享权重,logits=hEᵀ。共享会减少独立参数,但并非所有模型都默认共享。它也不是把 Embedding 做可逆解码。
来源:原论文 §3.4–3.5。