Is Temperature the Creativity Parameter of Large Language Models?阅读笔记

最近有小伙伴来问LLM的参数该如何设计,废话不多说来看看paper吧。首先,常见的可以进行调参的几个值有temperature,top-p和top-k。今天这篇文章是关于temperature的。

原文链接:https://arxiv.org/abs/2405.00492

temperature如果用简单的一句话来说,就是:Controls randomness, higher values increase diversity。数值越高,输出的结果多样性越大。大家其实直接用这个标准拿去参考调整参数就行。其实大部分的人都是这么做的,我们先来看一下openai commutiy上讨论的帖子:Cheat Sheet: Mastering Temperature and Top_p in ChatGPT API - API - OpenAI Developer Forum。这个回答者,还给出了一个不同use case情况下的参数设置参考,当然具体情况还是要看实验结果的哈。

然后2024年五月出的这篇文章,研究工作比较新了,我们先来看一下文章的摘要部分给出的结论:

Here, we investigate this claim using a narrative generation task with a predetermined fixed context, model and prompt. Specifically, we present an empirical analysis of the LLM output for different temperature values using four necessary conditions for creativity in narrative generation: novelty, typicality, cohesion, and coherence. We find that temperature is weakly correlated with novelty, and unsurprisingly, moderately correlated with incoherence, but there is no relationship with either cohesion or typicality. However, the influence of temperature on creativity is far more nuanced and weak than suggested by the “creativity parameter” claim; overall results suggest that the LLM generates slightly more novel outputs as temperatures get higher. Finally, we discuss ideas to allow more controlled LLM creativity, rather than relying on chance via changing the temperature parameter.

文章测试的实验是用固定的上下文、大语言基座模型、提示词来进行文本生成任务(叙事生成,即生成连贯有意义的故事)。作者从novelty新颖性、typicality典型性、cohesion凝聚性和coherence连贯性,这四个方面来看这个creativity的情况。结果,他们发现temperature这个参数和novelty弱相关,与不连贯性中等相关,与凝聚性和典型性无关。虽然temperature被视为creativity parameter,但是看起来并不是所谓意义上的那个creative。

首先,如果我们要去改变一个大语言模型的效果,有三个方式可以去调整,分别是训练数据(从最开始就构建或者后面进行微调),in-context learning(few-shot learning,简而言之,在prompt中添加示例),以及不同的超参数设置。Temperature是模型中的一个超参数,用于调节采样过程中的随机性,即下面这个softmax公式里的t,softmax大家都知道,是深度学习里非常常见的一个函数了,会在分类场景里,把数值给他映射到0-1的空间,如果是多分类,概率的和就是1啦。

然后,咱们放到GPT模型的尾端,当我要预测下一个词的时候,我需要计算每个单词成为下一个单词的概率,然后找到最大概率的那个词,作为我的下一个单词(所有词的概率加在一起是1)。咱们回到公式,你看分母就是词所有的和,分子是当前词。这个时候咱们的temperature,t成了一个分母,温度 t>1 时,高概率的值会降低,低概率的值会增加,导致概率分布更加平坦。温度 t<1 时,高概率的值会增加,低概率的值会降低,使得分布更加陡峭。分布陡峭,指的是我很明确就知道我要选那个概率最大的词,但是如果大家都姿色平平,那我可能就需要雨露均沾,哪个都可以试试。

