大模型微调的“温度”参数,原来影响的是 softmax

大家好啊,我是董董灿。

在对大模型进行微调训练时,经常会看到几个重要的超参数,用来控制大模型生成文本的效果。

图片

其中一个超参数叫做 Temperature,中文名字叫温度,初见时很是不解,为啥一个模型还有温度这个选项。

其实温度这个超参数,是可以控制模型输出的多样性。

可以这么理解,热力学上,温度越高,分子运动越剧烈;温度越低,分子运动越缓慢。

在大模型中也是这样,温度这个参数的值越高,代表了输出结果越多变,越"歇斯底里",用褒义词讲,叫越具有多样性和创意性。

图片

那么这个参数到底是如何控制大模型的输出效果的呢?今天就一起来了解一下吧。

1、温度影响的是 softmax 函数

之前介绍过 softmax 这个函数,它的作用是将原始数据归一化到 0-1 之间的概率分布,并且拉开输入数据之间的差距,让大的数据概率变得更大,小的数据概率变得更小。

关于softmax的原理介绍,查看:10 分钟搞懂 softmax 的底层逻辑。

对应到大模型中,softmax 的作用体现如下:

  • 我们在跟大模型对话时,它会输出文本作为回答。模型在预测下一个输出的单词时,首先会为每个可能的词计算一个分数(这个分数基于模型的当前状态和它对语言的理解)。

  • 然后,softmax 函数将这些分数转换为概率(上面的链接查看具体过程),转换的过程就会使得分数较高的词的概率更高,而分数较低的词的概率更低,从而模型选择概率更高的单词作为输出。

这是 softmax 函数的作用。

不过这是没有 Temperature 参数的 softmax,一旦加上 Temperature 参数,就会使的这个函数发生一点微妙的变化。

首先,在不考虑 Temperature 的情况下,softmax 函数的标准形式是这样的:

图片

这里,Z 是一个向量,其中每个元素  Zi 代表模型为一个特定词语计算出的分数。理解为这是一对备选的下一个单词或词组的分数值。

函数 e^Zi 是对每个分数求指数值,分母是对所有分数的指数值求和,从而确保了所有单词的概率加起来等于1。

2、 高温度让 softmax 变得平滑

当引入 Temperature 参数 T 时,公式变为:

图片

在这个修改后的公式中:

  • 当 T = 1 时,它就是普通的 softmax 函数。

  • 当 T > 1 时,分数之间的差异会减小,导致概率分布更加均匀(增加随机性和创新性),T越大,概率差异越小。

  • 当 T < 1 时,分数之间的差异会增大,使得高分数的词的概率远远高于低分数的词(增加确定性和预测性)。

因此,Temperature 通过调节分数的缩放来影响 softmax 函数的输出,进而控制模型在生成文本时的随机性和创新性。

再说的通俗一点,本来模型倾向于选择最高概率的单词(老大)作为输出,一旦将 T 调高,那么大家的概率会变的更加均匀,大家的差距拉的不会很开,此时选择老大还是老二差别不大。

因此,模型可能会选择老大,也可能会选择老二,甚至老三,这样模型就有更多选择性,从而变得更加有创意。

因此,当你调整 Temperature 参数时,实际上是在调节这个转换过程中的“平滑度”或“尖锐度”。

图片

上图展示了这个过程:在低温度下(黄色),softmax 输出的概率函数更加尖锐,意味着高分数的词语概率会更高,而低分数的词语概率会更低。

这导致模型更倾向于选择那些最有可能(概率最大)的词语,一种场景就是,给大模型相同的提问,每次都会得到类似的回答。

在高温度下(蓝色),softmax 输出的函数变得更平滑,即使分数较低的词也有合理的被选择概率。

此时对于相同的提问,就会使得模型具有更大概率生成不一样的回答,从而表现出更加有创意。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【问题处理】—— lombok 的 @Data 大小写区分不敏感

问题描述 今天在项目本地编译的时候&#xff0c;发现有个很奇怪的问题&#xff0c;一直提示某位置找不到符号&#xff0c; 但是实际在Idea中显示确实正常的&#xff0c;一开始以为又是IDEA的故障&#xff0c;所以重启了IDEA&#xff0c;并执行了mvn clean然后重新编译。但是问…

36、什么是池化算法

池化算法也是 CNN 网络中非常常见的算法。 池化这一算法理解起来比较简单,从名字中或许可以看到一些东西:从一个像素池子中选取一些有代表性的像素出来。 常见的池化有最大池化和平均池化。最大池化就是从像素池子中选取最大值出来,而平均池化就是从像素池子中选取平均值出…

Ganache结合内网穿透实现远程或不同局域网进行连接访问

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络&#xff0c;提供图形化界面&#xff0c;log日志等&#xff1b;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…

一文搞清楚“并发与并行”“串行与并行”“线程与进程”的区别

目录 &#x1f436;6.1 并发与并行 &#x1f436;6.2 串行与并行 1. 基本概念 2. 举个&#x1f330; 3. 适用场景 &#x1f436;6.3 线程与进程 1. 基本概念 2. 进程与线程的区别 3. 线程调度: &#x1f436;6.1 并发与并行 并行&#xff1a;指两个或多个事件在同一时…

2023年OceanBase开发者大会-核心PPT资料下载

一、峰会简介 2023年OceanBase开发者大会主要涵盖了OceanBase的最新技术进展、产品更新以及开发者工具的发布。大会发布了OceanBase 4.1版本&#xff0c;公布了两大友好工具&#xff0c;升级了文档的易用性&#xff0c;并统一了企业版和社区版的代码分支。这些举措全面呈现了O…

