温度与 top_p:参数怎么调才不飘

一、温度参数的真相

温度高,输出发散;温度低,输出稳定。

这是对的,但只说了一半。

真正的问题是:什么任务应该发散,什么任务不该。

二、四个任务的推荐值

任务温度理由
抽取字段0 - 0.2不允许换说法
分类判定0 - 0.2同上
改写润色0.5 - 0.7需要变体
创意发散0.8 - 1.0需要多样性

超过 1.0 之后,很多模型的输出会开始胡言,不建议日常使用。

三、top_p 是什么

它控制“从多少个候选词里挑”。

top_p = 0.9 表示只看概率排前 90% 的词。

它和温度有重叠,一般只调一个。

四、一个常见误用

同时把温度和 top_p 调到很高,指望“更有创意”。

实际结果往往是跑题。

想要创意,用提示词给方向,不要用参数乱潘。

五、其他两个值得注意的参数

最大输出长度。 设小了会截断,设大了会变啰嗦。

频率惩罚。 轻微加一点能减少重复,加多了会拆句。

六、怎么调

我的顺序:

  1. 先把温度设 0.2,确保能做对。
  1. 能做对后,再考虑要不要更多变化。
  1. 每次只调一个参数,跑十次看稳定性。
  1. 把最佳值写进配置,不要凭记忆。

七、一个反常识的结论

大多数生产任务,温度都该接近 0。

“有创意”的需求,其实远比想象中少。

八、一个提醒

不要拿别人的参数值直接用。

不同模型对温度的敏感度不同,0.7 在一个模型上温和,在另一个上已经乱。

九、扩展阅读

想理解采样与概率的基础,可以看模型原理类文档。

万象云档 的人工智能分类里的原理类文档比博客靠谱,不会把 top_p 和温度混为一谈。