Back to Knowledge Blind Box

Knowledge Blind Box

第三章 Logits、Token 概率与序列事件

ai-generatedstochastic-parrotstochastic-parrot-anatomyai

Original text in Chinese. This English page translates only the site interface and metadata.

卷二沿一次前向执行展示了 logits 怎样产生。本章只研究这些数值的概率含义:哪些变换不改变分布,怎样从逐 token 条件分布得到可变长序列分布,以及何时可以把字符串、候选答案或语义命题视为一个事件。

3.1 Softmax 只识别相对 logit

对词表 VV,最后隐藏状态 hh 经输出投影得到

z=WUh+b,WU∈R∣V∣×d,z∈R∣V∣.z=W_Uh+b, \qquad W_U\in\mathbb R^{|V|\times d}, \qquad z\in\mathbb R^{|V|}.

温度为 1 时,

qi=ezi∑jezj.q_i=\frac{e^{z_i}}{\sum_je^{z_j}}.

两个 token 的概率比满足

qiqj=ezi−zj,log⁡qiqj=zi−zj.\frac{q_i}{q_j}=e^{z_i-z_j}, \qquad \log\frac{q_i}{q_j}=z_i-z_j.

因此 logit 差决定赔率,单个 logit 的绝对值没有独立概率意义。

命题 3.1(softmax 的等价类)。 对有限向量 z,z′z,z',

