一、 理解温度:控制创造力的“旋钮”
在与大模型交互时,temperature(温度)是我们最常接触,也最容易产生误解的参数之一。你可以把它想象成控制模型输出“创意度”或“随机性”的一个旋钮。它的取值范围通常在0到2之间。核心机制是:温度参数会缩放模型在生成下一个词元(token)前,对所有候选词计算出的原始概率(logits)。当temperature值较低时(如接近0),概率分布会变得更加“尖锐”,高概率词元的优势被放大,模型倾向于选择确定性最高的词,输出变得保守、可预测。反之,当temperature值较高时(如大于1),概率分布被“压平”,不同词元之间的概率差异减小,模型更有可能选择那些原始概率不算高但“有趣”的词,从而增加输出的多样性和创造性。
关键理解:温度并不改变模型“知道”什么,而是改变模型在已知信息下如何进行“决策”。低温对应确定性策略,高温对应探索性策略。例如,续写“春天来了,”,低温模型很可能接“万物复苏。”,而高温模型可能会接“连我家的猫都开始思考猫生了。”这种更具文学性的表达。
二、 贪心解码与采样:不是“选最对”,而是“抽大奖”
很多人初接触时会误以为生成文本就是“每一步都选概率最大的那个词”。这种方法被称为贪心解码,它确实能保证每一步局部最优,但生成的结果往往非常枯燥、重复,且容易陷入循环。与之相对的是采样,即根据概率分布进行随机抽取,这才是temperature等参数发挥作用的地方。
采样过程可以类比为“抽奖”。假设模型下一步要生成一个名词,在“猫”、“狗”、“春天”、“梦想”这几个词中,它们的计算概率分别是0.4、0.3、0.2、0.1。在temperature=1(标准分布)下进行采样,就像根据这些概率制作了40张“猫”奖券、30张“狗”奖券……然后从中随机抽取一张。temperature的作用就是调整这些奖券的比例。低温会让“猫”的奖券变得极多(如99张),几乎必中;而高温则让所有奖券数量趋于平均,让“梦想”也有机会被抽中。
三、 协同调控:top_k 与 top_p 的精细管理
单靠temperature有时控制粒度不够。我们还需要其他采样参数来共同定义“候选奖池”的范围,这就是top_k和top_p的作用。