🍸 Lecture 03.2: LLM 採樣溫度與靈感調酒師:Temperature、Top-P/Top-K 如何控制 AI 的創造力與精確度

NOTE

作者資訊 (Author Info)

在前面的章節中,我們了解了大型語言模型(LLM)本質上是一個「預測下一個字」的超強機率引擎。然而,你是否有過這樣的疑問:

答案,就藏在 LLM 的採樣控制參數(Sampling Parameters) 之中!這堂課,我們將用最生動的「靈感調酒師」比喻,拆解 Temperature(溫度)Top-PTop-K 如何掌控 AI 的發散度與創造力!


🍹 第一幕:靈感調酒師與機率骰子

當 LLM 根據上下文計算出下一個候選字的機率時,它會得到一份「候選字詞機率排行榜」。例如:

如果 AI 每次都嚴格挑選第 1 名,那它的回答就會變成死板的機械式重複。為了讓 AI 具備靈活性與創造力,工程師設計了「Temperature(溫度參數)」這個調酒旋鈕!


🌡️ 第二幕:Temperature (溫度) 的三種白話境界

Temperature 是一個從 0.01.0(甚至 2.0)的數值。它決定了 AI 在擲機率骰子時,要有多「大膽」或有多「保守」:

1. 🧊 冰鎮模式 (Temperature = 0.0) —— 絕對嚴肅的法官

🍷 溫和調酒模式 (Temperature = 0.7) —— 穩重的資深作家

狂熱烈酒模式 (Temperature = 1.2+) —— 微醺的抽象藝術家


🎯 第三幕:雙重安全保險:Top-P 與 Top-K

除了 Temperature 之外,為了防止 AI 在發揮創意時「選到機率極低的外星詞彙(如上述的『飛彈』)」,工程師還加上了兩道篩選防線:

🔍 1. Top-K (數量篩選)

📊 2. Top-P / Nucleus Sampling (累積機率篩選)


🛠️ 第四幕:大導演實戰指引:如何在 Prompt 與開發中控制溫度

當你扮演 Vibe Coding 大導演指示 AI 幫你寫程式或分析時,請記住這個黃金原則

IMPORTANT

大導演的溫度控制法則

掌握了 Temperature、Top-P 與 Top-K,你就握有了掌控 AI 靈魂發散度的調音盤!


👉 下一堂課:Lecture 03.3 文字生成機率與 Token 選字學

👉 回課程大綱:學習地圖

🔥 專家級深度思考與實戰挑戰 (Expert Challenge)

❓ 挑戰 1:Temperature 0.0 在併行 GPU 運算中的「非確定性 (Non-Determinism)」解密

在多線程 GPU(如 CUDA 核心)中,為了追求極致的並行計算速度,萬千個核心執行浮點數加法(GEMM 運算)的順序是動態且隨機的。由於電腦浮點數(Floating Point)不滿足結合律(即 $(a+b)+c

eq a+(b+c)$),微小的末位捨入誤差(Round-off Error)會導致 logits 計算結果出現 $10^{-7}$ 級別的微小波動。當前兩名候選字的機率極度接近時,這個微小的浮點數波動就會改變第一名的歸屬,從而引發連鎖反應,導致輸出不一致。


❓ 挑戰 2:Top-P (Nucleus Sampling) 與 Top-K 在寫程式時的組合災難

高 Temperature (1.5) 將原本低機率的字詞機率大幅拉高,而 Top-P (0.95) 與 Top-K (100) 又放開了極寬的候選字水閘。這種組合會導致模型在寫程式時,選擇不符合 Python 語法的括號、錯置的變數名稱或不存在的 API 函數(如將 wx.CallAfter 寫成 wx.CallMagic)。寫程式的黃金法則:Temperature 應設為 0.0~0.2,Top-P 設為 0.1~0.4,將隨機性降至最低。