GPT生成過程中的Top_p和Top_k

一、背景

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的博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章