LLM 生成式配置的推理参数温度 top k tokens等 Generative configuration inference parameters

news2024/11/18 21:30:56

在这个视频中,你将了解一些方法和相关的配置参数,这些参数可以用来影响模型在下一个词生成时的最终决策方式。如果你在Hugging Face网站或AWS的游乐场中使用过LLMs,你可能已经看到了这些控制选项,用来调整LLM的行为。每个模型都暴露了一组配置参数,可以在推断过程中影响模型的输出。
在这里插入图片描述

请注意,这些参数与训练参数不同,训练参数是在训练时学习的。相反,这些配置参数是在推断时调用的,允许你控制完成中的最大令牌数
在这里插入图片描述

和输出的创意程度。
在这里插入图片描述

Max new tokens可能是这些参数中最简单的,你可以使用它来限制模型生成的令牌数。你可以将其视为限制模型经历选择过程的次数。
在这里插入图片描述

这里你可以看到max new tokens设置为100、150或200的示例。但请注意,200的示例中完成的长度较短。这是因为达到了另一个停止条件,例如模型预测了序列结束令牌。请记住,这是最大的新令牌,而不是生成的新令牌的硬数字。
在这里插入图片描述

Transformers的softmax层的输出是模型使用的整个词典上的概率分布。这里你可以看到一些单词及其旁边的概率分数。尽管我们这里只显示了四个单词,但想象一下,这是一个继续到完整词典的列表。
在这里插入图片描述

大多数大型语言模型默认使用所谓的贪婪解码。这是下一个词预测的最简单形式,模型总是选择概率最高的词。这种方法对于短期生成效果很好,但容易重复单词或重复单词序列。如果你想生成更自然、更有创意且避免重复单词的文本,你需要使用其他控制。随机采样是引入一些变化的最简单方法。与随机采样不同,模型不是每次都选择最可能的词,而是使用概率分布对输出词进行随机选择。例如,在插图中,单词banana的概率分数为0.02。使用随机采样,这相当于这个词被选择的概率为2%。使用这种采样技术,我们减少了单词重复的可能性。
在这里插入图片描述

然而,根据设置,可能会产生过于创意的输出,产生导致生成偏离主题或根本没有意义的单词。请注意,在某些实现中,你可能需要显式地禁用贪婪并启用随机采样。例如,我们在实验室中使用的Hugging Face Transformers实现要求我们将do sample设置为true。让我们探索top k和top p采样技术,以帮助限制随机采样并增加输出合理的机会。
在这里插入图片描述

为了限制选项,同时仍允许一些变化,你可以指定一个top k值,该值指示模型只从概率最高的k个令牌中选择。在这里的示例中,k设置为三,所以你限制模型只从这三个选项中选择。然后,模型使用概率加权选择这些选项,在这种情况下,它选择甜甜圈作为下一个词。这种方法可以帮助模型有一些随机性,同时防止选择高度不可能的完成词。
在这里插入图片描述

这反过来使得你的文本生成更有可能听起来合理并有意义。或者,你可以使用top p设置来限制随机采样,只对其组合概率不超过p的预测进行采样。例如,如果你将p设置为0.3,选项是蛋糕和甜甜圈,因为它们的概率为0.2和0.1,加起来为0.3。然后,模型使用随机概率加权方法从这些令牌中选择。
在这里插入图片描述

使用top k,你指定要随机选择的令牌数,使用top p,你指定你希望模型选择的总概率。

你还可以使用一个称为温度的参数来控制模型输出的随机性。这个参数影响模型为下一个令牌计算的概率分布的形状。
在这里插入图片描述

大致说来,温度越高,随机性越高,温度越低,随机性越低。温度值是应用于模型的最终softmax层的缩放因子,影响下一个令牌的概率分布的形状。与top k和top p参数相反,改变温度实际上会改变模型的预测。如果你选择一个低的温度值,比如小于1,那么从softmax层得到的概率分布将更强烈地峰值,概率将集中在较少的单词上。你可以在这里看到这一点,在表旁边的蓝色条上,显示了一个概率条形图。大部分的概率都集中在单词cake上。模型将使用随机采样从这个分布中选择,生成的文本将不那么随机,并且更接近模型在训练期间学到的最可能的词序列。相反,如果你将温度设置为一个较高的值,比如大于1,那么模型将计算下一个令牌的更广泛、更平坦的概率分布。注意,与蓝色条相比,概率在令牌上更均匀地分布。
在这里插入图片描述

这使得模型生成文本具有更高的随机性和与冷温度设置相比的输出变化性。这可以帮助你生成听起来更有创意的文本。如果你将温度值设置为1,这将使softmax函数保持默认状态,将使用未更改的概率分布。

你已经涵盖了很多内容。你已经检查了LLMs能够执行的任务类型,并了解了Transformers,这是驱动这些惊人工具的模型架构。你还探索了如何使用提示工程和通过尝试不同的推断配置参数来从这些模型中获得最佳性能。

在下一个视频中,你将开始在这个基础知识上建立,思考开发和启动Transformers-powered应用程序所需的步骤。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/18SPI/generative-configuration

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Communication Channels

沟通渠道 n * (n - 1) / 2 你1 相关方3 4 4 * 3 / 2 6 你1 相关方3 相关方1 5 5 * 4 / 2 10 人越多,沟通渠道越多,沟通成本理论越高

Qt文件系统操作和文件的读写

