影响大型语言模型生成文本时行为的配置参数

如果你曾在Hugging Face网站使用过LLM,你可能已经遇到了类似的控制选项,可以用来调整LLM的行为。每个模型都暴露了一系列的配置参数,这些参数可以在推理过程中影响模型的输出。需要注意的是,这些参数与训练参数是不同的,训练参数是在训练时学习得到的。相反,这些配置参数是在推理时调用的,可以控制诸如完成的最大标记数和输出的创造性等内容。

这些参数包括最大新 token 数、随机抽样、top k 抽样、top p 抽样和温度,下面我们详细讲解这些参数。

Max new tokens是这些参数中最简单的一个,你可以使用它来限制模型生成的标记数。可以把它看作是对模型选择过程的次数设置上限。

变换器softmax层的输出是模型所使用的整个词典的单词的概率分布。大多数大型语言模型默认会使用所谓的贪婪解码。这是下一个词预测的最简单形式,模型总是选择概率最高的单词。这种方法对于短文本生成非常有效,但容易出现重复单词或重复单词序列。如果你希望生成更自然、更有创造力并避免重复单词的文本,你需要使用其他一些控制方法。

随机抽样是引入一些变化的最简单方法。使用随机抽样,模型不会每次都选择最可能的单词,而是根据概率分布随机选择输出单词。例如,如果香蕉这个单词的概率分数是0.02,使用随机抽样,这相当于选择这个单词的概率为2%。通过使用这种抽样技术,我们减少了单词重复的可能性。但是,根据设置的不同,可能会出现输出过于有创意,产生的单词使生成偏离了主题或变得毫无意义。

需要注意的是,在一些实现中,你可能需要显式地禁用贪婪解码并启用随机抽样。例如,在使用的Hugging Face transformers实现要将do sample设置为true。

让我们探讨一下top k和top p抽样技术,以帮助限制随机抽样,增加输出合理性的可能性。top k和top p是我们可以使用的抽样技术,有助于限制随机抽样,增加输出合理性的可能性。为了在仍然允许一定程度的变化的情况下限制选项,你可以指定一个top k值,它指示模型只从概率最高的k个标记中选择。例如,如果k被设置为3,就限制了模型只从概率最大的前三个选项中选择。然后,模型使用概率加权从这些选项中选择。这种方法可以帮助模型保持一定的随机性,同时防止选择高概率不合理的完成单词。这反过来使你的文本生成更有可能听起来合理并且有意义。

或者,你可以使用top p设置来限制随机抽样,使其仅限于那些组合概率不超过p的预测。例如,如果你将p设置为0.3,如果概率最大的两个选项apple 和 banana 的概率分别为0.2和0.1,加起来等于0.3, 那么选项将是apple 和banana。然后,模型使用随机概率加权方法从这些标记中选择。使用top k,你指定要随机选择的标记数,使用top p,你指定模型要选择的总概率。

你可以使用的另一个参数来控制模型输出的随机性被称为温度。这个参数影响模型为下一个标记计算的概率分布的形状。一般来说,温度越高,随机性越高,温度越低,随机性越低。温度值是在模型的最终softmax层中应用的一个缩放因子,影响下一个标记的概率分布的形状。与top k和top p参数相比,改变温度实际上改变了模型的预测。

如果你选择一个低温度值,比如小于1,那么softmax层产生的概率分布将更加集中在少数单词上。概率条形图会变得更加集中。模型将使用随机抽样从这个分布中选择,并且生成的文本将更加不随机,将更加接近模型在训练中学习到的最可能的单词序列。

相反,如果你将温度设置为一个更高的值,比如大于1,那么模型将为下一个标记计算一个更广泛、更平坦的概率分布。概率更加均匀地分布在标记上。这将导致模型生成更具随机性和更多变化性的文本。这可以帮助你生成听起来更有创意的文本。如果你将温度值设为1,这将保持softmax函数默认,使用未改变的概率分布。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值