DebateGPT:通过多智能体辩论监督微调大模型

news2024/11/16 13:40:20

人工智能咨询培训老师叶梓 转载标明出处

这些模型的训练通常依赖于资源密集型的人工反馈,这不仅成本高昂,而且耗时。为了解决这一问题,一篇名为《FINE-TUNING LARGE LANGUAGE MODELS WITH MULTI-AGENT DEBATE SUPERVISION》的论文提出了一种创新的方法——DebateGPT。

DebateGPT是一个通过多智能体辩论(multi-agent debate)监督微调的大模型。基于GPT-3.5,通过一种新颖的方法——多智能体辩论,使用从Alpaca数据集中提取的有限指令进行微调,达到了与GPT-4相当的性能。这种方法不仅减少了对昂贵的人工反馈的依赖,而且避免了使用像GPT-4这样庞大且成本高昂的模型。

方法

DebateGPT通过多智能体辩论收集的数据来微调语言模型。如图1所示:左侧部分展示了从Alpaca数据集中抽取5000条指令,并运用改进版的多代理辩论方法来提升生成回答的质量。这一过程包括要求代理给出置信度评分、总结其他代理的回答以及清理最终答案。右侧部分说明了如何收集这些问题和答案对,然后使用OpenAI的FineTuning API对GPT-3.5模型进行微调。

基于Transformer架构的大模型,特别是GPT系列,使用因果关系注意力机制,仅根据之前的token来预测下一个token。训练这些大模型的目标是最大化整个文本句子的概率,其中是在给定先前tokens的条件下token 的条件概率,而T 是句子的token长度。训练期间的目标是最大化观测数据的似然度,可以通过以下损失函数实现:,其中 θ 是学习到的模型参数。在训练过程中,模型调整其参数(权重和偏差),以最大化训练数据上的这种似然度。这个目标确保了模型学会生成与训练数据中类似的序列。

多个语言模型通过相互辩论可以增强需要推理和事实准确性的问答任务的性能。尽管现有的多智能体辩论已专门用于推理以增强问答能力,但它有超出此范围的潜力。多智能体辩论可以成为高质量数据的丰富来源,这些数据随后可以用来微调语言模型。通过利用较弱语言模型进行的辩论的结果,可以构建更强大的模型。这一策略提供了一条绕过人工注释需求的高质量训练数据的途径。

然而,直接应用现有的多智能体辩论方法进行微调遇到了几个挑战。首先,尽管增加代理和辩论轮次的数量可以提高准确性,但大模型在最大上下文窗口上的内在限制阻碍了在代理数量和辩论持续时间方面的扩展。其次,目前的多智能体辩论配置也可能得出错误的结论,主要是因为代理缺乏有效机制来适当评估和整合其他参与者的见解和观点。最后,产生的答案经常包含无关的辩论中心短语,如“在上一轮”或“其他代理”,这并不有助于模型的精细化。为了解决这些限制,作者们提出了三种特定的修改,以增强多智能体辩论范式的有效性。

总结:为了处理预训练语言模型中最大上下文窗口的限制,引入了一个总结模型,该模型在每轮辩论中总结来自其他大模型代理的响应。具体来说,在第r 轮辩论期间,首先收集上一轮所有其他代理的响应。对于代理 ​,将收集的响应 ​=发送给总结模型,以整合这些响应并提供给定问题的简短而清晰的答案,其中 n 是代理的数量。在实验中使用另一个GPT-3.5作为总结者,并将其与辩论代理分开。由此能够使用更多的代理和辩论轮次,以获得更准确的数据,用于微调下游模型。

置信度评分:为了增强代理评估和整合自己响应以及来自其他代理的响应的能力,作者在多智能体辩论程序中集成了置信度评分机制。每个参与的代理被提示生成一个置信度评分,该评分在1到100的范围内。这个分数反映了代理对其自身响应的准确性和可靠性的确定程度。置信度较低的答案对最终答案的影响较小。这些置信度评分有助于在整合来自不同代理的见解时进行更统一的评估。

