生成與推論
Top P 核採樣是什麼?另一種控制隨機性的旋鈕
Top P(Nucleus Sampling,核採樣)是模型產生文字時控制隨機性的一種方式:把候選字詞依機率由高到低排列,累加機率直到達到設定的 P 值,例如 0.9,只有落在這個範圍內的字詞才會被列入候選,再從中依機率抽樣決定下一個字。跟固定數量候選的 Top K 不同,Top P 依機率分佈的形狀動態調整候選範圍,分佈集中時候選少、分佈分散時候選多,因此更靈活也更貼近語言的自然性。
Top P 核採樣是什麼?另一種控制隨機性的旋鈕
調過 Temperature 的人常會發現,光靠它還是不夠精準控制輸出的多樣性。
Top P 是另一顆常搭配使用的旋鈕,靠累積機率動態決定候選範圍,而不是固定候選字數。
你將學到什麼
定義
累積機率達到設定的 P 值,落在範圍內的字詞才列入候選再抽樣。
白話比喻
像只留下累計占比前九成人氣的選項,人氣分散時留的選項自然變多。
跟誰容易搞混
常跟 Top K 搞混。Top K 固定候選數量,Top P 依分佈動態調整。
定義
Top P 會根據詞彙的機率分佈,從高到低累加機率,直到累積機率達到設定的 P 值,只有這些字詞會被列入候選,再從中依機率抽樣。
舉例來說,若 P 設為 0.9,模型會把下一個字的候選詞依機率由高到低排列,一路累加,一旦累積機率超過 0.9 就停止收錄,剩下的低機率詞全部排除在候選集合之外。
跟 Top K 差在哪?
| 項目 | Top K | Top P(核採樣) |
|---|---|---|
| 候選方式 | 固定只考慮前 K 個詞 | 依累積機率動態決定候選數 |
| 候選數量 | 永遠固定 | 分佈集中時少,分散時多 |
| 靈活度 | 較低,可能含低機率詞 | 較高,更貼近語言自然性 |
| 適合場景 | 需要簡單直觀的控制時 | 需要動態平衡多樣性與連貫性時 |
不同 P 值的效果
- P 較低(如 0.5):候選詞較少,輸出較集中、穩定,但可能較單調
- P 中等(如 0.9):候選詞適中,平衡多樣性與品質,是最常用的設定
- P 較高(如 0.95 以上):候選詞較多,輸出更多樣、創意高,但可能較發散
實際用例
客服或法規類回覆偏向使用較低的 P 值,讓輸出保守穩定;創意寫作、腦力激盪類任務偏向使用較高的 P 值,讓輸出更多樣。多數任務用 P = 0.9 當起點,再依實際輸出效果微調。
常見誤解
最常見的誤解是以為 Top P 跟 Temperature 是同一種東西,調一個就夠了。兩者作用的環節不同:Temperature 影響機率分佈的形狀,Top P 影響候選範圍的大小,搭配使用才是常見做法。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook。
延伸學習
常見問答
Top P 跟 Temperature 要一起用嗎?
常見做法是兩者搭配:Temperature 控制整體的隨機性強弱,Top P 控制候選範圍的動態調整,兩者疊加能在連貫性與多樣性之間取得更好的平衡,詳見 <a href="/blog/glossary-temperature-vs-top-p">Temperature 跟 Top P 差在哪</a>。
Top P 該設多少比較好?
沒有絕對答案,實務常用範圍是 0.85 到 0.95。需要保守、事實性強的任務可以降低 P 值,例如 0.7 到 0.85;需要更多創意與多樣性可以提高 P 值,例如 0.95 以上。
Top P 比 Top K 好嗎?
不是絕對更好,是更靈活。Top K 候選數固定,可能包含一些低機率詞而不夠自然;Top P 依機率分佈自動調整候選數量,通常能在多樣性與連貫性之間取得更好的平衡,因此是目前較常用的採樣策略之一。
