Temperature
为什么需要了解 Temperature
同一段 Prompt,每次调用模型生成的内容可能不一样——有时候差别很小,有时候差别很大。
这是因为模型在生成每个词时,不是在"选最正确的那个",而是在"按概率抽样"。Temperature 就是控制这个"抽样有多保守或多激进"的参数。
理解 Temperature,能帮你调出更符合预期的输出——是稳定的代码,还是有创意的文案,是精确的抽取,还是自由的脑暴。
什么是 Temperature
一句话定义:Temperature 控制模型输出的随机性。值越低越稳定,值越高越有变化。
类比:Temperature 就像调"保守程度"的旋钮:
- 调到低 = 模型选最稳妥的词,像考试时写标准答案
- 调到高 = 模型愿意冒险尝试,像创意写作时大胆发挥
实际效果:
0.0 - 0.3:很稳定,适合代码、抽取、规则型回答0.4 - 0.6:稳中带变,适合日常问答、总结、客服0.7 - 1.0:更有变化,适合创意写作、脑暴、文案
怎么做:什么时候调高 / 调低
调低的场景(追求稳定):
- 代码生成:同一个功能,代码应该基本一致
- 信息抽取:从文本里提取字段,要准确不能跑偏
- 数学、逻辑、规范性回答:答案唯一
- 需要可复现的结果:测试、调优时希望输出稳定
调高的场景(追求变化):
- 创意写作:需要多样化表达
- 广告文案:同义改写、多个版本
- 头脑风暴:希望有意外想法
- 生成多个不同表述版本
关于采样方式的另一个控制参数,可以看 Top-p 词条——它和 Temperature 都在控制随机性,但方式不同。
常见坑:
- Temperature 高不等于更聪明:只是更随机,不代表更准确
- 复杂推理通常需要低 Temperature:推理需要稳定性,而不是随机性
- 所有任务用同一个值:不同任务类型差异很大,最好按场景配置
记住这一句:Temperature 是"保守/激进"的旋钮,低了更稳,高了更有变化——但高了不等于更好。
标签
温度参数随机性创造性temperature