DebateGPT:通过多智能体辩论监督微调大模型
人工智能咨询培训老师叶梓 转载标明出处
这些模型的训练通常依赖于资源密集型的人工反馈,这不仅成本高昂,而且耗时。为了解决这一问题,一篇名为《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
相关文章:

DebateGPT:通过多智能体辩论监督微调大模型
人工智能咨询培训老师叶梓 转载标明出处 这些模型的训练通常依赖于资源密集型的人工反馈,这不仅成本高昂,而且耗时。为了解决这一问题,一篇名为《FINE-TUNING LARGE LANGUAGE MODELS WITH MULTI-AGENT DEBATE SUPERVISION》的论文提出了一种…...

【最新综述】基于深度学习的超声自动无损检测(下)
4.Levels of automation 5.Basic axioms for DL-based ultrasonic NDE 在回顾了最新技术和每个自动化级别的贡献之后,我们不难发现,目前的数字语言方法论在不同论文之间存在着很大的差异。例如,有些作者提出了同时处理不同步骤的模型[121]&…...

kali——tshark的使用
目录 前言 使用方法 tshark提取流量为文档 前言 tshark 是一个命令行的网络分析工具,它用于捕获和分析网络流量。它支持多种网络协议,包括 TCP、UDP、ICMP 等。Tshark 可以用于调试网络问题、进行安全审计、分析应用程序性能等。 在 Kali Linux 中&…...

TortoiseSVN图标不显示的解决
解决办法一:修改svn软件的图标设置 1、选中一个文件夹或在桌面空白处,右击进入svn的setting 2、进入setting->Icon Overlays,Status cache选择Default或shell,然后点击应用 3、查看文件,图标可以正常显示 解决办法二:修改注册表的文件夹顺序 问题现象: 1、svn一直…...

Oracle 11gR2打PSU补丁详细教程
1 说明 Oracle的PSU(Patch Set Update)补丁是Oracle公司为了其数据库产品定期发布的更新包,通常每季度发布一次。PSU包含了该季度内收集的一系列安全更新(CPU:Critical Patch Update)以及一些重要的错误修…...

2.4 卷积1
2.4 卷积1 2.4 卷积 在了解了系统及其脉冲响应之后,人们可能会想知道是否有一种方法可以通过任何给定的输入信号(不仅仅是单位脉冲)确定系统的输出信号。卷积就是这个问题的答案,前提是系统是线性且时不变的(LTI&…...

OA项目值用户登入首页展示
1.什么是OA 办公自动化(Office Automation,简称OA)是将现代化办公和计算机技术结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。通过实现办公自动化,或者说实现数字化…...

如何关闭前端Chrome的debugger反调试
1、禁用浏览器断点 2. 把控制台独立一个窗口...

硬件工程师笔试面试——晶振
目录 13、晶振 13.1 基础 晶振原理图 晶振实物图 13.1.1 概念 13.1.2 工作原理 13.1.3 应用领域 13.1.4 产品类型 13.2 相关问题 13.2.1 晶振的工作原理是什么,它如何保证频率的稳定性? 13.2.2 在工业控制领域,晶振是如何确保精确度的? 13.2.3 晶振的Q值是如何…...

如何用安卓玩Java版Minecraft,安卓手机安装我的世界Java版游戏的教程
安卓手机使用FCL启动器安装我的世界Java版游戏的教程。如何用安卓玩Java版Minecraft 视频教程:https://www.bilibili.com/video/BV1CctYebEzR/ 前言 目前,安卓设备上可以用来运行Java版Minecraft的启动器主要有以下几款: PojavLauncher&a…...

linux上用yolov8训练自己的数据集(pycharm远程连接服务器)
pycharm如何远程连接服务器,看之前的文章 首先去GitHub上下载项目地址,然后下载预训练模型放到项目主目录下 然后下载数据集,我这有个推荐的数据集下载网站,可以直接下载yolov8格式的数据集(还支持其他格式的数据集&a…...

Git rebase 的使用(结合图与案例)
目录 Git rebase 的使用Git rebase 概念Git rebase 原理rebase和merge的选择 Git rebase 的使用 在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase Git rebase 概念 **rebase概念:**用来重新应用提交(commits)…...

一文讲懂Mac中的环境变量
你是否曾经因为环境变量配置不当而浪费了宝贵的开发时间?你是否好奇为什么有时候在终端输入命令会提示"command not found",而有时候又能正常运行?如果你是一名Mac用户,并且希望真正掌握环境变量的奥秘,那么这篇文章将为你揭开Mac中环境变量的神秘面纱,帮助你成为一…...

将硬盘的GPT 转化为MBR格式
遇到的问题 在重新安装系统时,磁盘遇到无法空间分配给系统。 解决方式 使用Windows10镜像 U盘安装,选择磁盘时,转换磁盘格式为MBR。然后退出安装程序。 Shift F10# 输入 diskpart# 查看磁盘信息 list disk# 选择需要转换的磁盘࿰…...
C++基于select和epoll的TCP服务器
select版本 服务器 #include <arpa/inet.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <string> #include <pthread.h> #include <sys/select…...
SpringBoot 读取配置文件的4种方式
文章目录 1. Value 注解读取单个属性2. 使用 ConfigurationProperties 注解3. 通过 Environment 对象读取属性4. 使用 PropertySource 注解加载额外的配置文件 在 Spring Boot 中,application.yml 文件用于配置应用程序的属性,Spring Boot 默认会从 src/…...

【车载开发系列】ParaSoft单元测试环境配置(三)
【车载开发系列】ParaSoft单元测试环境配置(三) 【车载开发系列】ParaSoft单元测试环境配置(三) 【车载开发系列】ParaSoft单元测试环境配置(三)一. 去插桩设置Step1:静态解析代码Step2:编辑Parasoft文件Step3:确认去插桩二. 新增测试用例Step1:生成测试用例Step2:执…...

如何让Threejs的canvas背景透明?
在Three.js中,要让Canvas的背景透明,只显示场景中的模型或物体,有两个关键点: 一、对渲染器(Renderer)进行alpha为true配置; 二、通过CSS设置,使canvas设定为透明背景模式。 以下是代…...

Text-to-SQL技术升级 - 阿里云OpenSearch-SQL在BIRD榜单夺冠方法
Text-to-SQL技术升级 - 阿里云OpenSearch-SQL在BIRD榜单夺冠方法 Text-to-SQL 任务旨在将自然语言查询转换为结构化查询语言(SQL),从而使非专业用户能够便捷地访问和操作数据库。近期,阿里云的 OpenSearch 引擎凭借其一致性对齐技术,在当前极具影响力的 Text-to-SQL 任务…...
[性能]高速收发的TCP/MQTT通信
Nagle算法是一种TCP/IP协议中的优化算法,旨在减少小数据包的数量,从而减少网络拥塞的可能性。该算法规定,在一个TCP连接上最多只能有一个未被确认的小分组。当数据被发送后,如果收到确认(ACK)之前&#x…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...

边缘计算网关提升水产养殖尾水处理的远程运维效率
一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...