南京大学提出用于大模型生成的动态温度采样法,简单有效!

在自然语言处理(NLP)的领域,大语言模型(LLMs)已经在各种下游语言任务中展现出了卓越的性能。这些任务包括但不限于问答、摘要、机器翻译等。LLMs的强大能力在于其生成的文本质量和多样性。为了控制生成过程,温度采样(temperature sampling)策略被广泛应用于调整下一个生成词的概率分布,从而影响模型的性能。

分享几个网站

GPT-3.5研究测试:
https://hujiaoai.cn

GPT-4研究测试:
https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4):
https://hiclaude3.com

然而,现有的方法大多采用固定的温度参数,这在实际应用中可能并非最佳选择。固定温度在平衡生成质量和多样性方面存在局限性。如果模型每次生成高度相似甚至相同的内容,那么在需要多次生成的情况下,固定的温度设置就显得不够合理。

鉴于此,研究者们开始探索动态选择温度参数的方法,以期在生成质量和多样性之间实现更好的平衡。本文将介绍一种基于熵的动态温度采样(EDT)方法,该方法能够在每个解码步骤动态选择温度参数,以期在几乎不增加计算成本的情况下,显著提升模型在不同任务中的表现。

论文标题:EDT: Improving Large Language Models’ Generation by Entropy-based Dynamic Temperature Sampling

论文链接:https://arxiv.org/pdf/2403.14541.pdf

南京大学新软件技术国家重点实验室与字节跳动公司合作研究

在近期的研究中,南京大学新软件技术国家重点实验室与字节跳动公司合作,提出了一种基于熵的动态温度(Entropy-based Dynamic Temperature, EDT)采样方法,旨在改善大语言模型(Large Language Models, LLMs)在生成任务中的表现。该方法通过动态选择温度参数,实现了生成质量与多样性之间更好的平衡。

1. 研究背景与动机

在自然语言生成(Natural Language Generation, NLG)任务中,除了输出质量,输出的多样性、事实一致性等因素也受到关注。温度采样(temperature sampling)是控制解码过程中常用的方法之一,但大多数情况下使用的是固定的温度设置,这可能并不总是最佳选择。通过对四个不同任务的1000个实例进行单实例级别的最优生成质量温度选择分析,研究者发现固定温度在许多情况下并非最佳选项。

2. EDT方法介绍

基于上述动机,研究者提出了EDT方法,这是一种新的温度选择策略,可以在每个解码步骤中动态选择温度。EDT方法使用单个模型,并根据每一步的预测分布计算温度,从而节省了大量GPU内存使用,并消除了双并行解码架构中的潜在瓶颈。研究者还介绍了如何通过模型在当前步骤的置信度来动态选择温度,其中熵被用作衡量模型置信度的指标。

3. 实验设计与结果

研究者在文本摘要、问答和机器翻译等代表性基准上评估了EDT策略。实验结果表明,EDT策略在所有任务中都取得了比固定温度策略和基于KL散度的动态温度策略(KLD)更好的性能。此外,EDT策略在生成质量和多样性之间取得了更好的平衡,并且几乎不增加推理成本。

温度采样策略的介绍与问题分析

1. 温度采样的基本概念

温度采样是大语言模型(LLMs)生成过程中常用的解码策略之一。这种策略通过调整下一个生成词汇的概率分布来影响模型的生成性能。具体来说,温度采样策略通过一个参数T,即温度,来调整概率分布,从而控制生成内容的质量和多样性。在解码过程中,较高的温度通常会导致更具创造性的生成,而较低的温度则倾向于生成质量更高但变化较少的内容。

2. 固定温度设置的局限性

尽管温度采样策略广泛用于平衡生成质量和多样性,但目前主流的做法是使用固定的温度设置。这种方法存在明显的局限性。例如,在对四个不同任务的1000个实例进行最优温度选择分析时,结果表明,在许多情况下,任何固定的温度都不是最佳选择。

这说明固定温度策略不能充分满足多样性和质量的需求,因此,有必要寻找一种更合理的动态温度选择策略。

动态温度采样(EDT)方法的提出

1. 动态温度采样的动机与初步研究

动态温度采样(EDT)的提出源于对固定温度采样局限性的认识。通过对不同任务中单个实例的最优温度选择进行分析,研究者发现在大量情况下,固定温度并非最佳选择。此外,LLMs在不同解码步骤中的置信度存在显著波动,这为通过模型置信度来控制解码过程提供了可能性。

2. 模型置信度与熵的关系

在EDT方法中,研究者选择作为每个解码步骤中模型置信度的度量。

  • 熵越大,模型在选择当前词汇时置信度越低;熵越小,置信度越高。

当模型对当前位置的选择不够自信时,使用较高的温度可以帮助模型探索更多可能的答案,而不会显著影响输出质量。相反,当模型在当前步骤非常自信时,使用较低的温度可以使模型更坚定地执行其当前决策。

