AI | 大模型推理参数解析(进行中)

控制模型输出Logits的参数

temperature

用于控制模型输出的结果的随机性,这个值越大随机性越大。一般我们多次输入相同的prompt之后,模型的每次输出都不一样。

  • 设置为 0,对每个prompt都生成固定的输出
  • 较低的值,输出更集中,更有确定性
  • 较高的值,输出更随机(更有创意 )
    AI | 大模型推理参数解析(进行中)_第1张图片
    一般来说,prompt 越长,描述得越清楚,模型生成的输出质量就越好,置信度越高,这时可以适当调高 temperature 的值;反过来,如果 prompt 很短,很含糊,这时再设置一个比较高的 temperature 值,模型的输出就很不稳定了。

https://zhuanlan.zhihu.com/p/631786282

AI | 大模型推理参数解析(进行中)_第2张图片

top_k

AI | 大模型推理参数解析(进行中)_第3张图片

这个参数比较简单,简单来说就是用于在生成下一个token时,限制模型只能考虑前k个概率最高的token,这个策略可以降低模型生成无意义或重复的输出的概率,同时提高模型的生成速度和效率。

top_p

AI | 大模型推理参数解析(进行中)_第4张图片

已知生成各个词的总概率是1(即默认是1.0)如果top_p小于1,则从高到低累加直到top_p,取这前N个词作为候选。

这里可能会有一点疑问,当top-p设置的很小,累加的概率没超过怎么办?一般代码中都会强制至少选出一个token的。注:top_p=1时表示不使用此方式。

控制输出策略的参数

do_sample

(bool, optional, defaults to False)

是否使用采样,否则使用贪婪解码 。

generate默认使用贪婪的搜索解码,所以你不需要传递任何参数来启用它。这意味着参数num_beams被设置为1,do_sample=False。

AI | 大模型推理参数解析(进行中)_第5张图片

如图上所属,每次选择概率值最高的词。贪心搜索的主要缺点是它错过了隐藏在低概率词后面的高概率词,比如has=0.9不会被选择到。

https://zhuanlan.zhihu.com/p/624845975

控制输出长度的参数

max_length

(int, optional, defaults to 20) - 生成的tokens的最大长度。对应于输入提示的长度
+max_new_tokens。如果还设置了max_new_tokens,则其作用被max_new_tokens覆盖。

max_new_tokens

(int, optional) - 要生成的最大数量的tokens,忽略提示中的tokens数量。

min_length

(int, optional, defaults to 0) - 要生成的序列的最小长度。对应于输入提示的长度+min_new_tokens。如果还设置了min_new_tokens,它的作用将被 min_new_tokens覆盖。

min_new_tokens

(int, optional) - 要生成的最小数量的tokens,忽略提示中的tokens数量。

early_stopping

(bool or str, optional, defaults to False) - 控制基于beam-based的停止条件,比如beam-search。是否在至少生成 num_beams 个句子后停止 beam search,默认是False。

max_time

(float, optional) - 你允许计算运行的最大时间,以秒为单位。在分配的时间过后,生成仍然会完成当前的传递。

定义generate输出变量的参数

num_return_sequences

(int, optional, defaults to 1) - 批次中每个元素独立计算的返回序列的数量。

你可能感兴趣的:(ai)