詳細解釋
Temperature是控制語言模型輸出隨機性的參數,通過調整Softmax前的logits,影響概率分布的平滑度,是文本生成的關鍵調節旋鈕。
數學原理:
- Softmax:P(x) = exp(logit_x) / Σexp(logit_i)
- Temperature:P(x) = exp(logit_x/T) / Σexp(logit_i/T)
- T→0:趨向one-hot(最確定)
- T→∞:趨向均勻分布(最隨機)
效果:
- 低溫(T<1,如0.3):
- 分布更尖銳
- 高概率token更突出
- 輸出更確定、保守
- 適合事實問答、代碼
- 高溫(T>1,如1.2):
- 分布更平坦
- 低概率token有機會
- 輸出更多樣、創意
- 適合腦力激盪、故事
常見設置:
- 事實性任務:0.0-0.3
- 平衡:0.7-1.0(默認)
- 創意:1.0-1.5
- 極端隨機:>1.5
組合使用:
- Temperature + Top-k/p:
- 先temperature調分布
- 再top-k/p截斷
- 標準組合
特殊應用:
- Sampling多樣性:
- 多次生成用不同T
- Self-consistency
- 知識提取:
- 低溫激發高置信知識
- 高溫激發邊緣知識
直觀理解:
- 類比物理溫度:
- 低溫:有序、結晶(確定)
- 高溫:無序、混亂(隨機)
Temperature是控制LLM創意vs準確性的核心參數。