ELAI S.r.l.

top-p 为 0.9 真的删除 10% 吗?深入理解下一词元选择

通过精确例子解释阈值、核心集合与重新归一化,推导与原分布的距离,并区分概率和文本质量。

top-p 为 0.9 真的删除 10% 吗?深入理解下一词元选择

熟悉的参数,常被误解的承诺

配置语言模型时设置 top-p=0.9,很容易理解为“精确保留 90% 的可能选项”或“删除最差的 10% 答案”。两者都不准确。该参数涉及下一词元候选的概率质量,不是句子百分比,也不判断答案真假。比较配置或复现生成时,这种区别十分重要。

我们深入的问题是实际保留了什么,以及截断使分布改变多少。使用五个合成词元 A–E,不赋予真实词义或质量标签。用精确分数检查边界、并列和温度。不调用模型,实验检验的是数学机制。后文研究结果属于原作者,并非本文实际复现。

概率、词元与支持集

词元是词表单位,可能是词、词的一部分或其他片段。给定先前文本,模型为下一步各候选分配概率,总和为一。记分布为 P,支持集是概率非零的候选集合。采样器按提供的分布选择,可以是 P,也可以是变换后的 Q。缩小支持集和重新分配概率质量都必须说明。

按概率降序排列候选,保留累计概率至少达到 p 的最短前缀,即核心集合。k 表示其大小,q 表示实际保留质量,即这 k 个词元的概率和。p 是阈值,q 是结果。本例明确采用“大于或等于”,并在并列时按确定的标识符顺序处理。

P_1 >= P_2 >= ... >= P_V; sum_i P_i = 1\nk = min{j: sum_(i=1..j) P_i >= p}\nS = {1,...,k}; q = sum_(i in S) P_i\nQ_i = P_i/q if i in S; Q_i = 0 otherwise

V 是候选数,S 为核心,Q 为截断后分布。除以 q 使总质量恢复为一。S 内概率比保持不变,但 q<1 时各绝对概率增大。集合外候选在本步变得不可能。公式中没有任何一项把词元标为“正确”。

五个候选的案例

令 P=(0.52,0.18,0.15,0.10,0.05),累计质量为 0.52、0.70、0.85、0.95、1。p=0.9 时前三个不足,第四个使其越过阈值。保留五个中的四个,即 80% 候选和 95% 概率质量,删除 5% 而非 10%。原因在于词元离散,标准规则不会只保留第四个候选的一半。

除以 0.95 后,Q=(52/95,18/95,3/19,2/19,0)。A 从 0.52 增至约 0.54737,E 变为零,总和仍为一。尚未随机抽取词元,这些是精确计算概率,不是样本频率。JSON 保留所有分数,代码不依赖浮点容差即可验证总和与恒等式。

pkq删除质量
0.5010.520.48
0.7020.700.30
0.8030.850.15
0.9040.950.05
0.9540.950.05
1.0051.000.00

分布改变多少:完整推导

用总变差距离 TV 量化截断:对离散分布,它等于对应概率绝对差之和的一半,相同时为零,最大为一。它衡量概率差异,而非文本语义距离。S 内 Q_i≥P_i,S 外 Q_i=0,因此可以精确分开两部分。

TV(P,Q) = (1/2) sum_i |P_i-Q_i| sum_(i in S) (Q_i-P_i) = 1-q sum_(i not in S) (P_i-Q_i) = 1-q TV(P,Q) = 1-q <= 1-p

核心质量从 q 增至一,增加 1−q,外部损失同样大小,除以二避免重复计数。本例 p=0.9 时 TV=0.05 而非 0.10。恒等式和界限仅针对单步及特定 Q 变换,不表示答案至少有 90% 概率正确,也不表示两段长文本最多仅有 10% 单词不同。

生成是自回归过程,选出的词元进入上下文,改变下一步分布。选择不同后,比较的 P 可能已经不同。将局部性质变成全局保证,需要单独分析序列分布与步骤依赖,不能用“总是删除固定百分比文本的水龙头”比喻代替。

边界与并列:改变结果的细节

p=0.70 时,前两个之和恰为 0.70。采用 ≥ 保留两个,严格 > 则需加入第三个达到 0.85。声明约定后都可理解,但分布不同。使用 Fraction 是为把逻辑差异与二进制小数舍入分开。复现必须检查采样器实际代码,不能只看 top-p 名称。

三个候选各为 1/3、p=1/2 时,需要两个词元,保留质量 2/3。选哪两个取决于并列规则。实验测试两种标识符顺序,得到相同 k、q,却有不同支持集。这不是被宣称的程序错误,而是配置应携带的信息。本约定 p=1 时保留达到一所需的全部正概率候选。

