当前位置: 首页 > article >正文

大模型加载的参数介绍及推荐表,temperature、top_k、top_p、num_beams、num_beam_groups、do_sample等

大模型加载的参数介绍及参数推荐表,temperature、top_k、top_p、num_beams等等

返回论文目录
返回资料目录

如果需要非常清晰读懂每个参数,需要了解一下与大模型配套的Beam Search算法。

参数推荐值简介定义
temperature0.95这个值越大生成内容越随机,多样性更好这个参数控制着生成的随机性。较高的温度值(如 1.2)会增加文本的多样性和创造性,但可能会牺牲一些准确性或连贯性。具体地,temperature 会调整概率输出的softmax概率分布,如果 temperature 的值为1,则没有任何调整;如果其值比1大,则会生成更加随机的文本;如果其值比1小,则生成的文本更加保守。
top_p0.95单步累计采用阈值,越大越多token会被考虑如果累计概率已经超过0.95,剩下的token不会被考虑例如有下面的token及其概率,a:0.9,b:0.03,c:0.03,d:0.015,e... 。则只会采用用abc,因为已经是0.96超过了0.95
top_k50单步采用token的数量,越大采用token会越多单步中最多考虑的token数量
max_length512最大采样长度模型生成的文本最大长度,超过的话会做截断,512是参考值,这个依赖于实际情况自己设置
num_beams1beam搜索数量,越大文本质量越高想象一棵树,这个树在每一层的叶子节点数量都是num_beams个,正常模型推理时设置成1就行啦;num_beams=20 表示在每一步时,模型会保留20个最有可能的候选序列,保留方式是累计概率乘积。这有助于生成更加精确和高质量的文本。
do_sampleFalse是否概率采样token得到结果当设置为 False 时,模型在生成文本时不会随机采样,而是选择最可能的下一个词。这使得生成的文本更加确定和一致。
num_beam_groups1分成num_beam_groups组进行搜索这个参数与束搜索相关。它将搜索的束分为不同的组,每个组内部进行搜索。这可以增加文本的多样性。num_beam_groups包含num_beams
num_return_sequences1有多少条返回的结果推理的话设成1就好了
output_scoresTrue调试实验时用到设为True时模型在生成文本的每一步都会输出每个词的分数(或概率),这有助于了解模型是如何在不同选项中做出选择的。
repetition_penalty1重复惩罚值,越大越不会生成重复token默认值为1.0,其中较高的值意味着更强的惩罚,生成的文本中将出现更少的重复。如果取值为0,则没有惩罚,生成的文本可能包含大量重复的内容。
max_new_tokens256模型生成的最大新词数在这里设置为256,意味着每次生成的文本最多包含256个新词。
diversity_penalty1.5当使用多束搜索时,这个参数惩罚那些在不同束中过于相似的词,以提高生成文本的多样性。设置为1.5意味着对相似性施加较大的惩罚。如果在同一个step中某个beam生成的词和其他beam有相同的,那么就减去这个值作为惩罚,仅在 num_beam_groups 启用时这个值才有效
length_penalty1beam search分数会受到生成序列长度的惩罚length_penalty=0.0:无惩罚、length_penalty<0.0:鼓励模型生成长句子、length_penalty>0.0:鼓励模型生成短句子
eos_token_id-指定搜索时的结束token有时可以提升模型性能,例如同时指定<eos><user>为结束符可以让模型在<user>出现时也结束,防止模型停不下来
bad_words_ids-禁止生成的token帮助解决伦理安全、种族歧视等问题
prefix_allowed_tokens_fn -约束模型只能在给定的tokens里生成token帮助特定功能的模型提升性能

辅助理解案例:

  1. 贪婪搜索:当 num_beams=1 而且 do_sample=False 时,,每个step生成条件概率最高的词,因此生成单条文本。代码中,调用 greedy_search()方法
  2. 随机贪婪搜索:当 num_beams=1do_sample=True 时,每个单步时会根据模型输出的概率进行采用,而不是选条件概率最高的词,增加多样性。调用 sample() 方法
  3. 贪婪柱搜索:当 num_beams>1do_sample=False 时,做一个 num_beams的柱搜索,每次都是贪婪选择top N个柱。调用 beam_search() 方法
  4. 采样柱搜索:当 num_beams>1do_sample=True 时,相当于每次不再是贪婪选择top N个柱,而是加了一些采样。调用 beam_sample() 方法
  5. 多组柱搜索搜索:当 num_beams>1num_beam_groups>1 时,多组柱搜索同时进行,最后返回num_beam_groups个结果。调用 group_beam_search() 方法

http://www.kler.cn/a/149783.html

相关文章:

  • 成功解决WSL2上的Ubuntu22.04执行sudo apt-get update指令报错问题
  • vue链接跳转
  • 栈(Stack)和队列(Deque、Queue)
  • b4tman / docker-squid 可快速安装运行的、容器型代理服务器 + podman
  • 1.62亿元!812个项目立项!上海市2024年度“科技创新行动计划”自然科学基金项目立项
  • SpringBoot框架在资产管理中的应用
  • Python压缩、解压文件
  • 数据库中生成列的对比
  • C 语言头文件
  • 图书管理系统源码,图书管理系统开发,图书借阅系统源码配置和运行图解源码已附加
  • 【华为OD题库-042】战场索敌-java
  • Kafka集群部署详细教程
  • Bug 检查 0x7B:INACCESSIBLE_BOOT_DEVICE(未解决)
  • Android WorldWind加载shapefile格式文件形成三维效果
  • Android 13.0 无源码app修改它的icon图标
  • 【pytest】执行环境切换的两种解决方案
  • IO和NIO的区别 BIO,NIO,AIO 有什么区别? Files的常用方法都有哪些?
  • 计算机端口
  • 量子力学应用:探索科技前沿的奇幻之旅
  • 智慧城市包括哪些内容?有哪些智慧城市物联网方案?
  • unity实时保存对象的位姿,重新运行程序时用最后保存的数据给物体赋值
  • UDP接收报文函数recvfrom和UDP发送报文函数sendto
  • runapi的学习记录
  • MySQL分页查询方法及优化
  • PAT-10道题
  • Fortinet 发布《2024 年网络威胁趋势预测报告》 攻击精准性、复杂性将显著提升