温度是怎么作用于模型输出的 ?
1. 首先,给出一个简单直接的定义 (What it is)
一句话概括: 温度(Temperature)是一个超参数,用来控制模型生成文本时随机性的程度。它调节的是模型在选择下一个词(token)时的“自信程度”。
-
温度低,模型就更“自信”,倾向于选择概率最高的词,输出结果更确定、保守。
-
温度高,模型会考虑更多可能性,即使是概率较低的词也有机会被选中,输出结果更随机、有创造性。
2. 接着,深入解释其数学原理 (How it works)
这是回答的核心,能体现你的技术深度。
-
第一步:Logits的产生
在生成每一个词之前,大模型会对词汇表里的所有词计算一个原始的、未经归一化的预测分数,这个分数叫做 logits。一个logit值越高,代表模型认为这个词是下一个词的可能性越大。 -
第二步:Softmax的作用
为了将这些logits分数转换成一个所有词加起来等于1的概率分布,模型会使用 Softmax 函数。标准的Softmax计算方式如下:
P(word_i) = exp(logit_i) / sum(exp(logit_j)) -
第三步:温度的介入
温度 T 正是在Softmax函数计算之前,作用于 logits 的。引入温度后,公式变成:
P(word_i) = exp(logit_i / T) / sum(exp(logit_j / T))现在,我们可以分析 T 的不同取值带来的影响了:<