What is Top-p(核取樣)?

    從累積機率超過閾值 p 的最小 token 集合中選擇的採樣策略。

    Definition

    Top-p 抽樣,也稱為核取樣,是 Holtzman 等人在 2019 年提出的解碼策略,根據累積機率動態選擇候選 token 池。Top-p 不是考慮詞彙表中的所有 token(其中包括許多極不可能的選項)或固定數量的頂部 token(top-k),而是包含累積機率質量超過閾值 p 的最小 token 集合。例如,top-p = 0.9 時,模型只考慮共同佔總機率 90% 的最可能的 token,丟棄剩餘 10% 的不太可能的 token。

    Top-p 背後的關鍵洞察是「合理的」下一個 token 的數量取決於上下文而變化很大。在 "the" 之後,數千個 token 是合理的。在 "the capital of France is" 之後,基本上只有一個 token("Paris")是合理的。固定的 top-k 值無法適應這種變化——它要麼在第一種情況下包含太多不太可能的 token,要麼在第二種情況下不必要地限制選項。Top-p 自然適應:當模型有信心時,核心很小;當模型不確定時,核心擴大以包含更多選項。

    Top-p 通常與溫度結合使用。溫度塑造整體機率分佈,而 top-p 截斷不太可能 token 的長尾。常見的生產配置是溫度 0.7 加 top-p 0.9,允許適度的創造性同時防止模型選擇真正離譜的 token。將 top-p 設為 1.0 有效地禁用它(所有 token 都是候選),而非常低的值如 0.1 使模型幾乎像貪婪解碼一樣確定性。

    Why It Matters

    Top-p 對於生成既連貫又不重複的高品質文字至關重要。純粹的貪婪解碼(始終選擇最可能的 token)產生枯燥、重複的文字。從完整分佈中隨機抽樣產生不連貫的文字。Top-p 透過允許在合理範圍內的多樣性來取得平衡。它是大多數生產 LLM 部署和 API 中的預設抽樣策略,因為它在不同上下文中一致地產生自然聽起來的文字。理解 top-p 幫助實踐者為品質和創造性之間的正確平衡調優其推論管線。

    How It Works

    在模型產生 logits 並應用溫度後,softmax 函數在整個詞彙表上生成機率分佈。然後 token 按機率降序排序。從最可能的 token 開始,累積機率直到總和超過閾值 p。包含在此累積總和中的所有 token 形成「核心」——抽樣的候選集。核心外的 token 被遮罩(其機率設為零),剩餘機率被重新正規化使其總和為 1.0。最終的 token 然後從這個重新正規化的分佈中抽樣。這個過程對每個生成的 token 重複。

    Example Use Case

    一個聊天機器人開發團隊注意到他們的模型偶爾在客戶對話中產生奇怪的跑題回應。調查發現他們使用溫度 0.8 而沒有 top-p 過濾,允許模型偶爾從分佈的極端尾部抽樣。他們添加 top-p = 0.9,消除了最離譜的 token 同時保持自然的對話多樣性。奇怪的回應消失了,客戶滿意度分數提高了 12%——全部來自推論時單一參數的改變。

    Key Takeaways

    • Top-p(核取樣)動態選擇累積機率超過 p 的最小 token 集合。
    • 它適應上下文:當模型有信心時核心緊湊,不確定時更寬。
    • 常見的生產值為 0.85-0.95,通常與溫度 0.5-0.8 結合。
    • Top-p 防止從分佈的極端尾部抽樣,減少不連貫的輸出。
    • 將 top-p 設為 1.0 禁用它;非常低的值接近貪婪解碼。

    How Ertas Helps

    Ertas 在 Studio 的評估遊樂場和 Ertas Cloud API 部署中都支援 top-p 作為可配置的推論參數。當使用者在 Studio 中測試微調模型時,他們可以嘗試不同的 top-p 值與溫度來找到其使用場景的最佳抽樣配置。這些設定可以嵌入部署配置中,確保生產中的行為一致。

    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.