图片

3. EDT算法的核心思想与实现

EDT算法的核心思想是在每个解码步骤动态选择温度

在解码过程中,首先获取词汇的对数几率和预测概率分布,然后根据概率分布的熵来测量模型在当前步骤的置信度,并据此计算该步骤的温度。通过这种方式,可以在不增加显著计算成本的情况下,动态调整温度,从而在生成质量和多样性之间取得更好的平衡。

图片

实验结果表明,EDT算法在不同任务中都显著优于现有策略,并且与固定温度策略相比,几乎没有额外的计算成本,同时节省了约一半的GPU内存。

实验设计与评估指标

1. 实验设置:数据集与任务类型

在本研究中,研究者们采用了四个不同的基准数据集来评估此基于熵的动态温度(EDT)采样方法。这些数据集包括文本摘要的XLSum、问答任务的MS MARCO v1.1和QuAC,以及机器翻译的WMT19。

  • 在实验设置中,研究者们从XLSum英文数据集的训练子集中提取了10k实例作为训练集,并从测试子集中随机提取了1k实例进行测试。

  • 问答任务的数据集设置类似,从每个训练集中提取10k实例进行训练,并从验证集中提取1k实例进行测试。

  • 对于机器翻译任务,选择了WMT19英文到中文数据集的验证子集,同样采用了10k实例进行训练和1k实例进行测试。

    图片

2. 评估指标:质量与多样性的衡量

为了全面评估生成任务的性能,研究者们采用了多个评估指标。

  • 对于文本摘要和问答任务,使用ROUGE-L的平均F1分数来评估生成质量,并遵循Aharoni等人(2022)和Nishida等人(2019)的方法。

  • 对于机器翻译任务,使用平均SacreBLEU分数来评估生成质量。

  • 此外还使用了平均Self-BLEU分数来衡量生成的多样性,参考了Zhu等人(2018b)的方法。

为了反映生成质量和多样性之间的综合性能,研究者们计算了EDA(Euclidean Distance from the ultimate Aim)分数,该分数考虑了BLEU或ROUGE评分的质量分数和Self-BLEU评分的多样性分数,以及这两个指标之间的权衡。

图片

实验结果与分析

1. EDT与固定温度策略的对比

实验结果表明,与固定温度策略相比,EDT在不同的任务中均能实现更好的性能。

  • 在文本摘要任务的XLSum数据集上,使用EDT的ROUGE分数从23提高到29,而在WMT19机器翻译任务中,BLEU分数从20提高到30。

这些结果表明,适当的温度调节对于提高LLMs的生成质量至关重要。

图片

2. EDT与其他动态温度策略的对比

与其他动态温度策略(如KLD)相比,EDT展现出了更好的性能。平均而言,EDT在质量和多样性的平衡上优于KLD,且在实现这一平衡的同时,EDT的计算成本几乎可以忽略不计,这使得EDT成为一种更简单、更有效的策略。

3. 参数T0和θ对EDT性能的影响

通过对MS MARCO问答任务的实验分析,研究者们发现T0和θ这两个超参数对EDT的性能有着显著的影响。

  • T0决定了温度范围,而θ则在温度对熵的敏感性方面发挥着重要作用。

实验结果表明,适当调整T0和θ可以帮助模型获得更好的性能。例如,当T0固定时,通过调整θ可以帮助模型获得更好的性能,但如果θ调整不当,可能会产生比原始算法更差的结果。

总体而言,设置合适的超参数T0和θ对于算法的有效性至关重要。

图片

通过案例研究,研究者们还展示了EDT在XLSum数据集上的优势,其中EDT的输出明显更加简洁,同时准确传达了原文的意义,并且在相似的Self-BLEU分数下实现了显著更好的生成质量分数。

案例研究:EDT在文本摘要任务中的应用

1. 研究背景

在自然语言生成(NLG)任务中,如文本摘要、问答和机器翻译等,生成的文本质量和多样性是评价模型性能的重要指标。大语言模型(LLMs)在这些任务中取得了显著的成绩,但在解码过程中通常采用固定的温度参数进行温度采样,这可能不是平衡生成质量和多样性的最佳选择。为了解决这一问题,本研究提出了一种基于熵的动态温度(EDT)采样方法,通过动态选择温度参数来实现更平衡的性能。

2. EDT方法介绍

EDT方法在每个解码步骤中动态选择温度参数,以此来控制模型生成的过程。该方法使用熵作为模型在每个解码步骤中的置信度指标,熵值越大,模型在选择当前token时置信度越低;熵值越小,置信度越高。

当模型对当前步骤不够自信时,采用较高的温度有助于模型探索更多可能的答案,而不会显著影响输出质量。反之,当模型对当前步骤非常自信时,采用较低的温度使模型更坚定其当前决策,有助于解决基于采样的生成策略中的长尾问题。

