What is Top-p(核采样)?

    一种采样策略,从累积概率超过阈值 p 的最小 token 集合中进行选择,在输出质量和多样性之间取得平衡。

    Definition

    Top-p 采样,也称为核采样(nucleus sampling),是 Holtzman 等人在 2019 年提出的一种解码策略,根据累积概率动态选择候选 token 池。与考虑词汇表中所有 token(其中包含许多极不可能的选项)或固定数量的顶部 token(top-k)不同,top-p 包含合并概率质量超过阈值 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 的评估 playground 和 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.