用于控制模型输出的结果的随机性,这个值越大随机性越大。一般我们多次输入相同的prompt之后,模型的每次输出都不一样。
https://zhuanlan.zhihu.com/p/631786282
这个参数比较简单,简单来说就是用于在生成下一个token时,限制模型只能考虑前k个概率最高的token,这个策略可以降低模型生成无意义或重复的输出的概率,同时提高模型的生成速度和效率。
已知生成各个词的总概率是1(即默认是1.0)如果top_p小于1,则从高到低累加直到top_p,取这前N个词作为候选。
这里可能会有一点疑问,当top-p设置的很小,累加的概率没超过怎么办?一般代码中都会强制至少选出一个token的。注:top_p=1时表示不使用此方式。
(bool, optional, defaults to False)
是否使用采样,否则使用贪婪解码 。
generate默认使用贪婪的搜索解码,所以你不需要传递任何参数来启用它。这意味着参数num_beams被设置为1,do_sample=False。
如图上所属,每次选择概率值最高的词。贪心搜索的主要缺点是它错过了隐藏在低概率词后面的高概率词,比如has=0.9不会被选择到。
https://zhuanlan.zhihu.com/p/624845975
(int, optional, defaults to 20) - 生成的tokens的最大长度。对应于输入提示的长度
+max_new_tokens。如果还设置了max_new_tokens,则其作用被max_new_tokens覆盖。
(int, optional) - 要生成的最大数量的tokens,忽略提示中的tokens数量。
(int, optional, defaults to 0) - 要生成的序列的最小长度。对应于输入提示的长度+min_new_tokens。如果还设置了min_new_tokens,它的作用将被 min_new_tokens覆盖。
(int, optional) - 要生成的最小数量的tokens,忽略提示中的tokens数量。
(bool or str, optional, defaults to False) - 控制基于beam-based的停止条件,比如beam-search。是否在至少生成 num_beams 个句子后停止 beam search,默认是False。
(float, optional) - 你允许计算运行的最大时间,以秒为单位。在分配的时间过后,生成仍然会完成当前的传递。
(int, optional, defaults to 1) - 批次中每个元素独立计算的返回序列的数量。