temperature
用于控制模型输出的结果的随机性,这个值越大随机性越大。一般我们多次输入相同的prompt之后,模型的每次输出都不一样。
设置为 0,对每个prompt都生成固定的输出
较低的值,输出更集中,更有确定性
较高的值,输出更随机(更有创意 )
- ChatGLM提供的例子把范围限定在0-1之间。
解码过程greedy decoding/top-k/top-p
- greedy decoding: 总是选择最高分的 token;好处是简单,坏处是容易生成循环、重复的内容。
- top-k:每次采样选取概率最大的k个token,然后根据它们的 likelihood scores 来采样;当k=1时,退化到greedy decoding;
- top-p:不是设置前N个概率最大的token,而是设置一个概率阈值,候选词列表是动态的,从 tokens 里按百分比选择候选词;(默认 top-p 值就是 0.7/0.8 ),设置太低模型的输出太固定,设置太高,模型彻底放飞自我也不好。