如果你想看Temperature变化时候的可视化,可以看看这个网站(What is Temperature in NLP?🐭 :: Luke Salamone's Blog),作者举个🌰,大家都知道GPT模型主要是从前往后,预测下一个词。如果句子是:

老鼠爱吃_____

那么下一个词,可以是蛋糕、糖果、芝士、饼干等等等。

作者展现了随着temperature变化,不同词语对应概率分布的变化。

从:鼠鼠🐭就爱🧀

到:鼠鼠🐭我呀,雨露均沾。

看完了temperature的公式和变化时候的情况,我们再次回到文章,作者找到两种理论来解释t变化时候实际带来的改变:

The method for evaluation we propose in this paper is inspired by two theories of cognitive categorisation, namely prototype theory (Rosch 1973) and exemplar theory (Medin and Schaffer 1978). These two theories are often contrasted, but have much overlap. The key difference is that in exemplar theory, categorisation of new stimuli is not compared against a single prototype object, but against multiple exemplars of the category. A prototype is considered something that is derived from presented stimuli, where an exemplar is one of the previous stimuli.

。。。

Conceptual spaces also play an important role in Boden’s framework of creativity (Boden 1992). She uses a metaphor, a map of the mind, to describe exploratory creativ- ity and that novelty and value can be found venturing into unknown regions. To be more precise, the typicality of an object relates to how well it fits with the exemplars or the prototype, while novelty could be viewed as how much the category changes or expands as a new stimulus is presented. This implies similarly that if temperature is indeed the cre- ativity parameter, then it should allow access to different slices of the probability distribution or other regions in the embedding space.

大致意思,我觉得就是temperature改变的时候,虽然说是变得更加creative,出现的词更多样化,但是出现的这些词依旧属于某个类别。以大家熟悉的思维地图为例,新颖性可以看作是当新的刺激出现,地图类别变化或扩展的程度,如果temperature是创造性参数,改变了以后应该可以允许访问,概率分布不同或者embedding空间里的其他区域。这里的embedding space,我们可以把它想成是LLM在学习了大量的文本以后,大量参数组成的高纬🧀空间。有了这样的一个大致理论方向后,作者开始做实验。

任务非常简单,写故事,作者的prompt是

作者测试了7个不同temperature参数,写了100个故事:

OK,然后就是重要的测评环节!!!!

作者分别用故事的困惑度、生成的故事和典范故事之间的cosine相似度以及标准化的编辑距离,这三个指标来进行分析。作者还做PCA,用主成分分析,将生成的故事投射到二维空间。

除了指标和相关的可视化,必不能少的human evaluation。测评实验参与者会将每个故事与样本进行比较,然后评判新颖性、典型性、故事的凝聚和连贯性。

具体实验分析部分,大家去看文章哈,anyway,最后作者的结论就是,这个temperature参数看起来不太能就直接拿来调整以改变creative的程度。当然,作者最后给出的如何更creative的建议,看起来更像是🤌🤌🤌建设性的那种,比如咱们可以搞点benchmark for creativity,咱们可以整一些为特定目的来设计的解码策略,就是在decoding的时候直接为了creative而creative。通过prompt设计来最大程度调整LLM的表现。

最后的最后,hmmm,难道这就是在发现屡次调参失败后,dis参数的一篇文章🤣。

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

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

相关文章

OSPF.中DBD数据包

指定路由器---DR的身份 备份指定路由器---BDR的身份&#xff08;RID&#xff09;注意在一个广播域中的所有设备DR和BDR的认知必须统一。 只有DR和BDR会监听224.0.0.6的组播地址 会发出多个数据包 作用&#xff1a; 1.用来主从选举&#xff08;没有携带lsa再要信息的DBD报文…

《斯科特·凯尔比的风光摄影手册》读书笔记

写在前面 《斯科特凯尔比的风光摄影手册》读书笔记整理没有全部读完&#xff0c;选择了感兴趣的章节理解不足小伙伴帮忙指正 &#x1f603;,生活加油 99%的焦虑都来自于虚度时间和没有好好做事&#xff0c;所以唯一的解决办法就是行动起来&#xff0c;认真做完事情&#xff0c;…

PHP使用,按时间水平分表,跨月多表条件查询数据分页显示

1.创建测试表并添加一些对应数据 sh_user_visit_202405 uid,create_time sh_user_visit_202406 uid,create_time sh_user_visit_202407 uid,create_time2.格式化表 //获取表数组 public function getListByCross($table_prefix, $start_date, $end_date){if($end_date > d…

nginx+lua 实现URL重定向(根据传入的参数条件)

程序版本说明 程序版本URLnginx1.27.0https://nginx.org/download/nginx-1.27.0.tar.gzngx_devel_kitv0.3.3https://github.com/simpl/ngx_devel_kit/archive/v0.3.3.tar.gzluajitv2.1https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20240626.tar.gzlua-nginx-m…

Qt项目:基于Qt实现的网络聊天室---TCP服务器和token验证

文章目录 TCP服务器设计客户端TCP管理者ChatServerAsioIOServicePoolSession层LogicSystem总结 token验证模块完善protoStatusServer验证token客户端处理登陆回包用户管理登陆界面 本篇完成的模块是TCP服务器的设计和token验证 TCP服务器设计 客户端TCP管理者 因为聊天服务要…

游戏服务端设计:任务系统

任务系统的设计 导读 在众多的游戏系统当中,任务系统可谓是缺一不可。它是策划对游戏周期的一种抽象拆分。每个阶段的任务设定和游戏的进度密切相关,可以视其为带有目标的玩法提示和指引。通过完成任务,来了解游戏背景、熟悉玩法,或者是达到某种目标(等级提升/道具获取/条…

C#开发翻译较好的API

用于翻译服务的网站或API&#xff0c;尤其适合C#开发&#xff0c;以下是一些知名的选项&#xff1a; Google Cloud Translation API Google 提供的翻译服务非常强大&#xff0c;支持多种语言&#xff0c;而且有很好的文档和社区支持。您可以使用C# SDK来调用此API。 Microsoft …

LabVIEW心电信号自动测试系统

开发了一种基于LabVIEW的心电信号自动测试系统&#xff0c;通过LabVIEW开发的上位机软件&#xff0c;实现对心电信号的实时采集、分析和自动化测试。系统包括心电信号采集模块、信号处理模块和自动化测试模块&#xff0c;能够高效、准确地完成心电信号的测量与分析。 硬件系统…

计算机视觉之Vision Transformer图像分类

Vision Transformer&#xff08;ViT&#xff09;简介 自注意结构模型的发展&#xff0c;特别是Transformer模型的出现&#xff0c;极大推动了自然语言处理模型的发展。Transformers的计算效率和可扩展性使其能够训练具有超过100B参数的规模空前的模型。ViT是自然语言处理和计算…

STM32+HC-05蓝牙模块学习与使用(内附资料)

引言 随着物联网技术的快速发展&#xff0c;短距离无线通信技术变得日益重要。蓝牙作为一种低功耗、低成本的无线通信技术&#xff0c;在嵌入式系统中得到了广泛应用。本文将详细介绍如何使用STM32微控制器与HC-05蓝牙模块进行通信&#xff0c;实现数据的无线传输。 硬件准备…

prompt第一讲-prompt科普

文章目录 大语言模型输入要求中英翻译助手直接抛出问题描述问题描述&#xff08;详细&#xff09;问题描述案例问题描述案例上下文问题为什么要加入上下文 prompt总结prompt心得 大语言模型输入要求 大语言模型本质上就是一个NLP语言模型&#xff0c;语言模型其实就是接受一堆…

ubuntu服务器安装labelimg报错记录

文章目录 报错提示查看报错原因安装报错 报错提示 按照步骤安装完labelimg后&#xff0c;在终端输入labelImg后&#xff0c;报错&#xff1a; (labelimg) rootinteractive59753:~# labelImg ………………Got keys from plugin meta data ("xcb") QFactoryLoader::Q…

日常学习--20240713

1、字节流转字符流时&#xff0c;除了使用字节流实例作为参数&#xff0c;还需要什么参数&#xff1f; 还需要使用字符编码作为参数&#xff0c;保证即使在不同平台上也是使用相同的字符编码&#xff08;否则会使用平台默认的编码&#xff0c;不同平台默认编码可能不一样&…

hutool处理excel时候空指针小记

如图所示&#xff0c;右侧的会识别不到 参考解决方案&#xff1a; /***Description: 填补空缺位置为null/空串*Param: hutool读取的list*return: 无*Author: y*date: 2024/7/13*/public static void formatHutoolExcelArr(List<List<Object>> list) {if (CollUtil…

企业网络实验dhcp-snooping、ip source check,防非法dhcp服务器、自动获取ip(虚拟机充当DHCP服务器)、禁手动修改IP

文章目录 需求相关配置互通性配置配置vmware虚拟机&#xff08;dhcp&#xff09;分配IP服务配置dhcp relay&#xff08;dhcp中继&#xff09;配置dhcp-snooping&#xff08;防非法dhcp服务器&#xff09;配置ip source check&#xff08;禁手动修改IP&#xff09; DHCP中继&…

Android ListView

ListView ListView是以列表的形式展示具体内容的控件&#xff0c;ListView能够根据数据的长度自适应显示&#xff0c;如手机通讯录、短消息列表等都可以使用ListView实现。如图1所示是两个ListView&#xff0c;上半部分是数组形式的ListView&#xff0c;下半部分是简单列表Lis…

《Linux系统编程篇》认识在linux上的文件 ——基础篇

前言 Linux系统编程的文件操作如同掌握了一把魔法钥匙&#xff0c;打开了无尽可能性的大门。在这个世界中&#xff0c;你需要了解文件描述符、文件权限、文件路径等基础知识&#xff0c;就像探险家需要了解地图和指南针一样。而了解这些基础知识&#xff0c;就像学会了魔法咒语…

【C++】指针学习 知识点总结+代码记录

一.示例代码知识点总结 1. 基本指针操作 指针声明和初始化&#xff1a;int* ptr_a a; 表示声明了一个指向整型的指针&#xff0c;并初始化为指向数组a的首地址。引用和指针的区别&#xff1a;int& i2 i; 声明了一个整型引用&#xff0c;绑定到变量i上&#xff0c;而int…

k3s配置docker容器/dev/shm

在使用K3s和Docker容器时&#xff0c;如果你发现容器的 /dev/shm 默认大小是64MB&#xff0c;并且需要扩大它的大小&#xff0c;可以通过以下几种方法实现。 方法1&#xff1a;使用 Docker 的 --shm-size 选项 如果你直接使用 Docker 运行容器&#xff0c;可以通过 --shm-siz…

jenkins系列-07.轻易级jpom安装

jpom是一个容器化服务管理工具&#xff1a;在线构建&#xff0c;自动部署&#xff0c;日常运维, 比jenkins轻量多了。 本篇介绍mac m1安装jpom: #下载&#xff1a;https://jpom.top/pages/all-downloads/ 解压&#xff1a;/Users/jelex/Documents/work/jpom-2.10.40 启动前修…