真实面经题目 · 原创解析

大语言模型的 next-token 预测过程是什么,输入 token、上下文、logits/概率分布和解码策略如何共同产生回答?

这题考 LLM 推理基本原理:候选人要能从 tokenization、Transformer 上下文建模、logits、softmax 概率和解码策略讲清楚回答是如何逐 token 生成的。

60 秒回答模板

大语言模型生成回答的核心是 next-token prediction,也就是在给定已有上下文 token 的条件下,预测下一个 token 的概率分布。流程可以这样讲:首先,用户输入和系统提示会被 tokenizer 切成 token,并映射成 token id;模型把这些 token id 转成 embedding,加上位置编码或位置相关信息后送入 Transformer。Transformer 的每一层通过 self-attention 让当前位置关注前面上下文中的相关 token,再经过前馈网络和归一化,得到每个位置的隐藏状态。对于生成任务,模型取最后一个位置的隐藏状态,经过输出层投影到整个词表,得到每个候选 token 的 logits。logits 经过 softmax 变成概率分布,表示下一个 token 的可能性。然后解码策略决定选哪个 token:贪心解码选概率最高的,temperature 调整随机性,top-k 或 top-p 限制候选集合,beam search 适合某些确定性任务。选出 token 后,把它追加到上下文,模型再预测下一个 token,如此循环,直到生成停止符、达到长度上限或满足停止条件。训练时模型通过真实下一个 token 计算交叉熵损失;推理时没有标准答案,只按概率和解码策略一步步采样。因此模型不是一次生成整段答案,而是在上下文条件下连续预测下一个 token。

考点 条件概率
难度 真实面经题
回答目标 让候选人能准确复述 LLM 从输入 token 到 logits、概率分布、解码采样和停止条件的完整推理过程,并能区分训练、推理和常见解码参数。

深入解析

01

文本先被切成 token

模型不能直接处理原始字符串,而是先用 tokenizer 把系统提示、用户问题、历史对话和检索内容切成 token,并映射为整数 id。token 可能是一个词、一个子词、一个字或符号片段。tokenization 会影响上下文长度、成本和生成颗粒度;同一句话在不同 tokenizer 下 token 数可能不同。

02

上下文进入 Transformer 表示空间

token id 会查表得到 embedding,并加入位置相关信息。Transformer 的自注意力机制让每个位置根据上下文计算表示:它会通过 query、key、value 计算注意力权重,从前面的 token 中聚合相关信息。对于自回归语言模型,当前位置只能看到自己和之前的 token,不能看到未来 token,这由 causal mask 保证。

03

隐藏状态投影成 logits

经过多层 Transformer 后,最后一个位置的隐藏状态代表模型对当前上下文的压缩理解。输出层把这个隐藏状态投影到词表维度,得到每个词表 token 的 logits。logits 不是概率,而是未归一化分数;分数越高,模型认为该 token 越适合作为下一个 token。

04

softmax 得到概率分布

logits 经过 softmax 后变成概率分布,总和为 1。temperature 会改变分布形状:低 temperature 让高分 token 更集中,输出更确定;高 temperature 让分布更平,输出更发散。还可以加重复惩罚、频率惩罚或 logit bias 来改变特定 token 的概率。

05

解码策略决定实际输出

概率分布只是候选可能性,解码策略决定最终选哪个 token。greedy 每步选概率最高,稳定但可能死板;sampling 按概率随机采样,更有多样性;top-k 只在前 k 个 token 中采样;top-p 选累计概率达到阈值的一组 token;beam search 保留多条候选路径,但在开放式对话中可能显得重复或不自然。

06

逐 token 循环直到停止

模型选出下一个 token 后,会把它追加到上下文,再预测下一个 token。为了提升效率,推理时通常缓存前面 token 的 key/value,也就是 KV cache,避免每步重复计算全部历史。循环会在生成 eos、遇到停止词、达到最大长度、工具调用边界或安全策略触发时结束。

易错点

  • 说模型一次性生成完整答案,忽略逐 token 预测和循环追加上下文的过程。
  • 把 token 等同于中文汉字或英文单词,没有说明 tokenizer 可能切成子词或符号片段。
  • 把 logits 当成概率,没有讲 softmax、temperature 和概率归一化。
  • 只讲 Transformer 结构,不说明 causal mask 如何保证自回归预测不能看到未来 token。
  • 把解码策略说成训练方法,混淆训练阶段的交叉熵学习和推理阶段的采样选择。
  • 认为模型总是选择概率最高 token,忽略 top-p、top-k、temperature 等策略会引入随机性。
  • 把 hallucination 解释成模型故障,而不是 next-token 目标、上下文不足和事实校验缺失共同导致的现象。

面试官追问

训练和推理阶段有什么区别?

训练时模型看到输入序列,并用每个位置的真实下一个 token 计算交叉熵损失,更新参数;推理时参数固定,模型根据已有上下文输出概率分布,再由解码策略选 token,逐步生成。

为什么 temperature 会影响答案创造性?

temperature 会缩放 logits。低 temperature 放大高低分差异,使最高概率 token 更容易被选中;高 temperature 缩小差异,让低概率但合理的 token 也有机会出现,因此更随机、更有多样性。

top-k 和 top-p 有什么区别?

top-k 固定只保留概率最高的 k 个 token,候选数固定;top-p 按累计概率阈值保留候选,分布集中时候选少,分布分散时候选多。top-p 对不同上下文的不确定性更自适应。

KV cache 为什么能加速推理?

自回归生成每步都会复用之前 token 的注意力 key/value。KV cache 把历史 key/value 缓存下来,新一步只计算新 token 的表示并与缓存交互,避免重复计算整段前文。

next-token prediction 为什么会产生幻觉?

模型优化的是在上下文下生成高概率 token,而不是直接查询真实世界数据库。上下文缺失、训练知识过期、解码过于发散或提示诱导时,模型可能生成语言上合理但事实不正确的内容。