阅读背景:

大模型推理:transformers中的generate函数参数配置

来源:互联网 
一、主要参数 参数 推荐值 简介 定义 temperature 0.95 这个值越大生成内容越随机,多样性更好 这个参数控制着生成的随机性。较高的温度值(如 1.2)会增加文本的多样性和创造性,但可能会牺牲一些准确性或连贯性。具体地,temperature 会调整概率输出的softmax概率分布,如果 temperature 的值为1,则没有任何调整;如果其值比1大,则会生成更加随机的文本;如果其值比1小,则生成的文本更加保守。 top_p 0.95 单步累计采用阈值,越大越多token会被考虑 如果累计概率已经超过0.95,剩下的token不会被考虑例如有下面的token及其概率,a:0.9,b:0.03,c:0.03,d:0.015,e… 。则只会采用用abc,因为已经是0.96超过了0.95 top_k 50 单步采用token的数量,越大采用token会越多 单步中最多考虑的token数量 max_length 512 最大采样长度 模型生成的文本最大长度,超过的话会做截断,512是参考值,这个依赖于实际情况自己设置 num_beams 1 beam搜索数量,越大文本质量越高 想象一棵树,这个树在每一层的叶子节点数量都是num_beams个,正常模型推理时设置成1就行啦;num_beams=20 表示在每一步时,模型会保留20个最有可能的候选序列,保留方式是累计概率乘积。这有助于生成更加精确和高质量的文本。 do_sample False 是否概率采样token得到结果 当设置为 False 时,模型在生成文本时不会随机采样,而是选择最可能的下一个词。这使得生成的文本更加确定和一致。 num_beam_groups 1 分成num_beam_groups组进行搜索 这个参数与束搜索相关。它将搜索的束分为不同的组,每个组内部进行搜索。这可以增加文本的多样性。num_beam_groups包含num_beams num_return_sequences 1 有多少条返回的结果 推理的话设成1就好了 output_scores True 调试实验时用到 设为True时模型在生成文本的每一步都会输出每个词的分数(或概率),这有助于了解模型是如何在不同选项中做出选择的。 repetition_penalty 1 重复惩罚值,越大越不会生成重复token 默认值为1.0,其中较高的值意味着更强的惩罚,生成的文本中将出现更少的重复。如果取值为0,则没有惩罚,生成的文本可能包含大量重复的内容。 max_new_tokens 256 模型生成的最大新词数 在这里设置为256,意味着每次生成的文本最多包含256个新词。 diversity_penalty 1.5 当使用多束搜索时,这个参数惩罚那些在不同束中过于相似的词,以提高生成文本的多样性。 设置为1.5意味着对相似性施加较大的惩罚。如果在同一个step中某个beam生成的词和其他beam有相同的,那么就减去这个值作为惩罚,仅在 num_beam_groups 启用时这个值才有效 length_penalty 1 beam search分数会受到生成序列长度的惩罚 length_penalty=0.0:无惩罚、length_penalty<0.0:鼓励模型生成长句子、length_penalty>0.0:鼓励模型生成短句子 eos_token_id - 指定搜索时的结束token 有时可以提升模型性能,例如同时指定和为结束符可以让模型在出现时也结束,防止模型停不下来 bad_words_ids - 禁止生成的token 帮助解决伦理安全、种族歧视等问题 prefix_allowed_tokens_fn - 约束模型只能在给定的tokens里生成token 帮助特定功能的模型提升性能 一、主要参数 参数 推荐值 简介 定义 temperature 0.95 这个值越大生成内容越随机



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: