在经过 层 Decoder 的复杂思考(Attention, MLP, MoE)后,模型最终需要将抽象的数学向量转化为人类可读的文字。这个过程主要发生在模型的“输出头”——LM Head。
一、 核心产物:隐藏状态 (Hidden States)
当 Token 序列流经最后一层 Decoder 层后,在该位置产出的结果是一个高维稠密向量 。
- 维度:通常与模型的隐藏层维度一致(如 Llama-3 8B 为 4096)。
- 本质:它是模型对当前上下文及其所有前文语义的最终浓缩总结。
二、 第一步:线性投影(解压回词表)
隐藏状态 无法直接对应文字,必须通过一个巨大的线性变换矩阵 (即 LM Head)映射到词表空间。
- 数学形式:
- 维度变换:从 (如 4096) 映射到 (词表大小,如 128,256)。
- 物理意义:这一步是在计算当前语义向量与词表中每一个候选词(Token)的余弦相似度(未归一化分数)。
三、 第二步:Softmax(概率化分布)
线性投影得到的 是一堆实数,需要通过 Softmax 函数 转化为概率分布。
- 结果:词表中每一个词都会获得一个 到 之间的概率,且全词表概率总和为 。
- 示例:
"苹果"(0.72),"手机"(0.15),"树上"(0.03)...
四、 第三步:采样策略(决定最终 Token)
模型并不总是选择概率最高的那一个,而是根据**解码策略(Decoding Strategy)**来挑选最终的 Token ID。
- Temperature (温度调节):
- 低温度 (< 1.0):让分布更“尖锐”,高概率词更突出,模型表现得更严谨、确定。
- 高温度 (> 1.0):让分布更“平滑”,增加低概率词被选中的机会,模型表现得更有“创造力”甚至胡言乱语。
- Top-P (核采样):只在累计概率达到设定阈值(如 0.9)的候选词集中进行采样,过滤掉概率极低的长尾噪声。
- Greedy Search (贪婪搜索):每次雷打不动地选概率最高的词。
五、 第四步:自回归循环 (Autoregression)
一旦确定了最终选出的 Token:
- 反向转换:通过 Tokenizer 将选中的 ID 变回文本。
- 反馈机制:这个新生成的 Token 会被重新拼接到原始序列的末尾,再次输入模型。
- 循环往复:模型重复上述过程,直到生成了特殊的终止符号
[EOS](End Of String)。
这就是“自回归”的含义:模型每生成一个词,都是在为预测下一个词制造新的背景。
六、 总结:推理全链路
| 环节 | 输入 | 处理逻辑 | 输出 |
|---|---|---|---|
| Decoder | Token 序列 | Attention + MLP/MoE | Hidden States (语义总结) |
| LM Head | Hidden States | 线性投影 () | Logits (词表得分) |
| Softmax | Logits | 归一化指数运算 | Probability (概率分布) |
| Sampler | Probability | 根据温度/P值采样 | Token ID (最终选定) |
💡 深度洞察:计算开销
在推理时,由于词表 往往非常大(10万+),LM Head 的计算量在最后一层占据了很大比例。在分布式部署中,这部分计算通常会进行张量并行(Tensor Parallelism)拆分,以减轻显存负担。