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

news2024/11/24 0:23:26

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

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

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

相关文章

任意文件下载漏洞

1.文件下载漏洞存在的位置 文件经过php处理可能存在文件下载漏洞,配合目录遍历漏洞使用 2.目录遍历漏洞检验方法 测试是否存在目录遍历漏洞:在网站网址中间添加随意写一个文件名../(返回上一级)进行测试,没有报错就…

UART通信

UART——通用异步收发传输器,UART 作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。在应用程序开发过程中使用频率较高的数据总线。 基于UART的数据传输是异步形式的串行数据传输。基于UART的串行数据传输不需要使用时钟信…

基于springboot+vue实现的酒店客房管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

[Python学习篇] Python创建项目

新建项目 打开开发工具 PyCharm 选择 New Project 目录结构如下 运行 hello world 选中项目,右键 New -> Python File 进行创建文件 运行项目

STM32学习和实践笔记(4): 分析和理解GPIO_InitTypeDef GPIO_InitStructure (b)

继续上篇博文:STM32学习和实践笔记(4): 分析和理解GPIO_InitTypeDef GPIO_InitStructure (a)-CSDN博客 往下写, 为什么:当GPIO_InitStructure.GPIO_PinGPIO_Pin_0 ; 时,其实就是将对应的该引脚的寄存器地…

Python搭建编程环境—安装Python3解释器

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:零基础学Python 💬个人格言:不断的翻越一…

HarmonyOS 应用开发之启动指定页面

当PageAbility的启动模式设置为单例时(具体设置方法和典型场景示例见 PageAbility的启动模式 ,缺省情况下是单实例模式),若PageAbility已被拉起,再次启动PageAbility会触发onNewWant回调(即非首次拉起&…

JavaScript基础代码练习之冒泡排序

一、要求对一个数组进行冒泡排序&#xff0c;并将排序后的结果输出到控制台。在代码中&#xff0c;数组 arr 包含了一组数字&#xff0c;然后使用嵌套的循环来进行冒泡排序。 二、编写代码 <!DOCTYPE html> <html lang"en"><head><meta chars…

doccano标注工具|为机器学习建模做数据标注

目录 一、标记流程 二、配置环境 2.1 安装 2.2 运行doccano 三、案例 3.1 创建项目 3.2 上传数据 3.3 定义标签 3.4 添加成员 3.5 开始标注 3.6 导出数据 3.7 导出数据 doccano doccano是开源的数据…

【C++进阶】AVL树(来自二叉搜索树的复仇)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 引言&#xff1a; 之前我们学…

每日面经分享(Spring Boot: part3 Service层)

SpringBoot Service层的作用 a. 封装业务逻辑&#xff1a;Service层负责封装应用程序的业务逻辑。Service层是控制器&#xff08;Controller&#xff09;和数据访问对象&#xff08;DAO&#xff09;之间的中间层&#xff0c;负责处理业务规则和业务流程。通过将业务逻辑封装在S…

什么是智慧驿站?智慧驿站主要应用有哪些?新型智慧公厕解说

智慧驿站是一种融合了创意设计和多项功能的新型智慧公厕&#xff0c;它在信息化公共厕所的基础上&#xff0c;以创意的外观设计、全金属结构用材、快速制作整体运输、快速部署落地使用等价值特点&#xff0c;所打造了一个集购物、互动、休憩等多种功能于一体的城市基础设施。无…

【智能算法】金枪鱼群优化算法(TSO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码展示4.参考文献 1.背景 2021年&#xff0c;Xie等人受到自然界中金枪鱼狩猎行为启发&#xff0c;提出了金枪鱼优化算法&#xff08;Tuna swarm optimization&#xff0c;TSO&#xff09;。 2.算法原理 2.1算法思想 TSO模…

Rust语言中Regex正则表达式,匹配和查找替换等

官方仓库&#xff1a;https://crates.io/crates/regex 文档地址&#xff1a;regex - Rust github仓库地址&#xff1a;GitHub - rust-lang/regex: An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear tim…

LCD1602显示屏

LCD1602显示 概述 LCD1602&#xff08;Liquid Crystal Display&#xff09;是一种工业字符型液晶&#xff0c;能够同时显示 1602 即 32 字符(16列两行) 引脚说明 //电源 VSS -- GND VDD -- 5V //对比度 VO -- GND //控制线 RS -- P1.0 RW -- P1.1 E -- P1.4 //背光灯 A -- 5…

Python快速入门系列-8(Python数据分析与可视化)

第八章:Python数据分析与可视化 8.1 数据处理与清洗8.1.1 数据加载与查看8.1.2 数据清洗与处理8.1.3 数据转换与整理8.2 数据可视化工具介绍8.2.1 Matplotlib8.2.2 Seaborn8.2.3 Plotly8.3 数据挖掘与机器学习简介8.3.1 Scikit-learn8.3.2 TensorFlow总结在本章中,我们将探讨…

在Java中对SQL进行常规操作的通用方法

SQL通用方法 一、常规方法增删改查二、具体优化步骤1.准备工作2.getcon()方法&#xff0c;获取数据库连接对象3.closeAll()方法&#xff0c;关闭所有资源4.通用的增删改方法5.通用的查询方法6.动态查询语句 总结 一、常规方法增删改查 在常规方法中&#xff0c;我们在Java中对…

rocketmq的运维

1. admintool创建topic的时候 -o 的用法含义 https://rocketmq.apache.org/zh/docs/4.x/producer/03message2/ 有关orderMessageEnable和returnOrderTopicConfigToBroker的设置可以参考 https://blog.csdn.net/sdaujsj1/article/details/115741572 -c configFile通过-c命令指…

Sy6 编辑器vi的应用(+shell脚本3例子)

实验环境&#xff1a; 宿主机为win11&#xff0c;网络&#xff1a;10.255.50.5 6389 WSL2 ubuntu 目标机的OS&#xff1a;Ubuntu 内核、版本如下&#xff1a; linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…

MYSQL数据库:告别慢查询,优化性能大揭秘

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 MYSQL数据库&#xff1a;告别慢查询&#xff0c;优化性能大揭秘 文章目录 一、揭秘…