一、温度:创造力的“调节旋钮”
在调用大模型 API 时,temperature(温度)是影响输出结果最核心的参数之一。它本质是一个控制随机性的 缩放因子。我们可以把它想象成模型输出时,每个 token(词或子词)概率分布的“平滑器”或“锐化器”。
温度的作用机制是:在模型预测下一个 token 的概率分布上进行一个数学变换。低温度(如 0.1)会使概率分布更“尖锐”,模型会倾向于选择概率最高的那个 token,输出因此更确定、保守、可预测。高温度(如 1.0 或更高)则会使分布更“平坦”,高概率和低概率 token 之间的差距缩小,模型更可能探索那些原始概率较低的选项,输出因此更多样、随机、富有创造性。
提示:温度值通常设定在 0 到 2 之间。0 意味着完全贪婪解码(永远选最大概率),值大于 1 会显著放大低概率事件的可能性,可能产生不合逻辑或发散的内容。
二、Top-k 与 Top-p:采样策略的“过滤器”
仅仅使用温度,有时控制力还不够精细。为了让生成的文本质量更可控,我们引入了 采样策略,最常用的是 top_k 和 top_p。它们都作用于经过温度缩放后的概率分布,目的是缩小“候选 token”的范围。
top_k 采样很简单粗暴:它直接保留概率最高的 k 个 token,并丢弃其他所有 token,然后在这 k 个 token 中重新归一化概率并进行采样。例如,设置 top_k=50,模型就只在最可能的 50 个词里选择。
top_p(又称核采样,Nucleus Sampling)则更智能一些。它按概率从高到低排序 token,然后从头开始累加概率,直到总概率达到设定的阈值 p(如 0.9)。这个过程中累计概率所覆盖的最小 token 集合,就是本次的候选集。top_p=0.9 意味着,模型会考虑那些累计概率刚好超过 90% 的 token,从而动态地根据当前分布的置信度来决定考虑多少选项。