大语言模型的工作原理说起来很直接:根据输入内容和已生成的文本,预测下一个最合适的词(token)。输入先转换成 token,再变成向量表示,最后在输出层重新转回 token。
真正的挑战在于如何从候选词中做出选择。这个过程本质上是统计和概率性的,叫做"采样"。每个解码步骤模型都要从整个词汇表的概率分布中采样出下一个 token。
采样策略决定了模型的表现:只选概率最高的词,输出会很安全但缺乏新意而完全随机选择又会导致输出混乱。所以对大模型来说,精髓就在这两个极端之间找平衡。
Min-p 采样提供了一个新的解决思路:这是一种随机技术,能根据模型的置信度动态调整截断阈值,让阈值变得对上下文敏感,这样一来阈值不再固定,而是取决于当前 token 分布的确定程度。
现有采样方法的局限性
我们先看看目前主流的方法都有什么问题。
贪心解码和束搜索属于准确定性方法,每步都选最可能的 token。这样做很稳但也意味着错过了更多样化和创新的输出可能。
温度参数像个风险调节器,较低的温度值可以让模型保守行事,而高温则鼓励冒险尝试不太可能的词汇。但温度调节比较粗糙,缺乏精细控制。
Top-k 采样只从概率最高的 k 个候选中选择,问题是它不会根据模型置信度变化而调整。k 值小了过于保守,限制创造力,这时如果温度值高了的话又很容易产生噪音和不连贯的输出。
Top-p(核采样)动态选择累积概率超过阈值 p 的最小 token 集合。不过在高温度下这种方法也可能产生重复或不连贯的文本。p 值低了太保守,p 值高了又太冒险。
动态阈值采样会根据模型置信度调整 token 阈值,当温度很高(T>2)时,概率分布被"拉平",许多 token 的概率都很接近且偏低,即便配合 top-p 或 top-k 也容易出现退化、重复甚至胡言乱语,所以这个采样值需要更多的调参步骤。
下图直观展示了各种采样方法的区别:
图(a)为初始 token 分布。图(b)为 top-p 采样。图(c)为 top-k 采样。图(d)为 min-p 采样。
Min-p:一种新的解决方案
min-p 就提出了一种不同的思路:在每个解码步骤动态调整采样阈值,让阈值跟着模型的置信度走。模型有把握时聚焦最可能的 token,不确定时允许更广泛的选择。这种动态阈值比 top-p 和 top-k 在连贯性与多样性之间取得更好的平衡。
Min-p核心想法其实很简单:不用固定截断,Min-p 的截断阈值会根据模型置信度变化,让阈值对上下文敏感。这样阈值就变为相对的变量了,并且完全取决于分布的确定程度。
置信度通过最可能 token 的概率 p_max 来衡量。p_max 高说明模型很自信要保守些;_p_max 低说明模型犹豫不决可以多探索些选项。这样既提升了对上下文和不确定性的敏感度,又能在高温度下保持连贯性和创造性的平衡。
解决了长期困扰的"多样性-质量"权衡问题,min-p 算是生成式语言建模的一个进步。对既要高质量又要多样性的文本生成应用来说,这很有价值。
Min-p 的工作机制
Min-p 对标准 LLM 解码流水线的改动很小。
它以"logits 处理器"的形式实现。这是解码流水线中的一个小模块,负责在采样或选择下一个 token 之前调整原始 logits(模型对每个 token 的未归一化预测分数)。可以理解为在最终决策前对模型原始输出进行处理的"过滤器"。
应用温度缩放后,计算缩放阈值,然后在采样前过滤掉概率低于阈值的 token。这些操作用向量化计算高效实现,对解码过程的开销几乎可以忽略。
总结
相比前面提到的那些技术,Min-p 有几个明显优势。
平衡创造性与连贯性: Min-p 根据模型对输出的置信度,在同一个生成序列的不同上下文中动态调整采样阈值。其他技术往往要么过于发散(不连贯),要么过于保守(重复乏味)。
高温度下的稳健性: Min-p 按模型置信度比例缩放截断阈值,所以即便在高温度下也能维持输出连贯性。这对需要高创造性的任务特别有用,比如故事创作或内容生成。
实现简洁: Min-p 的计算开销很小,可以轻松集成到现有 LLM 推理流水线中,不会带来明显的性能负担。
Min-p 采样的出现为大语言模型文本生成领域带来了新的思路。它通过动态调整采样阈值,让模型能够在不同的上下文中灵活地平衡创造性与连贯性,这种自适应的特性使其在高温度设置下仍能保持良好的输出质量。
论文和链接:
https://avoid.overfit.cn/post/0f692943578945c09e18288e73615f4f
作者:Thoughtworks