Skip to content
🔗 分享本题
查看我的学习进度 →

LLM 概率生成动漫知识图:上文经过 Logits 和 Softmax 得到下一 Token 概率分布,贪心或采样等解码策略从分布中选择 Token,工程侧再做稳定性与格式校验

🧠 图解记忆:模型给概率,解码做选择,工程负责校验;点击图片可查看原图。

核心:LLM 本质是一个"概率分布"——对每个 Token 计算概率,再按策略采样,所以输出天然带随机性。

为什么 LLM 是概率模型?(面试必答)

  1. 训练目标就是概率:预训练学的是 P(下一个Token | 上文),模型输出的是词表上的概率分布(经 Softmax)
  2. 生成靠采样:解码时从概率分布中选 Token(贪心选最大,或按分布随机采)
  3. 知识是"统计规律":模型学到的不是确定性规则,而是"什么词在什么语境下更可能"——所以同一问题可能给出不同但都合理的答案

为什么同样的输入输出会不一样?(高频追问)

原因说明可控性
采样随机性Top-P/Top-K/温度>0 时按概率随机选✅ 可调(T=0 降低)
浮点非确定性GPU 并行累加顺序差异,极端情况影响 argmax⚠️ 固定 seed 缓解
多轮上下文同样问题在不同对话历史下,模型"想法"不同❌ 天然存在
模型服务负载部分框架在不同批处理下有小差异⚠️ 少见

概率模型的工程影响(加分点)

  • 需要确定性输出的场景:T=0 + 固定 seed + 结构化输出校验
  • 需要稳定的场景:加输出格式校验 + 重试策略(解析失败重生成)
  • 利用随机性:多次采样取最佳(Self-Consistency),创意场景故意调高温度

面试话术

"LLM 是概率生成模型,输出层是一个词表上的概率分布,解码时通过采样策略选 Token。所以同样输入可能输出不同——这是采样随机性导致的,不是 bug。工程上我会分场景处理:需要确定性时用 T=0 + 固定 seed + 输出校验;需要多样性时提高温度;需要更可靠时用多次采样投票。"


📚 参考:Hugging Face LLM Course(大语言模型课程)