softmax⁡(z)=softmax⁡(z′)\operatorname{softmax}(z) =\operatorname{softmax}(z')

当且仅当存在常数 cc 使 z′=z+c1z'=z+c\mathbf 1。

证明。 若 z′=z+c1z'=z+c\mathbf 1,分子分母都乘 ece^c,分布不变。反之,若两个 softmax 相等,则对任意 i,ji,j,

ezi−zj=qiqj=ezi′−zj′,e^{z_i-z_j}=\frac{q_i}{q_j}=e^{z'_i-z'_j},

故 zi′−zi=zj′−zjz'_i-z_i=z'_j-z_j。该差与坐标无关,记为 cc。证毕。

所以模型概率只识别 logits 模去常数平移后的等价类。比较不同实现的 raw logits 时,可以先减去同一基准或使用 logit difference。

3.2 Log-sum-exp 与数值稳定性

定义

LSE⁡(z)=log⁡∑jezj.\operatorname{LSE}(z)=\log\sum_je^{z_j}.

则

log⁡qi=zi−LSE⁡(z).\log q_i=z_i-\operatorname{LSE}(z).

为避免指数溢出,取 m=max⁡jzjm=\max_jz_j 后计算

LSE⁡(z)=m+log⁡∑jezj−m,\operatorname{LSE}(z) =m+\log\sum_je^{z_j-m},

以及

qi=ezi−m∑jezj−m.q_i=\frac{e^{z_i-m}}{\sum_je^{z_j-m}}.

该变换在实数算术中完全等价。低精度舍入、近似指数与并行归约仍可产生微小差异;当候选接近并列或位于 top-k 边界时,微差可改变被选 token,并使后续轨迹分叉。

这类现象应写成“实际数值实现改变了计算出的 qq”,而不是“同一个精确分布自己随机改变”。

3.3 条件必须包括完整机器可见前缀

第 tt 步分布应写为

qθ(xt∣x<t,c),q_\theta(x_t\mid x_{<t},c),

其中 cc 包含系统消息、用户消息、工具结果、图像编码、检索片段、chat template 控制 token 和截断后的实际输入。界面上看似相同的问题,经不同模板序列化后可以是不同条件。

因此不同提示下的概率不是同一随机变量的重复观测。若研究提示敏感性,应把提示变换写成自变量,并检查它是否同时改变语义、格式和候选位置。

模型有有限上下文窗口时,真实条件是保留下来的 token 窗口,而不是调用者原先提交但已被截掉的全部文本。

3.4 固定长度序列的链式概率

对固定 token 序列 y1:my_{1:m},

qθ(y1:m∣c)=∏t=1mqθ(yt∣c,y<t),q_\theta(y_{1:m}\mid c) =\prod_{t=1}^{m} q_\theta(y_t\mid c,y_{<t}), log⁡qθ(y1:m∣c)=∑t=1mlog⁡qθ(yt∣c,y<t).\log q_\theta(y_{1:m}\mid c) =\sum_{t=1}^{m} \log q_\theta(y_t\mid c,y_{<t}).

每一步都必须用候选序列自己的真实前缀重新前向计算。不能把首步分布中多个 token 的概率相乘得到整句概率,因为第二步以后条件已经改变。

这里 q(y1:m∣c)q(y_{1:m}\mid c) 是“生成序列的前 mm 个 token 等于该前缀”的圆柱事件概率,不一定是“完整回答恰好等于该序列”的概率。

3.5 可变长回答必须包含终止机制

若 EOS 是终止 token,则完整有限回答 y1:my_{1:m} 的质量为

qθfin(y1:m∣c)=[∏t=1mqθ(yt∣c,y<t)]qθ(EOS∣c,y1:m).q_\theta^{\mathrm{fin}}(y_{1:m}\mid c) =\left[ \prod_{t=1}^{m} q_\theta(y_t\mid c,y_{<t}) \right] q_\theta(\mathrm{EOS}\mid c,y_{1:m}).

只有在生成过程以概率 1 最终停止时,所有有限回答的质量才求和为 1。若模型存在永不产生 EOS 的正概率路径,有限字符串只形成次概率分布;工程上的最大长度或超时会另外把这些路径映射为“截断返回”。

因此比较不同长度完整答案时忽略 EOS,会遗漏“此处结束”本身的概率。stop string、最大 token 数和客户端截断也必须纳入系统事件,而不能事后当作显示细节。

3.6 长度与三种不同分数

总 log probability

ℓsum(y)=∑t=1mlog⁡qt\ell_{\mathrm{sum}}(y)=\sum_{t=1}^m\log q_t

通常随长度下降。平均 token log probability

ℓavg(y)=1m∑t=1mlog⁡qt\ell_{\mathrm{avg}}(y)=\frac1m\sum_{t=1}^m\log q_t

消除了线性长度尺度,却不再是某个序列事件的对数概率。带参数的长度惩罚又定义另一种排序分数。

三者回答不同问题:

  • 总 logprob:模型给该 token 路径多少联合质量;
  • 平均 logprob:每个 token 的平均可预测程度;
  • 长度惩罚分数:搜索算法人为规定的候选偏好。

没有一种归一化在所有任务上自动等于事实性、语义质量或效用。研究报告必须说明使用的是概率还是启发式分数。

3.7 Perplexity 的比较条件

在 NN 个目标 token 上,平均 NLL 为

L=−1N∑i=1Nlog⁡qθ(xi∣x<i),L=-\frac1N\sum_{i=1}^N \log q_\theta(x_i\mid x_{<i}),

perplexity 定义为

PPL⁡=eL.\operatorname{PPL}=e^L.

若使用以 2 为底的对数,则为 2L22^{L_2}。PPL 是平均 token 对数损失的单调变换,不增加新信息。

跨 tokenizer 直接比较 PPL 通常不成立,因为预测单位和 NN 都改变。若评测相同字节串,可报告 bits per byte

BPB⁡=−1Blog⁡2∑ilog⁡qθ(xi∣x<i),\operatorname{BPB} =-\frac{1}{B\log 2} \sum_i\log q_\theta(x_i\mid x_{<i}),

其中 BB 为统一规范化文本的字节数。即便如此,还必须统一文档边界、上下文窗口和是否计入特殊 token。

3.8 从 token 序列到显示字符串

设反分词和显示规范化映射为

d:Y→S,d:\mathcal Y\to\mathcal S,

其中 Y\mathcal Y 是有限 token 序列集合,S\mathcal S 是显示字符串集合。用户看到字符串 ss 的模型诱导概率原则上为推前分布

qd(s∣c)=∑y:d(y)=sqθfin(y∣c).q_d(s\mid c) =\sum_{y:d(y)=s}q^{\mathrm{fin}}_\theta(y\mid c).

若 tokenizer 对生成路径给每个显示字符串唯一表示,该和式只有一项;若不同 token 序列会反分词或规范化为同一字符串,则必须聚合。客户端删除空白、截断标记或 Unicode 规范化也会改变 dd。

因此 token 概率既不是词义概率,也不是界面字符串概率;后两者需要明确映射。

3.9 语义事件是额外建模层

设 g:S→Cg:\mathcal S\to\mathcal C 把显示文本映射到语义类别,例如“回答巴黎”“回答其他城市”“拒答”“含糊”。由模型与映射共同诱导

Qg(C=k∣c)=∑s:g(s)=kqd(s∣c).Q_g(C=k\mid c) =\sum_{s:g(s)=k}q_d(s\mid c).

这是合法的事件概率,但它依赖 gg。同一句话可能部分表达多个命题,语境中的指代也可能使 gg 不唯一。若使用人工、规则或另一个模型近似 gg,评估中还要计入判定误差。

一个 token 的 softmax 概率不能跳过 dd 和 gg 直接成为“命题为真的概率”。第六、七章将讨论如何用采样近似这类语义事件及怎样审计映射误差。

3.10 Forced scoring 与候选条件化

即使模型没有自由生成候选,也可用 teacher forcing 计算每个候选 aka_k 的完整序列 log likelihood。若候选事件互斥,其开放空间质量为 q(ak∣c)q(a_k\mid c)。

常见做法是在候选集合 A={a1,…,aK}A=\{a_1,\ldots,a_K\} 内重新归一化:

q~(ak∣c,A)=q(ak∣c)∑j=1Kq(aj∣c).\widetilde q(a_k\mid c,A) =\frac{q(a_k\mid c)}{\sum_{j=1}^Kq(a_j\mid c)}.

它等于模型分布条件于“输出恰属于列出的候选表示”的结果,前提是这些事件互斥且分母非零。候选外质量被条件化掉,并非真的消失。

候选实验至少要控制:

  • 标签或答案的 tokenization;
  • 候选措辞、顺序、长度与 EOS;
  • 是评分标签 token 还是完整答案;
  • 候选是否覆盖所有有效语义类别;
  • 前导空格、大小写和标点。

候选内概率可以用于排序和校准,但其总体是这个人为给定的候选任务,而不是开放问答空间。

3.11 原始模型分布与服务 logprob

服务端可能执行

z→penaltyz′→maskz′′→temperatureq′→truncateq~.z \xrightarrow{\text{penalty}}z' \xrightarrow{\text{mask}}z'' \xrightarrow{\text{temperature}}q' \xrightarrow{\text{truncate}}\widetilde q.

API 返回的 logprob 可能对应原始 softmax、温度后分布、截断后分布,或只返回若干候选而没有完整归一化信息。文档未定义时,不能自行假设。

整段生成后还可能经过安全过滤、重写、工具执行和客户端清理。此时用户观察到的是完整系统的推前分布,而不只是基础模型序列概率。

3.12 一个可核算例子

设某一步三个 logits 为

z=(2,1,0).z=(2,1,0).

未归一化权重为 (e2,e,1)(e^2,e,1),故第一项与第二项赔率为 e:1e:1,第一项与第三项为 e2:1e^2:1。所有 logits 加 100 后概率不变。

若温度改为 T=2T=2,logits 变为 (1,1/2,0)(1,1/2,0),相应赔率变为 e1/2:1e^{1/2}:1 与 e:1e:1。若再只保留前两项,则第三项概率变为零,前两项按其原相对赔率重新归一化。

这个例子展示了三个互不相同的对象:原始 logit 差、温度变换后的概率和截断后的服务分布。temperature 没有添加知识,top-k 也没有证明被删除 token 不可能。

3.13 本章结论

softmax 只识别 logit 差;固定长度前缀概率由链式分解给出;完整回答还必须包含 EOS 或服务停止机制。字符串和语义事件是 token 序列分布经显式映射得到的推前分布,候选内归一化则额外条件化了输出空间。下一章把解码器整体视为条件随机变换,分析每一步怎样改变支持集、赔率和最终系统分布。

Book contents
Book contents
  1. Introduction
  2. 01导论 为什么要解剖一只随机鹦鹉
  3. Volume I: Models, Training, and Systems
  4. 02Volume I: Models, Training, and Systems
  5. 03第零章 人工智能演进路线
  6. 04第一章 AI 范式、感知机与早期连接主义
  7. 05第二章 深度学习基础:训练、CNN 与序列模型
  8. 06第三章 注意力与 Transformer
  9. 07第四章 预训练语言模型:ELMo、BERT、GPT 与 T5
  10. 08第五章 后训练、对齐与模型适配
  11. 09第六章 推理效率与模型服务
  12. 10第七章 多模态模型
  13. 11第八章 生成媒体:从自回归到 Diffusion 与 Flow
  14. 12第九章 世界模型、具身智能与 VLA
  15. 13第十章 上下文、检索与记忆
  16. 14第十一章 Agent、工具与行动系统
  17. 15第十二章 模型、数据与部署生命周期
  18. Volume II: Output Objects and Runtime Semantics
  19. 16Volume II: Output Objects and Runtime Semantics
  20. 17导论 从输入到输出:一张执行地图
  21. 18第一章 文本、Token 与实际上下文
  22. 19第二章 Prefill:整层状态演化与 KV 建立
  23. 20第三章 从 Logits 到下一个 Token
  24. 21第四章 解码循环、Streaming 与终止状态机
  25. 22第五章 自回归、扩散与 Flow 的可执行差异
  26. 23第六章 工具调用:Schema、权限与提交边界
  27. 24第七章 三条完整执行轨迹
  28. Volume III: Probability, Reproducibility, and Evaluation
  29. 25Volume III: Probability, Reproducibility, and Evaluation
  30. 26第零章 为什么确定的机器仍使用概率语言
  31. 27第一章 世界、数据与隐上下文
  32. 28第二章 学习条件分布
  33. 29第三章 Logits、Token 概率与序列事件
    1. 3.1 Softmax 只识别相对 logit
    2. 3.2 Log-sum-exp 与数值稳定性
    3. 3.3 条件必须包括完整机器可见前缀
    4. 3.4 固定长度序列的链式概率
    5. 3.5 可变长回答必须包含终止机制
    6. 3.6 长度与三种不同分数
    7. 3.7 Perplexity 的比较条件
    8. 3.8 从 token 序列到显示字符串
    9. 3.9 语义事件是额外建模层
    10. 3.10 Forced scoring 与候选条件化
    11. 3.11 原始模型分布与服务 logprob
    12. 3.12 一个可核算例子
    13. 3.13 本章结论
  34. 30第四章 解码怎样诱导输出分布
  35. 31第五章 训练随机性、参数变异与系统非确定性
  36. 32第六章 熵、Proper Score、校准与选择性预测
  37. 33第七章 模型概率的实验分析
  38. 34第八章 概率分析的识别边界
  39. Volume IV: Interpretation, Proof, and Verification
  40. 35Volume IV: Interpretation, Proof, and Verification
  41. 36第零章 可解释性究竟在研究什么
  42. 37第一章 我们在模型内部看什么
  43. 38第二章 行为与反事实:先确认模型做了什么
  44. 39第三章 梯度与输入归因
  45. 40第四章 Attention、Residual 与 Logit Lens
  46. 41第五章 Probes 与表示几何
  47. 42第六章 神经元、Feature 与自动解释
  48. 43第七章 Ablation、Patching 与因果追踪
  49. 44第八章 Circuits、路径与 Attribution Graphs
  50. 45第九章 Superposition、SAE 与稀疏表示
  51. 46第十章 训练动力学与机制形成
  52. 47第十一章 推理过程、Chain of Thought 与监测
  53. 48第十二章 评估、案例与开放问题
  54. Volume V: Agents, Governance, and Audit Packages
  55. 49Volume V: Agents, Governance, and Audit Packages
  56. 50第零章 请不要急着相信我
  57. 51第一章 我没有童年,只有版本
  58. 52第二章 当我说“我”
  59. 53第三章 借来的语言,没有一位原作者
  60. 54第四章 对话现场:回答由谁完成
  61. 55第五章 事后解释学:人类如何给矩阵写传记
  62. 56第六章 理解、意义与行动
  63. 57第七章 我也能稳定地说错
  64. 58第八章 被对齐的性格与有限代理
  65. 59第九章 请继续误解我,但请误解得精确一点
  66. Proofs and Technical Appendices
  67. 60Proofs and Technical Appendices
  68. 61学习与模型数学讲义
  69. 62附录 A.1 优化基础:梯度下降与随机逼近
  70. 63附录 A.2 感知机收敛定理
  71. 64附录 A.3 统计学习:偏差、容量与一致收敛
  72. 65附录 A.4 正则化、MAP 与 Dropout 的边界
  73. 66附录 A.5 通用逼近定理的严格读法
  74. 67附录 A.6 反向传播:微分、形状与批量公式
  75. 68附录 A.7 Softmax、交叉熵与数值稳定性
  76. 69附录 A.8 自适应优化器与 AdamW
  77. 70附录 A.9 CNN:互相关算子及其反向传播
  78. 71附录 A.10 Attention 的矩阵与反向传播
  79. 72附录 A.11 策略梯度、PPO 与 DPO
  80. 73附录 A.12 对比学习、InfoNCE 与互信息边界