唐山网站制作工具,看楼盘的app,这么登入wordpress,宝安公司可以网站设计大家好啊#xff0c;我是董董灿。
在对大模型进行微调训练时#xff0c;经常会看到几个重要的超参数#xff0c;用来控制大模型生成文本的效果。 其中一个超参数叫做 Temperature#xff0c;中文名字叫温度#xff0c;初见时很是不解#xff0c;为啥一个模型还有温度这个…大家好啊我是董董灿。
在对大模型进行微调训练时经常会看到几个重要的超参数用来控制大模型生成文本的效果。 其中一个超参数叫做 Temperature中文名字叫温度初见时很是不解为啥一个模型还有温度这个选项。
其实温度这个超参数是可以控制模型输出的多样性。
可以这么理解热力学上温度越高分子运动越剧烈温度越低分子运动越缓慢。
在大模型中也是这样温度这个参数的值越高代表了输出结果越多变越歇斯底里用褒义词讲叫越具有多样性和创意性。 那么这个参数到底是如何控制大模型的输出效果的呢今天就一起来了解一下吧。 1、温度影响的是 softmax 函数
之前介绍过 softmax 这个函数它的作用是将原始数据归一化到 0-1 之间的概率分布并且拉开输入数据之间的差距让大的数据概率变得更大小的数据概率变得更小。
关于softmax的原理介绍查看10 分钟搞懂 softmax 的底层逻辑。
对应到大模型中softmax 的作用体现如下 我们在跟大模型对话时它会输出文本作为回答。模型在预测下一个输出的单词时首先会为每个可能的词计算一个分数(这个分数基于模型的当前状态和它对语言的理解)。 然后softmax 函数将这些分数转换为概率(上面的链接查看具体过程)转换的过程就会使得分数较高的词的概率更高而分数较低的词的概率更低从而模型选择概率更高的单词作为输出。
这是 softmax 函数的作用。
不过这是没有 Temperature 参数的 softmax一旦加上 Temperature 参数就会使的这个函数发生一点微妙的变化。
首先在不考虑 Temperature 的情况下softmax 函数的标准形式是这样的 这里Z 是一个向量其中每个元素 Zi 代表模型为一个特定词语计算出的分数。理解为这是一对备选的下一个单词或词组的分数值。
函数 e^Zi 是对每个分数求指数值分母是对所有分数的指数值求和从而确保了所有单词的概率加起来等于1。 2、 高温度让 softmax 变得平滑
当引入 Temperature 参数 T 时公式变为 在这个修改后的公式中 当 T 1 时它就是普通的 softmax 函数。 当 T 1 时分数之间的差异会减小导致概率分布更加均匀增加随机性和创新性T越大概率差异越小。 当 T 1 时分数之间的差异会增大使得高分数的词的概率远远高于低分数的词增加确定性和预测性。 因此Temperature 通过调节分数的缩放来影响 softmax 函数的输出进而控制模型在生成文本时的随机性和创新性。
再说的通俗一点本来模型倾向于选择最高概率的单词(老大)作为输出一旦将 T 调高那么大家的概率会变的更加均匀大家的差距拉的不会很开此时选择老大还是老二差别不大。
因此模型可能会选择老大也可能会选择老二甚至老三这样模型就有更多选择性从而变得更加有创意。
因此当你调整 Temperature 参数时实际上是在调节这个转换过程中的“平滑度”或“尖锐度”。 上图展示了这个过程在低温度下(黄色)softmax 输出的概率函数更加尖锐意味着高分数的词语概率会更高而低分数的词语概率会更低。
这导致模型更倾向于选择那些最有可能(概率最大)的词语一种场景就是给大模型相同的提问每次都会得到类似的回答。
在高温度下(蓝色)softmax 输出的函数变得更平滑即使分数较低的词也有合理的被选择概率。
此时对于相同的提问就会使得模型具有更大概率生成不一样的回答从而表现出更加有创意。