3. 文本摘要任务中的应用

在文本摘要任务中,EDT方法被应用于XLSum数据集。实验中,从XLSum英文数据集的训练子集中抽取了10k个实例作为训练集,并从测试子集中随机抽取了1k个实例进行测试。

EDT方法与固定温度策略和基于KL散度的动态温度策略(KLD)进行了比较。实验结果表明,EDT在生成质量和多样性之间取得了更好的平衡,且相较于KLD策略,EDT方法在计算成本上几乎可以忽略不计,同时节省了约一半的GPU内存。

4. 结果分析

通过对XLSum数据集的案例研究,发现EDT生成的摘要更加简洁,同时准确传达了原文的意义。与其他两种算法相比,EDT在生成质量得分上显著更好,同时保持了类似的自我BLEU分数。EDT输出中的冗余信息更少,因此获得了更高的ROUGE-L F1分数。

结论与展望:动态温度采样的意义与未来研究方向

1. 研究意义

本研究提出的EDT方法在多个自然语言生成任务中验证了其有效性,特别是在文本摘要任务中展现了其优势。EDT方法简单到足以无缝应用于多种语言生成任务,并且在现有温度采样策略中表现出色。这一方法遵循LLMs研究的“一体适用”精神,希望能激发后续研究者探索这一有前景的研究方向。

2. 未来研究方向

尽管EDT方法在多个NLG任务中表现出了预期的效果,并在效率和效果上都比现有方法有显著提升,但仍有一些局限性等待研究。EDT算法虽然是任务无关的,但它仍受特定任务或数据的限制,这意味着同一组超参数设置不能普遍适用于所有语言任务或数据集。

此外,EDT方法依赖于某些手动配置,这意味着开发能够自动选择超参数的神经网络将更为高效。此外,可学习的网络甚至可以为每个实例选择超参数,实现更有效的控制。这表明,可学习的参数选择策略是一个重要的研究方向。

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

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

相关文章

力扣由浅至深 每日一题.22 移除链表元素

迄今为止的生命里 —— 24.4.4 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2…

【子集回溯】Leetcode 78. 子集 90. 子集 II

【子集回溯】Leetcode 78. 子集 90. 子集 II 78. 子集90. 子集 II ---------------&#x1f388;&#x1f388;78. 子集 题目链接&#x1f388;&#x1f388;------------------- 78. 子集 class Solution {List<List<Integer>> result new ArrayList<>()…

基于约束求解器对“火影忍者Online”进行智能布阵

文章目录 1. 游戏背景2. 确定决策边界3. 布阵数据3.1 追击状态3.2 角色信息3.3 个性化要求 4. 智能布阵模型4.1 主要的决策变量4.2 约束条件&#xff08;含辅助决策变量&#xff09;4.3 目标函数及求解 1. 游戏背景 今天将以“火影忍者Online”为案例&#xff0c;写一个智能布…

STM32工程 如何设置堆栈大小(Heap和Stack)

方法1&#xff1a;通过CubeMX、CubeIDE 配置 方法2&#xff1a;直接在启动文件中修改 &#xff08;适合所有Keil工程&#xff09; Heap、Stack的值大小&#xff0c;不管使用哪种开发环境&#xff0c;它俩都肯定在启动文件中。 可以通过CtrlF&#xff0c;搜索: Heap&#xff0…

【Linux】从零认识文件操作

送给大家一句话&#xff1a; 要相信&#xff0c;所有的不美好都是为了迎接美好&#xff0c;所有的困难都会为努力让道。 —— 简蔓《巧克力色微凉青春》 开始理解基础 IO 吧&#xff01; 1 前言2 知识回顾3 理解文件3.1 进程和文件的关系3.2 文件的系统调用openwrite文件 fd 值…

STL常用容器(2)---vector容器

1.1 vector基本概念 功能&#xff1a; vector数据结构和数组非常相似&#xff0c;也称为单端数组 vector与普通数组区别&#xff1a; 不同之处在于数组是静态空间&#xff0c;而vector可以动态扩展 动态扩展&#xff1a; 并不是在原空间之后的续接的新空间&#xff0c;而…

如何从 Android 和 iPhone 中的 SIM 卡恢复已删除的联系人 [新]

在手机上&#xff0c;我们经常添加联系人&#xff0c;而很少关心联系人是存储在SIM卡中还是手机中。当我们错误删除SIM卡联系人&#xff0c;或者不当取出插入的SIM卡插入新手机时&#xff0c;那些因业务需要而添加的联系人就会消失。这可能会令人沮丧和困惑。因此&#xff0c;您…

UniApp 应用发布到苹果商店指南

