Zubnet AI學習Wiki › 溫度
使用AI

溫度

一個控制模型輸出隨機性或確定性的參數。溫度值為 0 時,模型會始終選擇機率最高的下一個 token(確定性、專注)。溫度值為 1+ 時,模型會更願意選擇機率較低的 token(創造性、不可預測)。大多數 API 的預設值約為 0.7。

為什麼重要

溫度是創造力調節鈕。在寫小說嗎?把它調高。在生成程式碼或事實性回答嗎?把它調低。它是你可以調整的最具影響力的參數之一,而且完全不會產生任何成本進行實驗。

深度解析

要理解溫度參數,你需要知道模型輸出一個 token 前發生了什麼。模型會產生一組原始分數(稱為 logits)— 每個 token 在其詞彙表中對應一個分數,可能包含 32,000 到 128,000 個項目。這些 logits 會被溫度值除後,再輸入 softmax 函數,將其轉換為機率分佈。當溫度為 1.0 時,softmax 直接作用於原始 logits。當溫度為 0.5 時,logits 會在 softmax 前被有效加倍,使機率分佈更銳利 — 最可能的 token 會佔據更大的機率比例。當溫度為 2.0 時,logits 會被減半,使分佈更平坦,讓機率較低的 token 有更高的機會被選中。

零值設定

溫度為 0 是一個特殊情況,大多數 API 提供商會實現為 greedy decoding — 始終選擇機率最高的單一 token,不涉及抽樣。這會讓輸出變得確定性(或幾乎如此;某些提供者會加入微小的浮點數雜訊)。當你需要可重現的結果時,這是正確的選擇:提取結構化資料、分類任務、事實性問答,或任何「創造力」是負擔的場景。常見的生產模式是對所有自動化流程使用溫度 0,並將較高的溫度保留給面向用戶的創造性功能。

溫度與另一個抽樣參數 top-p(nucleus sampling)的交互方式容易讓人混淆。top-p 會限制 token 選擇範圍為機率累計超過閾值 p 的最小 token 集合。設定溫度為 0.7 且 top-p 為 0.9,與溫度 1.0 且 top-p 為 0.7 是不同的,即使兩者都旨在實現「中等隨機性」。大多數實踐者建議調整其中一個參數,而非同時調整兩者,因為其交互關係難以推論。Anthropic 的 API 預設 Claude 使用溫度 1.0 和 top-p 1.0。OpenAI 預設 GPT 模型使用溫度 1.0 和 top-p 1.0。如果你同時調整兩者,很可能過度複雜化了。

最佳範圍

正確的溫度值取決於任務,而「0.7 適用於所有情況」的建議是過度簡化。對於程式碼生成,大多數開發者發現 0–0.3 會產生最可靠的結果。對於對話助手,0.5–0.8 能在不脫軌的情況下產生自然的多樣性。對於創意寫作、腦力激盪或生成多樣選項,0.9–1.2 效果良好。超過 1.5 會產生越來越不連貫的輸出,實際上很少有用。某些模型技術上支援超過 2.0 的溫度,但輸出品質會迅速下降 — 開始看起來像隨機 token 混沌而非創意文本。

隨機性 vs. 創造力

一個細微但重要的觀點:溫度影響的是 token 層級的隨機性,而非想法層級的創造力。更高的溫度不會以任何有意義的方式讓模型「更具創造性」— 它只是讓模型更有可能選擇出人意料的詞彙。有時這會產生真正新穎的組合。其他時候則只是產生語法錯誤、不相關的內容或幻覺。如果你想要真正不同的解決方案,通常更好的方法是在中等溫度(例如 0.8)下多次執行相同提示並比較結果,而不是將溫度提高到 1.5 並寄望於最佳結果。這就是 self-consistency 和 best-of-N sampling 等技術背後的原理,它們使用中等溫度與多個樣本來同時獲得多樣性和品質。

相關概念

← 所有術語
← 系統提示詞 騰訊 →
ESC