☰
温度和 top-p 到底在调什么:采样参数入门
2026/10/10 15:12:02 网站建设 项目流程

从"模型输出了什么"说起

很多人以为模型输出的是一个词,其实它每次输出的是一整张概率分布——词汇表里每个词各有一个分数,表示在这个上下文里它有多合适。

真正决定最终吐出哪个词的,是这张分布之后的采样策略。而温度和 top-p(以及 top-k),就是调这张分布形状的三个旋钮。

温度:把分布变尖或变平

温度作用在概率分布上:温度低,分布变尖,高概率的词更容易被选中;温度高,分布变平,原本概率很低的词也有了机会。

可以这样理解:

  • 温度趋近 0:几乎变成"每次选概率最高的那个",输出稳定、可复现,但容易重复、显得呆板
  • 温度适中:保留变化空间,又不至于乱说
  • 温度偏高:多样性上升,但连贯性和事实性会下降

top-p 与 top-k:先把明显不合适的候选砍掉

温度解决的是"分布有多平",但它不解决一个问题:词汇表里有大量概率极低但数量庞大的词,它们累加起来的总概率可能不小。温度调高时,模型就可能从这些"长尾"里抽到明显不合理的词。

top-p(核采样)的做法是:把词按概率从高到低累加,累计到某个阈值就把后面的全部砍掉,只在前面的"核心集合"里采样。top-k 更直接:只保留概率最高的前若干个。

模型输出原始分数

转成概率分布

温度:整体变尖或变平

top-k / top-p:砍掉长尾候选

在剩余候选里采样

输出这个 token

拼回上下文,进入下一步

三个参数的对照

参数作用对象主要影响典型使用场景
温度整个分布输出随机性与多样性温度低偏稳定,高偏创意
top-k候选数量硬性限制候选池大小简单直接,但池子大小不随场景自适应
top-p候选累积概率自适应地限制候选池常与温度搭配,控制长尾带来的离谱输出

实践中常见的搭配是:先用温度定整体基调,再用 top-p 兜住长尾。两者不是独立作用,调一个往往需要重看另一个。

三个常见误解

误解一:温度越高越有创意。温度提高的是随机性,随机性不等于创意。超过某个点,输出会先失去连贯,然后才可能偶尔出现意外的组合。

误解二:温度设为 0 就完全可复现。即便是贪心解码,实际工程里仍可能受并行计算、批处理、数值精度等因素影响而出现细微差异。要严格复现,需要额外的工程约束。

误解三:把参数当"调优"的门槛。大多数体验问题来自提示与上下文,而不是采样参数。先修输入,再调旋钮,顺序反了会一直在错误的层面上调参。

一套简单的设定思路

  1. 先明确你要的是稳定还是发散——这决定了温度的区间
  2. 用 top-p 设一个上限,确保长尾里那些明显不合理的词进不来
  3. 固定一个基线配置,用它跑你自己的任务集,观察失败模式
  4. 只改一个参数、只改一个方向,确认影响后再动下一个

收尾

温度决定"你允许它多冒险",top-p 决定"哪些候选根本不参与冒险"。把这两个旋钮和"分布形状"对应起来,调参就不再是凭感觉试数字,而是有方向的调整。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询