放弃top p/k、温度采样,全面拥抱min p

弹性计算MySQLService Mesh

“ 一个采样方法,口碑挺好的,各个加速框架也都在接入


        
          
https://github.com/ggerganov/llama.cpp/pull/3841  

      

top p / top k

从下图可以看到top p 如果设置的比较大,那其实很多低概率的token会进候选池子,有概率被随机到。只要有一个token出问题,后面就有概率偏离原始的意思。top k指定前k个也是同理。picture.image

min p

Min P所做的事情很简单:设置了一个最低值,只有达到这个值的token才会被考虑。这个值会根据最高概率令牌的置信度而变化。

如果设为0.1,那意味着它只会允许概率至少是最大概率token的1/10。如果设置为0.05,则会允许至少是最大概率token的1/20的tokenpicture.image

依旧是凑字数的小节

你可能会认为,“这样做不会限制创造力吗?因为这里设置了一个最小概率值,阻止了更加不确定的选择?” 实际上,它有助于以Top P通常无法实现的方式实现更多样化的选择。 假设指定top = 0.8,你的前两个token是: 1.81% 2.19%

Top P将完全忽略第二个token,尽管它相当合理。这会导致不必要的响应确定性更高。 这意味着在上下文中,Top P可能会考虑太多或太少的标记; Min P通过根据顶部选择的置信度设置最小值来强调平衡。 因此,在顶部标记为6%的情况下,Min P为0.1将仅考虑至少0.6%可能性的标记。但是,如果顶部标记为95%,则只会考虑至少9.5%可能性的标记。 0.05-0.1似乎是一个合理的范围进行调整,但您也可以更高,而不会过于确定性,并且不包括尾部“无意义”的概率。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动云原生降本增效实践
本次分享主要介绍字节跳动如何利用云原生技术不断提升资源利用效率,降低基础设施成本;并重点分享字节跳动云原生团队在构建超大规模云原生系统过程中遇到的问题和相关解决方案,以及过程中回馈社区和客户的一系列开源项目和产品。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论