【算法题】开源项目热度榜单(js)

解法 const lines ["4","8 6 2 8 6","camila 66 70 46 158 80","victoria 94 76 86 189 211","athony 29 17 83 21 48","emily 53 97 1 19 218", ]; const lines2 ["5","5 6 6 1 2","…

Python:pipdeptree 语法介绍

相信大家在按照一些包的时候经常会碰到版本不兼容&#xff0c;但是又不知道版本之间的依赖关系&#xff0c;今天给大家介绍一个工具&#xff1a;pipdeptree pipdeptree 是一个 Python 包&#xff0c;用于查看已安装的 pip 包及其依赖关系。它以树形结构展示包之间的依赖关系&am…

json Deserialization of Python Objects

openweathermap.json {"coord": {"lon": 114.0683, "lat":22.5455},"weather":[ {"id": 803, "main":"Clouds", "description":"多云", "icon":"04d"}],"…

产品Axure的安装以及组件介绍

Axure介绍&#xff1a; Axure是一款用户体验设计工具&#xff0c;可以用于创建交互式原型、线框图和设计文档。它支持快速原型开发、界面设计、信息架构、流程图和注释等功能&#xff0c;可以帮助设计师快速地创建和共享交互式原型&#xff0c;从而更好地与客户和团队协作。 …

利用Pytorch预训练模型进行图像分类

Use Pre-trained models for Image Classification. # This post is rectified on the base of https://learnopencv.com/pytorch-for-beginners-image-classification-using-pre-trained-models/# And we have re-orginaized the code script.预训练模型(Pre-trained models)…

回溯热门问题

关卡名 回溯热门问题 我会了✔️ 内容 1.组合总和问题 ✔️ 2.分割回文串问题 ✔️ 3.子集问题 ✔️ 4.排列问题 ✔️ 5.字母全排列问题 ✔️ 6.单词搜索 ✔️ 1. 组合总和问题 LeetCode39题目要求&#xff1a;给你一个无重复元素的整数数组candidates和一个目标整数 ta…

数据结构学习 12字母迷宫

dfs 回溯 剪枝 这个题和dfs有关&#xff0c;但是我之前没有接触过&#xff0c;我看了这一篇很好的文章&#xff0c;看完之后写的答案。 我觉得很好的总结&#xff1a; dfs模板 int check(参数) {if(满足条件)return 1;return 0; }void dfs(int step) {判断边界{相应操作}尝试…

自考 00023高等数学考点整理

空间直角坐标系 右手法则 向量 点到点的距离 点到直线的距离点到平面的距离向量平行向量垂直向量投影向量数乘 a*b axb(行列式计算)直线夹角、直线与平面夹角平面点法式方程空间直角坐标系 右手法则向量数量积、向量积 平行四边形法则、三角形法则 第二章 多元函数 微分学…

VS2022 将项目打包,导出为exe运行

我有一个在 VS2022 上开发的程序&#xff0c;基于.net 6框架, 想打包成 .exe程序&#xff0c;以在另一个没有安装VS的机器上运行&#xff0c;另一个机器是Win7系统&#xff0c;上面安装了.net 6框架。 虽然网上很多教程&#xff0c;需要安装Project Installer&#xff0c;配置A…

从零开始创建一个项目,springBoot+mybatisPlus+mysql+swagger+maven

一&#xff0c;前提 从零开始创建一个项目&#xff0c;绑定了数据库 用到的技术栈&#xff1a;springBootmybatisPlusmysqlswaggermaven 二&#xff0c;创建项目步骤 1&#xff0c;创建项目 创建出来的项目结构如图所示 2&#xff0c;修改配置文件 因为我比较习惯yml语言&…

算法:最小生成树

文章目录 生成树Kruskal算法Prim算法 本篇总结的是最小生成树算法 生成树 连通图中的每一棵生成树&#xff0c;都是原图的一个极大无环子图&#xff0c;即&#xff1a;从其中删去任何一条边&#xff0c;生成树就不在连通&#xff1b;反之&#xff0c;在其中引入任何一条新边&…

路由器交换机配置备份工具

本文主要介绍fast-backup 2.0软件的使用&#xff0c;fast-backup 2.0是可以在任何Windows系统上运行的网络运维软件&#xff0c;帮助运维人员减少大量重复的交换机等设备的配置下载工作&#xff0c;支持的厂商有华为和华三的网络设备和安全设备。 功能特性&#xff1a; 支持S…

提升数据分析效率:Amazon S3 Express One Zone数据湖实战教程

前言 什么是 Amazon S3&#xff1f;什么是 S3 Express One Zone&#xff1f;实现概述 技术架构组件实现步骤概览 第一步&#xff1a;构建数据湖的基础第二步&#xff1a;选择并查看数据集第三步&#xff1a;在 Athena 中搭建架构第四步&#xff1a;数据转换与优化第五步&#x…

数组笔试题解析(下)

数组面试题解析 字符数组 &#xff08;一&#xff09; 我们上一篇文章学习了一维数组的面试题解析内容和字符数组的部分内容&#xff0c;我们这篇文章讲解一下字符数组和指针剩余面试题的解析内容&#xff0c;那现在&#xff0c;我们开始吧。 我们继续看一组字符数组的面试…

binkw32.dll丢失怎么办?这5个方法都可以解决binkw32.dll丢失问题

binkw32.dll文件是什么&#xff1f; binkw32.dll是一个动态链接库文件&#xff0c;它是Windows操作系统中的一个重要组件。它包含了许多用于处理多媒体文件的函数和资源&#xff0c;如视频、音频等。当我们在电脑上打开或播放某些多媒体文件时&#xff0c;系统会调用binkw32.d…