- Published on
Temperature参数在生成式AI中作用
Temperature 参数在生成式 AI 中用于控制模型输出的随机性/创造性,其核心作用在于调整 Softmax 函数归一化之前的 Logits 数值,从而影响最终的概率分布。
1. 核心流程
模型的输出流程是这样的:
Logits → (Temperature 缩放) → Softmax 归一化 → 概率分布 → 采样
- Logits:模型原始输出的、未经归一化的“分数”或“证据”,每个可能的词(Token)都有一个 Logit 值。数值越高,模型“认为”这个词出现在下一个位置的可能性越大。
- Softmax:一个数学函数,将所有 Logits 转换为一个概率分布,使得所有词的概率之和为 1。
Temperature 的关键作用,就发生在 Logits 进入 Softmax 之前。
2. Temperature 如何调整 Logits?
其操作是一个简单的除法:调整后的 Logits = 原始 Logits / Temperature
- Temperature (T) 是一个大于 0 的数值。
情况一:低温度 (T < 1.0,例如 0.5)
- 公式:
调整后 Logits = 原始 Logits / 0.5 = 原始 Logits * 2 - 效果:放大原始 Logits 之间的差距。最高的 Logit 会被放得更大,而较低的 Logit 会被压制得更小。
- 对概率分布的影响:经过 Softmax 后,概率分布会变得更“尖锐” —— 高分词的“胜出”概率被极大提高,低分词的“获胜”机会被严重降低。
- 模型行为:模型输出变得更确定、保守、可预测,倾向于选择最“安全”、最可能的词,创意性降低。
举例:原始 Logits 为 [2.0, 1.0, 0.1],T=0.5 调整后变为 [4.0, 2.0, 0.2],Softmax 后,第一个词的概率会变得极高。
情况二:高温度 (T > 1.0,例如 2.0)
- 公式:
调整后 Logits = 原始 Logits / 2.0 - 效果:压缩原始 Logits 之间的差距。所有 Logit 值都向中间靠拢,彼此变得更接近。
- 对概率分布的影响:经过 Softmax 后,概率分布会变得更“平缓” —— 高分词和低分词的概率差异变小,所有词的概率分布更平均。
- 模型行为:模型输出变得更随机、多样、有创意(但也可能更不连贯、甚至胡言乱语),倾向于“冒险”选择一些概率较低但并非不可能的词。
举例:原始 Logits 为 [2.0, 1.0, 0.1],T=2.0 调整后变为 [1.0, 0.5, 0.05],Softmax 后,三个词的概率会变得相对接近,第三、第二词“被选中”的几率大大增加。
总结
Temperature 本质上是一个平滑/锐化概率分布的控制旋钮,它通过在 Softmax 归一化前对原始 Logits 进行缩放来工作。
- 低温 (T → 0):模型变成“考试机器”,只选“标准答案”。
- 默认温度 (T = 1.0):不作改变,使用模型的原始预测。
- 高温 (T > 1.0):模型变成“创意作家”,更敢于“脑洞大开”。
THE END