清洗:为了提高最终答案的一致性并删除通过多智能体辩论生成的无关文本,作者引入了一个清洗模型来清洗最后一轮辩论的响应。他们还在提示中为这个模型提供了四个GPT-4响应示例,以帮助它生成简洁且连贯的文本格式。他们使用一个单独的GPT-3.5作为清洗器,将其与辩论代理和总结模型分开。然后使用清洗后的数据进行下游模型的微调。

作者还介绍了一种新颖的微调大模型的方法,即利用多智能体辩论(multi-agent debate)生成的数据进行微调。作者从Alpaca数据集中随机抽取了5,000个问题,该数据集包含52,000个问答对。使用前文提到改进的多智能体辩论来回答这些问题。使用OpenAI FineTuning API对GPT-3.5进行微调,该API支持对GPT-3.5进行用户指定数量的时期的微调。使用以下数据格式:{"messages": ["role": "user", "content": "Question", "role": "assistant", "content":"Answer"]}。微调后的GPT-3.5,即DebateGPT3.5,尽管与GPT-4相比尺寸要小得多,并且仅使用了5,000个数据进行微调,但在多个数据集上实现了与GPT-4相当的性能。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加下方微信或评论留言,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费CSDN听直播后的录播讲解。
 

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

实验及分析

用于评估的六个数据集,包括AlpacaEval、MMLU、算术、Winogrande和AI2 Reasoning Challenge (ARC)。这些数据集覆盖了从开放式问题到多项选择题,再到基于常识的推理和物理问题的广泛任务。

  • AlpacaEval 数据集包含805个示例,这些示例来自不同的数据集,包括Self-Instruct、OpenAssistant、ShareGPT、Koala测试集和HH-RLHF数据集。这个数据集的特点是问题开放,没有单一确定的答案,因此评估方法包括使用GPT-4对测试模型生成的回答和text-davinci-003生成的回答进行排名。

  • MMLU 数据集包含57个主题的多项选择题,测试模型在数学、编程、推理和事实性方面的能力。

  • 算术 数据集包含1000个随机生成的算术问题,形式为a+b∗c+d−e∗f,用于测试模型解决数学问题的能力。

  • Winogrande 数据集包含1267个与常识推理相关的测试问题,任务是选择正确的选项来填补句子中的空白。

  • ARC 数据集包含小学数学问题和科学相关问题的多项选择题,用于评估模型在更复杂的推理任务上的表现。

作者将DebateGPT-3.5与GPT-3.5和GPT-4进行了比较。GPT-3.5是基于text-davinci-002的自回归语言模型,而GPT-4是OpenAI最新的大型语言模型,具有一万亿参数,是GPT-3的10倍。

图2 展示了GPT-3.5、DebateGPT-3.5和GPT-4的结果。比较了这三个模型在与指令遵循、数学、常识推理和多任务语言理解相关的5个基准测试上的表现。DebateGPT-3.5在多个任务上始终优于GPT-3.5,并且在几个任务上与GPT-4相当。

图3 和 图4 展示了不同方法的示例结果。在图3中,DebateGPT-3.5和GPT-4正确应用了二次公式解决了数学问题,而GPT-3.5则错误地尝试使用因式分解。在图4中,DebateGPT-3.5正确地解决了与光和波处理相关的物理问题,而GPT-3.5和GPT-4则未能正确回答。

假设改进的多智能体辩论可以生成更高质量的数据,这对模型微调非常有用。表1 显示了使用GPT-3.5、原始多智能体辩论、改进的多智能体辩论和GPT-4生成的数据的比较结果。结果表明,引入总结步骤、置信度评分和清洗步骤可以显著提高多智能体辩论的性能。

进一步假设数据量在影响微调结果中起着重要作用。图5(左)显示,即使只使用1K数据进行微调,DebateGPT-3.5在MMLU数据集上的性能也超过了GPT-3.5。这表明通过多智能体辩论生成的高质量数据对性能提升有显著影响。

理论上可以通过在Alpaca数据上使用GPT-4生成的回答进行微调来实现这些结果。然而,图6 显示,使用多智能体辩论生成数据比使用GPT-4更便宜。根据OpenAI的当前定价,使用DebateGPT-3.5生成文本的成本是使用GPT-4的一半。

