前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库next token prediction 生成概率 softmax
AIAI 开发大模型基础

为什么说大语言模型的本质是下一个 token 预测,概率是如何计算的?

大语言模型的本质是自回归的“下一个 token 预测”:每次只根据已生成的完整前缀,计算词表上每个 token 的条件概率,然后选取或采样一个作为下一步输出,循环直到终止。

前端进阶之旅 · 一题精讲更新于 2026.09.05
AI 开发#大模型基础
先看核心答案
理解线索

自回归生成链的钥匙

  1. 条件概率下一步概率取决于全部历史,不只是最后一个词。
  2. logits 映射隐状态与词表权重相乘,产生未归一化分数。
  3. softmax 归一指数化后除以总和,得到正概率分布。

每个解码步只取最后位置的分布,但计算该分布时用到了完整前缀的编码。

核心回答

先记住这个答案

模型将文本生成拆解为条件概率链:P(t1,t2,...) = ∏ P(t_i | t_<i)。每一步,Transformer 编码当前序列,取最后 token 的隐状态,经线性层得到词表大小的 logits 向量,再通过 softmax 转为和为 1 的概率分布。解码时,通常按该分布做贪心或采样得到下一个 token,并拼接到输入,重复至结束符。概率计算的核心就是 softmax 归一化,它把任意实数的 logits 压缩为有效的概率值。

  • 生成是自回归链式条件概率,每次依赖全部已生成 token。
  • 最后隐状态经线性层和 softmax 得到词表上的分布。
  • 采样参数改变的是选择策略,不是模型预测的本质。

从输入序列到概率分布的全过程

实际运行中,模型以当前已生成的 token 序列(例如 [“你”,“好”])作为输入。Transformer 解码器对每个位置都产生一个向量表示,而只有最后一个位置的向量被当作预测“下一个 token”的全部依据。这个向量形状为 [hidden],随后乘以一个形状为 [hidden, vocab_size] 的线性权重矩阵,得到 vocab_size 个数值,这就是 logits——每个候选 token 的得分,数值可正可负,没有归一化约束。

要变成概率,需对 logits 做 softmax 变换:先对每个值取自然指数(exp),再除以所有指数值的总和。公式为 p_i = exp(z_i) / Σ_j exp(z_j),这样所有概率非负且加和为 1。模型自带的 token 顺序与得分无关,但得分大小会直接决定哪个 token 更可能被选中。贪心解码直接取 argmax,而采样则从该分布中按概率抽取,所以概率是生成决策的基础。

一个迷你词表下的逐步生成示例

假设一个极简环境:输入“人工智能”,词表仅包含 [“是”,“未来”,“,”] 三个 token。模型经编码后,最后隐状态经线性层得到的 logits 是 [2.0, 1.0, 0.5]。取指数得到 [7.39, 2.72, 1.65],总和约 11.76,则概率分别为 [0.628, 0.231, 0.140]。若用贪心,则选“是”;若用温度为 1.5 的采样,需先将 logits 除以 1.5 再 softmax,新分布会拉低高概率与低概率的差距,可能随机抽出“未来”。选中“是”后,新序列变为“人工智能是”,再次作为输入重复上述流程。第二次可能得到 logits 为 [0.3, 1.5, 4.0],经 softmax 后“,”的概率最高,但也有不可忽略的概率抽到“未来”或“是”。每次生成都建立在当前完整上下文的重新编码上,因此前面的选择会约束后续方向。工程中常见温度、top-k 等参数就是在这一步对 logits 或概率调整,但模型“下一个 token 预测”的框架不变。

上述自回归过程会持续,直到模型输出一个指定的结束标记(如 [EOS])或达到预设的最大长度。每一步把新产生的 token 拼接到已有序列,再作为输入计算下一步的分布。值得注意的是,虽然实际推理常使用 KV Cache 缓存历史键值以加速,但概率的数学本质仍是基于完整前缀的条件分布。

哪些情况会偏离理想概率模型

显存或序列长度过大时,实际推理常用 KV Cache 缓存历史键值,但即便如此,最后 token 的概率仍然是在整条前缀上计算,只是使用缓存避免重复编码。不过若上下文超长,注意力漂移会影响对中间信息的利用,导致“最后位置”不一定能有效聚合早期内容,但这属于能力边界而非机制改变。

生成阶段常引入重复惩罚:对已出现 token 的 logits 做惩罚(例如将相同 token 的分数减半),这会直接改变 softmax 输入,使概率分布偏离模型原本的预测。此外,top-p、top-k 采样会截断概率空间后再重新归一化,同样改动分布。因此严格说,API 返回的概率可能已被后处理,并非原始模型的概率。理解这一点可避免将采样参数误解为模型自身的不确定性。

回答前,多想一步

容易答错的地方

认为模型直接给出所有 token 的联合概率
实际上模型只计算条件概率 P(next | context),不会直接给出整句生成概率。所有 token 的联合概率是逐次条件概率相乘的产物,工程上通常按对数求和避免下溢。训练时用教师强制并行计算,但推理时仍是自回归逐步来。
混淆 logits 本身与概率
logits 是未归一化得分,可正可负且无上下界,不能直接当作概率值。虽然 logit 越高对应概率越高,但概率的取值受所有 logits 的相对差经 softmax 决定,因此不应将 logits 的绝对大小解释为概率。
试着用自己的话回答

面试官还会怎么问?

训练时的“下一个 token 预测”和推理时有什么不同?

训练阶段利用教师强制,在真实前缀上同时并行预测每个位置的下一 token,用交叉熵衡量误差。推理时模型自己生成前缀,误差会导致偏差累积,这是曝光偏差(exposure bias)的来源。

温度 t=0 是不是算概率最高的 token?

严格说 t=0 时 softmax 因除以零无效,工程上通常将 logits 乘以一个极大数,使概率分布趋近于 one-hot,效果等于贪心取 argmax。因此 t=0 可视为确定性的贪心策略。

为什么模型有时会重复生成同一个词?

当前已生成词在上下文中大量出现,可能使模型判断“接下来也出现它”概率高。重复惩罚通过降低这些 token 的 logits 来抑制,但过度惩罚可能破坏连贯性。

从一道题,走向一组知识

把知识连起来

大模型基础

大模型输出的 logits 是什么,如何从中解读模型对每个 token 的置信程度?

深入解读 logits 与概率的关系,补充置信度度量等细节,有利于理解 softmax 后的分数如何反映模型内部状态。

大模型基础

大模型采样参数 temperature 如何影响生成文本的分布?

解释温度如何调整 logits 再 softmax,是理解概率计算后实际采样策略的直接延伸。

参考资料

  • Transformers

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 从输入序列到概率分布的全过程
  3. 一个迷你词表下的逐步生成示例
  4. 哪些情况会偏离理想概率模型
  5. 容易答错的地方
  6. 面试官还会怎么问
  7. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