&#x1f680; 想要让你的 UniApp 应用在苹果商店亮相吗&#xff1f;别着急&#xff0c;让我来带你一步步完成这个重要的任务吧&#xff01;在这篇博客中&#xff0c;我将详细介绍如何将 UniApp 应用顺利发布到苹果商店&#xff0c;让你的应用跻身于苹果生态之中。 引言 &…

Python向带有SSL/TSL认证服务器发送网络请求小实践(附并发http请求实现asyncio+aiohttp)

1. 写在前面 最近工作中遇到这样的一个场景&#xff1a;给客户发送文件的时候&#xff0c;为保证整个过程中&#xff0c;文件不会被篡改&#xff0c;需要在发送文件之间&#xff0c; 对发送的文件进行签名&#xff0c; 而整个签名系统是另外一个团队做的&#xff0c; 提供了一…

银行数字化转型导师坚鹏:银行数字化转型必知的3大客户分析维度

银行数字化转型需要进行客户分析&#xff0c;如何进行客户分析呢&#xff1f;银行数字化转型导师坚鹏认为至少从客户需求分析、客户画像分析、客户购买行为分析3个维度进行客户分析。 1.客户需求分析 银行数字化转型需要了解客户需求&#xff0c;不同年龄段的客户有不同的需求…

游戏APP如何提高广告变现收益的同时,保证用户留存率?

APP广告变现对接第三方聚合广告平台主要通过SDK文档对接&#xff0c;一些媒体APP不具备专业运营广告变现的对接能力和资源沉淀&#xff0c;导致APP被封控&#xff0c;设置列入黑名单&#xff0c;借助第三方聚合广告平台进行商业化变现是最佳选择。#APP广告变现# 接入第三方平台…

VGG网络模型

VGG网络模型 VGG的网络架构VGG16VGG19 特点总结时间关系AlexNet和VGG相似之处AlexNet和VGG不同之处启发与影响总结 VGG&#xff08;Visual Geometry Group&#xff09;是由牛津大学的 Visual Geometry Group 提出的一个深度卷积神经网络模型&#xff0c;它在2014年的ImageNet大…

哲♂学家带你深♂入了解动态顺序表

前言&#xff1a; 最近本哲♂学家学习了顺序表&#xff0c;下面我给大家分享一下关于顺序表的知识。 一、什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组 上完成数据的增删查改。 顺序表&#xff…

动态规划刷题(算法竞赛、蓝桥杯)--乌龟棋(线性DP)

1、题目链接&#xff1a;[NOIP2010 提高组] 乌龟棋 - 洛谷 #include <bits/stdc.h> using namespace std; const int M41; int f[M][M][M][M],num[351],g[5],n,m,x; //f[a][b][c][d]表示放a个1b个2c个3d个4的总得分 int main(){scanf("%d %d",&n,&m)…

创新指南|贝恩的产品经理RAPID框架:解决问题的分步指南,使决策过程既高效又民主

您是否曾发现自己陷入项目的阵痛之中&#xff0c;决策混乱、角色不明确、团队成员之间的冲突不断升级&#xff1f;作为产品经理&#xff0c;驾驭这艘船穿过如此汹涌的水域可能是令人畏惧的。应对这些挑战的关键在于采用清晰、结构化的决策方法。输入贝恩的 RAPID 框架&#xff…

软件测试用例(2)

具体的设计方法 -- 黑盒测试 因果图 因果图是一种简化的逻辑图, 能直观地表明程序的输入条件(原因)和输出动作(结果)之间的相互关系. 因果图法是借助图形来设计测试用例的一种系统方法, 特别适用于被测试程序具有多种输入条件, 程序的输出又依赖于输入条件的各种情况. 因果图…

Linux-进程概念

1. 进程基本概念 书面概念&#xff1a;程序的一个执行实例&#xff0c;正在执行的程序等 内核概念&#xff1a;担当分配系统资源&#xff08;CPU时间&#xff0c;内存&#xff09;的实体。 2. 描述和组织进程-PCB PCB&#xff08;process contral block&#xff09;&#xff0…

【讲解下如何Stable Diffusion本地部署】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

20240324-2-频繁模式FrequentPattern

频繁模式(frequent pattern) 频繁模式一般是指频繁地出现在数据集中的模式。这种频繁模式和关联规则是数据挖掘中想要挖掘的知识。我们都知道一个很有趣的故事&#xff0c;就是啤酒和尿布的故事&#xff0c; 在某些特定的情况下&#xff0c;“啤酒”与“尿布”两件看上去毫无关…

SCP 从Linux快速下载文件到Windows本地

需求&#xff1a;通过mobaxterm将大文件拖动到windows本地速度太慢。 环境&#xff1a;本地是Windows&#xff0c;安装了Git。 操作&#xff1a;进入文件夹内&#xff0c;鼠标右键&#xff0c;点击Git Bash here&#xff0c;然后输入命令即可。这样的话&#xff0c;其实自己本…