实验分析结果表明,DebateGPT-3.5通过改进的多智能体辩论方法生成的高质量数据,以及精心设计的微调策略,能够在保持成本效益的同时,实现与GPT-4相当的性能。

论文链接:DebateGPT: Fine-tuning Large Language Models with Multi-agent Debate Supervision | OpenReview

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

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

相关文章

Sybase「退役」在即,某公共卫生机构如何实现 SAP Sybase 到 PostgreSQL 的持续、无缝数据迁移?

使用 TapData,化繁为简,摆脱手动搭建、维护数据管道的诸多烦扰,轻量替代 OGG, Kettle 等同步工具,以及基于 Kafka 的 ETL 解决方案,「CDC 流处理 数据集成」组合拳,加速仓内数据流转,帮助企业…

表单标记form

1.form:表单域标记&#xff0c;表示表单范围&#xff0c;所有的表单元素必须放进form标记中 2.input:用来设置表单输入元素&#xff0c;<input>元素根据不同的属性&#xff0c;可以有多种形式&#xff0c;如文本框&#xff08;text&#xff09;,密码框&#xff08;passw…

Maven入门学习笔记

一、maven介绍 Maven是一款自动化构建工具&#xff0c;专注服务于JAVA平台的项目构建和依赖管理。在javaEE开发的历史上构建工具的发展也经历了一系列的演化和变迁。 管理jar包 当我们使用SSM之后我们就需要使用非常多的jar包 没有maven找jar包非常的麻烦。 使用maven下载…

一次开发,多端部署--实例介绍

一、自适应布局 1、拉伸能力 容器组件尺寸发生变化时&#xff0c;增加或减小的空间全部分配给容器组件内指定区域。 Row() {// 通过flexGrow和flexShrink属性&#xff0c;将多余的空间全部分配给图片&#xff0c;将不足的控件全部分配给两侧的空白区域Row().width(150).flexG…

【代码随想录训练营第42期 Day57打卡 - 图论Part7 - Prim算法与Kruskal算法

目录 一、Prim算法 二、题目与题解 题目&#xff1a;卡码网 53. 寻宝 题目链接 题解1&#xff1a;Prim算法 题解2&#xff1a;Prim算法优化 题解3&#xff1a;Kruskal算法 三、小结 一、Prim算法与Kruskal算法 Prim算法是一种贪心算法&#xff0c;用于求解加权无向图的…

差分约束---将不等式转换为图的算法

概念&#xff1a;已知一个差分约束系统&#xff08;差分约束系统即一种特殊的n元一次不等式组&#xff09;&#xff0c;形如,要求求出是否存在一组解使得所有约束条件满足。由于在最短路中与该不等式形式相似&#xff0c;因此&#xff0c;可以利用图论&#xff0c;从对应的j点连…

探索Web3前沿:革新性算力共享平台,重塑数字资源利用新时代

基于Web3的算力共享平台 随着区块链技术的不断发展和Web3.0时代的到来,算力共享平台逐渐成为推动数字经济和人工智能发展的重要力量。基于Web3的算力共享平台通过去中心化、分布式网络等技术手段,实现了算力的高效、透明和安全的共享,为人工智能、科学研究、艺术创作等多个…

Kamailio-基于Homer与heplify的SIP信令监控-1

接上篇Kamailio监控&#xff0c;对Kamailio的一个基础监控有了一定的概念&#xff0c;但是光看数字如果发现问题&#xff0c;要如何回顾解决呢&#xff1f;生产环境不能随时随地抓包来确定链路的正常与否。 这个时候 Sipcapture 公司推出了Homer这个开源软件&#xff0c;目前G…

【软件测试】常用的开发、测试模型

哈喽&#xff0c;哈喽&#xff0c;大家好~ 我是你们的老朋友&#xff1a;保护小周ღ 今天给大家带来的是 【软件测试】常用的开发、测试模型&#xff0c;首先了解, 什么是软件的生命周期, 测试的生命周期, 常见的开发模型: 瀑布, 螺旋, 增量, 迭代, 敏捷. 常用的测试模型, …