一、文件操作类概述 QIODevice:所有输入输出设备的基础类 QFile:用于文件操作和文件数据读写的类QSaveFile:用于安全保存文件的类QTemporaryFile:用于创建临时文件的类QTcpSocket和QUdpSocket:分别实现了TCP和UDP的类…

CSSCI、北核期刊投稿指南(2023年更新)

该数据为经管类的期刊投稿指南,包含发表难度,文章数量,影响因子,用户评价等指标。共5份文件,分别为国内所有期刊信息库、投稿指南(CSSCI版本、CSSCI扩展版本、北大核刊版本、建议期刊版本) 一、…

Risk Probability

风险概率计算 sum p1 * v1 p2 * v2 p3 * v3 ... pn * vn

memmove的实现与使用

memmove与memcpy相比,可以实现同一数组的赋值 memmove要点 1.和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。 2.如果源空间和目标空间出现重叠,就得使用memmove函数处理。 函数实现 void* my_memmove(void* dest, void* sor…

【无监督】5、DINO | 使用自蒸馏和 transformer 来释放自监督学习的超能力(ICCV2021)

文章目录 一、背景二、相关工作三、方法四、效果 论文:Emerging Properties in Self-Supervised Vision Transformers 代码:https://github.com/facebookresearch/dino 出处:ICCV2021 | FAIR DINO: self-DIstillation with NO …

Ubuntu服务器service版本初始化

下载 下载路径 官网:https://cn.ubuntu.com/ 下载路径:https://cn.ubuntu.com/download 服务器:https://cn.ubuntu.com/download/server/step1 点击下载(22.04.3):https://cn.ubuntu.com/download/server…

【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)一(112)

需求&#xff1a;&#xff1a; 有一个List<Map<String.Object>>,存储了某年某月的数据&#xff0c; 数据是根据用户查询条件进行显示的&#xff1b;所以查询的数据是动态的&#xff1b;需按月份统计每个年月数据出现的次数&#xff0c;并且按照月份排序&#xff1…

Oracle19c-补丁升级报错合集(一)

前言: 本文主要介绍Oracle19c补丁升级遇到的问题&#xff0c;涉及安装补丁prepatch步骤&#xff0c;apply应用报错以及datapatch -verbose数据字典更新报错 问题一: 在执行补丁rootcrs.sh -prepatch操作时&#xff0c;发生执行检查命令cluutil -chkshare报错 CLSRSC-180: An …

春秋云镜 CVE-2019-9042

春秋云镜 CVE-2019-9042 Sitemagic CMS v4.4 任意文件上传漏洞 靶标介绍 Sitemagic CMS v4.4 index.php?SMExtSMFiles 存在任意文件上传漏洞&#xff0c;攻击者可上传恶意代码执行系统命令。 启动场景 漏洞利用 login进入登陆界面admin/admin 访问http://eci-2zebi1tekpr…

什么是BEM命名规范?为什么要使用BEM命名规范?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ BEM命名规范⭐ 为什么使用BEM命名规范&#xff1f;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为…

ROS_LINUX学习笔记=2=

B站ros入门教程 rqt_robot_steering 控制小乌龟 在index ros .rog中查找相关的包&#xff1a;rosindex 下图是rqt_robot_steering的简介 其中可以查看github源码地址 website可以查看效果图 下载相关的包 sudo apt install ros-kinetic-rqt-robot-steering roscore打开ros核…

C++入门知识点——解决C语言不足

&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️ &#x1f4a5;个人主页&#xff1a;&#x1f525;&#x1f525;&#x1f525;大魔王&#x1f525;&#x1f525;&#x1f525; &#x1f4a5;代码仓库&#xff1a;&#x1f525;&#x1f525;魔…

D. Anton and School - 2

范德蒙德恒等式 考虑统计每一个右括号位置的贡献&#xff0c;也就是每个右括号作为右边起点的贡献 其中i0的时候&#xff0c;r-1<r-0,故i0时贡献为0&#xff0c;直接套用恒等式不会有影响 #include <bits/stdc.h> using namespace std; typedef long long int ll; # d…

JAVA入坑之高级文件处理

一、图片文件简介及解析 1.1图形图像基础概念 1.2JAVA图形图像关键类 1.3图形的基本操作 package org.example;import javax.imageio.ImageIO; import javax.imageio.ImageReadParam; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; imp…

foobar2000使用笔记

foobar2000使用笔记 现在大多数在线音乐不开通VIP会员&#xff0c;很多歌曲只能听很短几句就听不了了。即使是歌曲免费&#xff0c;想听的歌在不同的APP平台&#xff0c;也较为不便。没办法&#xff0c;听歌又回归到了很多年前下载到本地播放的方式。电脑上的离线音乐一直用网上…

C语言——通讯录详解(文件版)

文件版通讯录 前言&#xff1a;一、保存通讯录二、读取通讯录2.1 通讯录初始化2.2 将文件的信息加载到通讯录 三、代码展示3.1通讯录的声明和定义(contct.h)3.2通讯录函数的实现&#xff08;contact.c&#xff09;3.2 通讯录的测试(test.c) 前言&#xff1a; 我们已经掌握了通…

2023国赛数学建模D题思路模型代码 高教社杯

本次比赛我们将会全程更新思路模型及代码&#xff0c;大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社…

【工具】python代码编辑器--PyCharm下载安装和介绍

PyCharm是一种Python IDE(集成开发环境),由JetBrains打造。它带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。此外,PyCharm还提供了一些高级功能,以用于支持Django框…