左:p=0.9 时的 P、Q。右:q 随阈值阶梯变化,实心点表示包含边界,空心点表示排除边界。同一合成分布,不是文本质量或创造力测量。
左:p=0.9 时的 P、Q。右:q 随阈值阶梯变化,实心点表示包含边界,空心点表示排除边界。同一合成分布,不是文本质量或创造力测量。

温度与 top-k 回答不同问题

Top-k 固定候选数量,top-p 固定质量阈值并允许数量变化。温度 T>0 在截断前改变权重:正概率下 P_T(i) 与 P(i)^(1/T) 成比例。代码把这个浮点示例与前面的精确计算分开。阈值 0.9 时,T=0.5 保留三个,T=1 四个,T=2 五个,所以温度还会改变后续 top-p 的支持集。

正温度保留排序,却不保留累计质量,因此温度前后选择核心一般不等价。“四个候选”也不是通用多样性指标,因为概率可能不均衡,词元可能表达相近含义。增加支持集不能单独证明真实性、安全性、创造力或精度提升。

从起源到近期研究:有哪些证据

基础文献为 Ari Holtzman、Jan Buys、Li Du、Maxwell Forbes、Yejin Choi 的 The Curious Case of Neural Text Degeneration,arXiv v2 日期为 2020 年 2 月 14 日,发表于 ICLR 2020。已阅读 3.1–3.3 节、实验设置、分析及 HUSE 部分。GPT-2 续写实验不是全部当代模型的基准。HUSE 结合统计评估与原作者的人类判断,其截断处理协议还使用插值;这些判断不是本文的人工审核。

近期背景阅读了 Xiaotong Ji、Rasul Tutunov、Matthieu Zimmer、Haitham Bou-Ammar 的 Decoding as Optimisation on the Probability Simplex,arXiv:2602.18292v2,日期 2026 年 2 月 25 日,按预印本处理。3.4 节通过受限支持集和归一化解释 top-p。BoK 表 1–3 使用两个 7B Qwen、MATH500、GPQA-diamond、HumanEval,多种温度,最长 3072 并在 EOS 停止。比较对象为 Base、Top-K、BoK,不是 top-p 优越性的实验证明。本文不复现这些基准,也不提出普遍推荐。

复现机制,不编造基准

归档包含 experiment.py、plot.py、全部结果及说明。主计算使用 Fraction,无抽样因此不需种子;温度示例单独标明浮点。断言检查总和一、保留质量、TV=1−q、≥ 与 > 边界及并列规则。V 个候选完整排序约需 V log V 次比较,累计扫描为 V;优化实现可采用其他策略。未测量 LLM 引擎延迟或内存。

企业应用需要另一项实验:固定模型、分词器,记录提示词、质量标准、采样器版本、变换顺序、重复次数及生成预算,才能比较质量与变化,而非仅看核心大小。不把未记录的专有解码器或结果归于 EL-AI。本文是机制技术分析,不是同行评审原创研究。

答案:0.9 是阈值,不是质量保证

不是。top-p=0.9 不必删除 10% 质量,更不是选择最好的 90% 答案。本例保留四个候选、质量 0.95,与 P 的 TV 距离 0.05。规则纳入使累计质量达到阈值的候选,再归一化。理解这一点有助于准确阅读配置,并识别尚待测量的内容:在真实任务上依合适协议评估序列质量。

参考文献

Holtzman et al. — The Curious Case of Neural Text Degeneration, ICLR 2020, arXiv v2.

Ji et al. — Decoding as Optimisation on the Probability Simplex, 2026, preprint v2.

from fractions import Fraction as F
P=[F(52,100),F(18,100),F(15,100),F(10,100),F(5,100)]
p=F(9,10);mass=F(0);k=0
for value in P:
    mass+=value;k+=1
    if mass>=p:break
Q=[value/mass if j<k else F(0) for j,value in enumerate(P)]
tv=sum(abs(a-b) for a,b in zip(P,Q))/2
assert k==4 and mass==F(19,20) and tv==F(1,20)
print(k,mass,Q,tv)

代码、数据与说明 · JSON. 教学计算使用 Python 3.14.0,图使用 Matplotlib 3.11.2。分析由 AI 辅助,不声称经过同行评审或人工审核。原创 ImageGen 封面仅作示意,不记录 EL-AI 人员、场所或实际安装。来源查阅于 2026 年 10 月 21 日。