大模型中的tempture以及top-p问题

news/2024/9/19 15:37:59/文章来源:https://www.cnblogs.com/xmds/p/18302077

原文:https://blog.csdn.net/jarodyv/article/details/128994176

参考:https://blog.csdn.net/engchina/article/details/138258047

为了使大模型的生成和表达更加多样,GPT采用了tempture以及top-p方法。

GPT的输出层后面一般跟着softmax,在判别式模型中我们会输出概率最高的那一类别。

 这样的贪心策略会使得模型的输出相对固定,生成内容很死板。因此提出了此两种方法。

top_p采样

chatgpt采用一种top-p方法来进行采样,解决该问题。简而言之,就是对结果从高到低排序,按累积概率p截尾去掉概率小的分布,最后筛选得到几个概率较高的结果,归一化后按分布抽样。

温度采样

温度采样受统计热力学的启发,高温意味着更可能遇到低能态。在概率模型中,logits 扮演着能量的角色,我们可以通过将 logits 除以温度来实现温度采样,然后将其输入 Softmax 并获得采样概率。
越低的温度使模型对其首选越有信心,而高于 1 的温度会降低信心。0 温度相当于 argmax 似然,而无限温度相当于于均匀采样。
温度采样中的温度与玻尔兹曼分布有关,其公式如下所示:

该式就是softmax的变体,T值越大时,结果越呈现一种均匀分布。

 此外还有频率惩罚(frquency_penalty)、存在惩罚(presence_penalty),使大模型有更大的概率输出从未使用的词语,去除重复的输出或提示。

最后,还有likehood,生成新词时,会为每一个词赋likehood值,某词的likehood值越高,则越有可能在下一轮输出某词。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/743716.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础04:数据类型拓展

整型拓展 十进制整数,如:99, -500, 0。 八进制整数,要求以 0 开头,如:015。 十六进制数,要求 0x 或 0X 开头,如:0x15 。 //整型 int i=10; int i2=010; int i3=0x10; System.out.println(i); //10 System.out.println(i2); //8 System.out.println(i3); //16浮点型拓展…

Python 潮流周刊第 2 季完结了,分享几项总结

我订阅了很多的周刊/Newsletter,但是发现它们都有一个共同的毛病:就是缺乏对往期内容的整理,它们很少会对内容数据作统计分析,更没有将内容整理成合集的习惯。 在自己开始连载周刊后,我就想别开生面,除了每周更新正刊外,还计划定期做一些盘点。我认为过往周刊值得被串联…

BUUCTF Crypto 做题记录

目录: 1.一眼就解密 2.Url编码 3.MD5 4.看我回旋踢 5.摩丝 6.password # 1.一眼就解密 https://buuoj.cn/challenges#一眼就解密 ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30= 确实一眼看出是Base64,拿去解密即可2.Url编码 https://buuoj.cn/challenges#Url编码 直接网上搜url …

开源缺陷管理系统全解析:如何选择最适合你的?

国内外主流的10款开源缺陷管理系统软件对比:PingCode、Worktile、Bugzilla、osTicket、MantisBT、Trac、OpenProject、Phabricator、Request Tracker、The Bug Genie。在管理软件项目时,缺陷管理常常是团队面临的一大挑战。选择一个合适的开源缺陷管理系统可以显著提高错误跟…

视野修炼-技术周刊第92期 | 薅牛毛

① YakShaving - 薅牛毛 ② CSS OneLiners ③ Vue Vine - 单文件编写多 Vue 组件 ④ CDN 流量被盗刷经历 ⑤ es-toolkit ⑥ console.log 体验优化 ⑦ 诗境 - 根据图片匹配诗句欢迎来到第 92 期的【视野修炼 - 技术周刊】,下面是本期的精选内容简介 🔥强烈推荐YakShaving - 薅…

1、多线程同步——CPU、core核、线程、内存

CPU 的运行原理 控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后 CPU 将这个地址里的指令读到指令寄存器进行译码。对于执行指令过程中所需要用到的数据,会将数据地址也送到地址总线,然后 CPU 把数据读到 CPU 的…

基础语法

单行注释 //加内容 多行注释 /内容/ 文档注释/** * */ 标识符Java中所有的组成部分都需要名字.类名,变量以及方法名都被称为标识符 标识符注意点 1.所有的标识符都应该以字母(A-Z或者a-z),美元符$或者下划线_开始 2.首字符之后可以是以字母(A-Z或者a-z),美元符$,下划线_或者数字…

《痞子衡嵌入式半月刊》 第 104 期

痞子衡嵌入式半月刊: 第 104 期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 :《…

[深入理解Java虚拟机]HotSpot虚拟机对象

对象的创建 Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个…

将虚拟机跑在ceph之中

目录openStack对接ceph1. cinder对接ceph1.1 ceph创建存储池1.2 ceph授权1.3 下发ceph文件1.4 修改globals文件1.5 部署cinder1.6 创建卷null2. nova对接ceph2.1 创建卷2.2 更新cinder权限2.3 修改globals文件2.4 创建目录2.5 升级nova3. 验证nova3.1 检查存储池3.2 创建虚拟机…

C++使用gnuplot-cpp库绘制图像

最近想要对一些时变的变量进行可视化,搜索来搜索去选择了使用gnuplot这个工具。 sudo apt-get install gnuplot sudo apt-get install gnuplot-x11 # 使其支持linux终端这样就安装完gnuplot了。接着可以在命令行中键入gnuplot命令打开gnuplot的交互式环境。由于这里着目于使用…