temperature 参数及相关采样策略的知识点梳理:一、temperature 参数的核心作用
temperature 控制大模型输出概率分布的集中程度,而非直接添加随机性。随机性源于采样过程本身,temperature 仅改变模型做选择时概率分布的形状:高温(T > 1):logit(模型输出的原始得分)之间的差距被压缩,softmax 后的分布更平坦,低概率 token 被选中的概率增加,输出更具多样性(但非 “创造力”,只是采样冒险程度更高)。
低温(T < 1):logit 之间的差距被放大,分布更尖锐,高概率 token 几乎垄断选择,输出更确定、保守。
T = 0:退化为贪心解码,模型不再采样,直接选取概率最大的 token。但实际工程中,因 GPU 浮点运算顺序、数值精度等问题,偶尔会出现结果差异(非
temperature本身导致)。
二、大模型生成 Token 的三步流程
输出 Logit 向量:模型最后一层输出维度等于词表大小的向量,每个元素对应一个 token 的原始得分(logit,可为任意实数)。
Softmax 生成概率分布:对 logit 做 softmax 运算,将其压缩为合法的概率分布(各值在 0-1 之间,和为 1)。
采样输出 Token:从概率分布中随机抽取一个 token 作为输出,随机性产生于此步骤。
三、temperature 的作用时机与原理
temperature 作用于Softmax 之前,通过将每个 logit 除以 temperature 的值,缩放概率分布的形状。公式为:
\(P(i)=∑jexp(zj/T)exp(zi/T)\)
(其中 zi 是原始 logit,T 是 temperature)
四、与 Top-K、Top-P 的区别与组合
Top-K:在 Softmax 后的概率分布中,仅保留前 K 个概率最高的 token,其余清零后重新归一化。是硬截断,控制候选池的大小。
Top-P(Nucleus Sampling):从最高概率 token 开始累加,当总概率超过 P 时停止,仅保留这些 token。是动态截断,控制候选池覆盖的概率质量。
执行顺序:
temperature缩放 logit → Softmax → Top-K 截断 → Top-P 截断 → 采样。推荐组合:
T=0.7 + Top-P=0.9,先收窄分布,再剪掉低概率尾部,平衡多样性与确定性。
temperature作用于 Softmax 前,通过缩放 logit 改变概率分布形状,不添加随机性,仅调整分布集中程度。高温使分布平坦,低概率 token 易被选中;低温使分布尖锐,高概率 token 占主导;
T=0退化为贪心解码。temperature、Top-K、Top-P 均作用于采样环节但切入点不同,可组合使用。实际任务中,确定性任务用低温,多样化任务用中高温,参数需结合任务实验确定。