What is Temperature(溫度)?

    控制語言模型輸出隨機性的採樣參數——較低值更確定性,較高值更有創造性。

    Definition

    溫度是在文字生成的 token 抽樣階段應用的純量參數,控制模型輸出的「隨機」或「創造性」程度。技術上,溫度在 softmax 函數將 logits(原始預測分數)轉換為詞彙表上的機率分佈之前對其進行縮放。溫度為 1.0 直接使用模型的原始機率。低於 1.0 的值會銳化分佈,使最可能的 token 更加可能(更確定性)。高於 1.0 的值會平坦化分佈,給不太可能的 token 更大的被選中機會(更隨機和有創造性)。

    在極端情況下,溫度為 0(或接近零)使模型始終選擇最可能的下一個 token——這稱為貪婪解碼,產生完全確定性的輸出。另一方面,溫度為 2.0 創造了近乎均勻的分佈,模型可能選擇晦澀或不尋常的 token,通常產生不連貫的文字。大多數實際應用使用 0.0 到 1.0 之間的溫度,最佳值取決於任務。

    溫度與 top-p(核取樣)和 top-k 等其他抽樣參數互動,共同塑造最終的 token 選擇過程。這些參數協同工作:溫度調整整體分佈形狀,而 top-p 和 top-k 截斷分佈以排除最不可能的 token。理解這些參數如何互動是在模型輸出中實現一致性和多樣性之間正確平衡的關鍵。

    Why It Matters

    溫度是 LLM 部署中最面向使用者的參數之一,因為它直接影響模型的感知個性。客服聊天機器人通常使用低溫度(0.1-0.3)以獲得一致、可靠的答案。創意寫作助手使用較高的溫度(0.7-1.0)以獲得多樣和驚喜的散文。設定錯誤的溫度可以使事實問答系統不可靠(過高)或使創意工具單調重複(過低)。對於微調模型,最佳溫度還取決於模型的訓練方式——在多樣輸出上訓練的模型可能需要較低的溫度來穩定,而在統一輸出上訓練的模型可以承受較高的值。

    How It Works

    在模型的前向傳遞產生 logit 向量(每個詞彙 token 一個分數)後,溫度透過將每個 logit 除以溫度值來應用:adjusted_logit = logit / temperature。這些調整後的 logit 然後通過 softmax 函數產生機率。當溫度小於 1 時,除法放大了 logit 之間的差異,將機率質量集中在頂部 token 上。當溫度大於 1 時,除法壓縮了差異,更均勻地分散機率。最終的 token 然後從這個調整後的機率分佈中抽樣(或者如果同時應用了 top-p 或 top-k,則從截斷版本中抽樣)。

    Example Use Case

    一個內容生成平台為使用者提供「創造力滑桿」,映射到模型的溫度參數。對於產品描述(事實性、一致性),滑桿將溫度設為 0.2。對於行銷標語(創造性、多樣性),它將溫度設為 0.8。對於腦力激盪會議(最大多樣性),它上升到 1.2。同一個微調模型服務所有三個使用場景,溫度是唯一改變的參數——展示了這個單一參數如何能夠戲劇性地改變模型行為。

    Key Takeaways

    • 溫度在 softmax 之前縮放 logits,控制 token 選擇的隨機性。
    • 較低值(0.0-0.3)產生確定性、一致的輸出;較高值(0.7-1.2)增加創造性。
    • 溫度 0 給出貪婪解碼(始終選擇最可能的 token)。
    • 它與 top-p 和 top-k 協同工作以塑造最終的抽樣分佈。
    • 最佳溫度取決於任務:事實性任務需要低值,創意任務需要較高值。

    How Ertas Helps

    當使用者在 Ertas Studio 中評估其微調模型時,他們可以在推論遊樂場中調整溫度參數以查看它如何影響輸出品質和多樣性。Ertas 的部署選項——無論是透過 Ertas Cloud API 還是透過 GGUF 匯出的本地推論——都支援溫度作為可配置參數,讓終端使用者在生產應用中控制創造性-一致性的折衷。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.