4/23/2025

大语言模型的温度



在自然语言处理中,LLM(大语言模型)的“温度”(Temperature) 是一个控制生成文本随机性的超参数。它通过调整模型输出概率分布的平滑程度,直接影响生成结果的多样性和创造性。以下是详细解释:

---

 核心作用  
温度参数的数值范围通常大于0,具体效果如下:
- 低温(如 0.1~0.5)  
  模型更倾向于选择概率最高的词,输出更保守、集中、连贯,但可能缺乏新意。  
  *示例:* 输入“天空是…”,生成“蓝色的”。  

- 高温(如 1.0~1.5)  
  模型放松对高概率词的偏好,随机性增加,结果更不可预测甚至荒谬。  
  *示例:* 输入“天空是…”,生成“群青色的,仿佛被猫爪揉皱的丝绸”。  

---

 技术原理  
温度通过调整 softmax 函数中的 logits(未归一化的概率)来控制概率分布。  
假设某个词的原始概率为 \( p_i \),调整后的概率为:  
\
p_i' = \frac{\exp(\logits_i / T)}{\sum_j \exp(\logits_j / T)}
\  
其中 \( T \) 是温度:  
- \( T \to 0 \):概率分布尖锐(仅最高概率词被选中,接近贪心搜索)。  
- \( T \to \infty \):概率分布均匀(完全随机,类似抛硬币)。  

---

 典型应用场景  
1. 低温度(高确定性)  
   - 技术文档或问答任务(需准确性)。  
   - 翻译或摘要生成(避免跑题)。  

2. 高温度(随机性)  
   - 写诗歌、故事(需要创意)。  
   - 生成多个备选答案(探索不同可能性)。  

---

 注意事项  
- 温度过高可能导致文本不连贯或含错误事实。  
- 温度过低可能让结果重复、呆板(如复读机式回答)。  
- 常与其他采样方法配合使用(如 top-k、nucleus采样)。  

---

 示例代码  
在调用模型时指定温度值(以OpenAI API为例):
python
response = openai.Completion.create(
    model="text-davinci-003",
    prompt="天空是",
    temperature=0.7 常用平衡值(中等随机性)
)

简而言之,温度是调节LLM输出“想象力”的旋钮。合理调整它可以在“保守精准”与“脑洞大开”之间找到理想平衡。

大语言模型的温度

在自然语言处理中,LLM(大语言模型)的“温度”(Temperature) 是一个控制生成文本随机性的超参数。它通过调整模型输出概率分布的平滑程度,直接影响生成结果的多样性和创造性。以下是详细解释: ---  核心作用   温度参数的数值范围通常大于0,具体效果如下: - 低温(...