一、背景

GPT生成的代码中,往往有很多需要设置的参数,例如top_p、top_k等。下面介绍一下这些参数意义和提出的原因。

二、Top_K

top_k是一个经典的方法,表示从候选的K个值中选择一个。在GPT生成的过程中也是类似的问题。选取K个tokens,哪些tokens的概率最高。然而Top_K存在一些问题,就是对于开放的问题,回答不够好,随机性不够强。因此提出了Top_P的算法。

三、Top_P

top_p算法表示,满足概率之和大于p的最小tokens集合。这样在下一个词不确定的情况下,可以采样更多的词,在下一个词确定的情况下,可以减少模型的幻觉的问题(采样的词更少)。

四、总结

对于不同的方法,针对的场景不同,在需要开放性问题回答的时候,采取Top_P的方法,增加一下随机性,在确定性的问题时,采取Top_K的方法。实际过程中,Top_P和Top_K可以同时使用,并且像beam搜索和greedy的方法也可以交替使用。但是需要考虑实际的场景,避免模型幻觉问题。

五、参考

huggingface的博客

posted on 2023-09-30 14:03  蔚蓝色の天空  阅读(891)  评论(0编辑  收藏  举报