浅谈大模型参数TopP和TopK
大语言模型中的temperature
、top_p
和top_k
参数是用来控制模型生成文本时的随机性和创造性的。下面分享一下topP
和topK
两个参数的意义及逻辑;
top K(Top-K Sampling)
-
作用:只从模型认为最可能的
k
个词中选择下一个词。k
值越大,选择范围越广,生成的文本越多样;k
值越小,选择范围越窄,生成的文本越趋向于高概率的词。 -
常见设置:一般设置在40到100之间。较小的
k
值可以提高文本的相关性和连贯性,而较大的k
值则增加了文本的多样性。
top P(Nucleus Sampling)
-
作用:从概率累计达到
p
的那一组词中随机选择下一个词。与Top-K不同,Top-P是动态的,依据每个上下文的不同而变化。 -
常见设置:通常设置在0.8到0.95之间。较低的
top_p
值(如0.8)使生成的文本更加可预测和相关,而较高的值(如0.95)增加了文本的多样性和创造性。
top K VS top P
-
top_k
提供了一个固定数量的候选词,而top_p
提供了一个动态变化的候选词集合,其大小取决于特定上下文中词的概率分布。 -
使用
top_k
可能会导致生成的文本在不同情况下过于类似,因为它总是从固定数目的最可能的词中选择。相比之下,top_p
提供了更多的灵活性和多样性,因为它允许根据上下文的不同选择不同数量的候选词。