令牌选择的统计:Logits、温度与Top-P详解
本文深入探讨了大语言模型中logits、温度和top-p采样如何协同工作以控制下一个令牌的预测。文章详细解释了logits的来源、温度和top-p对概率分布的影响,以及它们如何构成一个顺序管道来生成LLM输出。最后,提供了如何根据实际应用场景选择温度和top-p值的建议。
在大型语言模型(LLM)生成输出时,除了整体响应的相关性外,连贯性和创造性也是关键考量因素。由于模型内部是逐词(更准确地说,逐令牌)构建其响应的,因此实现这些理想特性需要从数学上调整控制下一个令牌预测过程的输出概率分布。本文从统计角度介绍了LLM解码策略背后的机制。我们将探讨原始模型得分(即logits)如何与温度和top-p这两个关键参数相互作用,从而操控令牌选择过程。
首先,logits是神经网络(通常是transformer的最终线性层)在转换为概率之前产生的原始未归一化分数。这些分数对应于词汇表中每个可能令牌的得分。例如,在英译西任务中,生成“me gusta mucho”后,模型可能为“viajar”输出12.5,为“jugar”输出8.2,为“dormir”输出-3.1。由于这些原始值无界且难以直接解释,因此通过softmax函数将其转换为总和为1的概率分布。
得到概率分布后,LLM并非总是选择概率最高的令牌。实际过程依赖于解码参数,其中温度(temperature)和top-p尤为重要。温度是应用于logits(在softmax之前)的缩放因子。高温度(如>1)使概率分布更均匀,增加不确定性和创造性;低温度(如<1)则加剧高低概率令牌之间的差异,提高确定性。top-p,又称核心采样,通过限制候选令牌池来控制随机性。与固定数量的top-k不同,top-p选择累积概率达到阈值p的最小令牌集,具有自适应性和灵活性。例如,p=0.9时,将令牌按概率排序并依次加入池中,直到累计概率达到0.9。
这三个概念结合成一个顺序多步管道来产生下一个令牌的预测。首先,模型生成所有可能令牌的原始logits。然后温度对这些logits进行缩放(在softmax之前)。根据温度值,产生的分布将更均匀或更尖锐。接着,缩放后的logits通过softmax转换为概率,top-p根据累积概率过滤分布,保留一个核心令牌池。最后,模型从该池中随机采样以选择下一个令牌。
理解这一统计过程后,在实际开发中需要根据用例定义可预测性与创造性之间的平衡。对于高风险的实事性场景(如编程或法律分析),建议使用低温度和严格的top-p(例如t=0.1, p=0.5),以获得高度确定性的响应。而对于诗歌生成或头脑风暴等创意领域,较高的温度和top-p(如t=0.8, p=0.95)则允许更丰富的令牌候选池,从而产生更多样化的输出。