银河麒麟桌面系统卸载应用报错快速解决

银河麒麟桌面系统卸载应用报错快速解决 1、问题简述2、解决方案步骤 1: 删除dpkg信息步骤 2: 强制卸载步骤 3: 验证与清理 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、问题简述 在银河麒麟桌面系统中卸载应用时&#xff0c;可能会遇…

AE 让合成重复循环播放

在合成上点右键 > Time > Enable Time Remapping 按住 Alt 键&#xff0c;点秒表图标 输入 loop_out("cycle", 0) 将子合成拖到此合成结束的位置 结束

Linux 上自动下载 Docker 依赖并离线安装的完整指南

Linux 上自动下载 Docker 依赖并离线安装的完整指南 文章目录 Linux 上自动下载 Docker 依赖并离线安装的完整指南一 添加软件源二 更新 yum 缓存三 下载依赖四 打包 rpm 文件五 离线安装 这篇指南详细讲解了如何在CentOS 7.9系统上&#xff0c;通过 yum命令自动下载Docker的所…

vue3使用leaflet+trackplayer实现非地图动画轨迹(市场平面图动态轨迹)

vue3使用leaflettrackplayer实现非地图动画轨迹(市场平面图动态轨迹) 先下载 leaflet 和 leaflet-trackplayer两个主要库 leaflet官方文档 npm install leaflet npm install leaflet-trackplayer然后在页面中引用 html <template><button click"playMap&quo…

LLM - 理解 多模态大语言模型 (MLLM) 的指令微调与相关技术 (四)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/142063880 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 完备(F…

第 12 篇 Helm 部署 Redis

文章目录 Redis Chart部署 Redis 单机版部署 Redis 哨兵版第 1 步&#xff1a;准备 values.yaml 配置文件第 2 步&#xff1a;安装 bitnami/redis第 3 步&#xff1a;解决 Pod Pending 问题查看 Pod 状态添加 PV 持久化卷创建 pv1创建 pv2创建 pv3 查看 Pod 状态 第 4 步&#…

java实际开发——数据库存储金额时用什么数据类型?(MySQL、PostgreSQL)

目录 java开发时金额用的数据类型——BigDecimal MySQL存储金额数据时用的数据类型是——decimal PostgreSQL存储金额数据时用的数据类型是——decimal 或 money java开发时金额用的数据类型——BigDecimal https://blog.csdn.net/Jilit_jilit/article/details/142180903?…

传统Malmquist-Luenberger指数与全局Malmquist-Luenberger指数的区别

1.全局技术前沿的构建 1.1传统ML指数 技术前沿的时间依赖性 传统的Malmquist-Luenberger&#xff08;ML&#xff09;指数在每个时期&#xff08;例如年份&#xff09;单独构建各自的技术前沿。这意味着每个时期的生产可能性集合和技术效率都是基于该时期的数据。 不可比性问…

【包教包会】CocosCreator3.xSprite和Label渐变色(支持3.x、支持原生、可合批)

完美适配Web、原生平台&#xff08;其余平台没测过&#xff09;。 下载地址&#xff1a;水煮肉片饭/Palette3.x 如何导入自己项目&#xff1a; 1、将Demo中Palette.ts复制到自己项目assets目录下 2、新建一个Sprite或Label节点&#xff0c;将Palette组件挂上去 3、设置顶点…

openstack之glance介绍

概念 glance为nova提供镜像服务&#xff0c;用于启动实例&#xff0c;预建镜像已安装cloud-init&#xff0c;可以访问openstack基金会获取操作系统镜像&#xff1a;官方镜像 格式 raw&#xff1a;无格式的镜像&#xff1b; vhd&#xff1a;hyper-v使用的格式&#xff1b; vm…

arcgisPro地理配准

1、添加图像 2、在【影像】选项卡中&#xff0c;点击【地理配准】 3、 点击添加控制点 4、选择影像左上角格点&#xff0c;然后右击填入目标点的投影坐标 5、依次输入四个格角点的坐标 6、点击【变换】按钮&#xff0c;选择【一阶多项式&#xff08;仿射&#xff09;】变换 7…