温度参数怎么调——从随机性到确定性
温度到底是什么
温度(Temperature)参数影响模型在选择下一个 token 时的概率分布。温度为 0 时,模型永远选概率最高的那个 token;温度升高,概率分布被拉平,低概率 token 被选中的机会增加。
数值范围与典型行为
| 温度值 | 表现特征 |
|---|---|
| 0.0 | 完全确定。同一个 prompt 每次回复一模一样。适合代码生成、事实性问答。 |
| 0.2 ~ 0.3 | 微确定性。回复稳定但偶尔有细微变化。适合改写、翻译。 |
| 0.5 ~ 0.7 | 默认区间。平衡了稳定与创意。适合日常问答、头脑风暴。 |
| 0.8 ~ 1.0 | 比较发散。适合创意写作、角色扮演。 |
| > 1.2 | 容易出现语法错乱、重复循环。一般不推荐。 |
温度之外还有 Top K
部分模型/版本还暴露 Top K 参数。Top K 把概率最高的 K 个 token 拿出来做候选池,K 越小输出越集中。常用组合:温度 + Top K = 双重控制发散度。
实操建议
代码相关 → 低温
生成代码、解释 API、写函数逻辑时,把温度设到 0.1 ~ 0.3。你需要的是准确而非创意。
创意写作 → 高温
写文案、写诗、头脑风暴时,温度可以放到 0.7 ~ 0.9。不怕它发散,发散才有惊喜。
翻译 → 中低温
翻译不应该有太多创意成分,温度 0.3 ~ 0.5 比较合适。
拿不准 → 从 0.7 开始调
应用默认温度通常在 0.7 左右,这是一个不错的起点。跑几轮看看效果再调。
同一模型不同温度的对比感
同一个 prompt「给我写一句鼓励早起的话」:
- 温度 0.3:倾向生成「早起的鸟儿有虫吃」这类套话变体
- 温度 0.7:可能出「推开窗的那一刻,整个城市都在为你让路」
- 温度 1.0+:有可能开始胡扯甚至重复「早起早起早起」