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…...

OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3568移植案例(下)
往期知识点记录: OpenHarmony(鸿蒙南向开发)——轻量系统STM32F407芯片移植案例 OpenHarmony(鸿蒙南向开发)——Combo解决方案之W800芯片移植案例 OpenHarmony(鸿蒙南向开发)——小型系统STM32M…...

网络安全学习(五)Burpsuite实战
bp功能确实强大,记录一个bp手机验证码的实例。 当然,首先要打开bp,设置好浏览器的代理。 浏览器访问实例网址www.xxx.com(隐藏真实网址)。 真实网址有个注册功能,需要手机验证码。 好的,我们…...

ego-planner开源代码之simulator.xml介绍分析
ego-planner开源代码之simulator.xml介绍&分析 1. 源由2. simulator配置2.1 配置入参2.2 mockamap_node 地图生成节点2.3 quadrotor_simulator_so3 四旋翼仿真节点2.4 Nodelet机制 四旋翼控制节点2.5 odom_visualization 里程计数据2.6 pcl_render_node 本地感知 3. 总结 1…...

论文阅读笔记 --- 图模互补:知识图谱与大模型融合综述 --- 按参考文献整理
Large Language Models’ Understanding of Math: Source Criticism and Extrapolation Submitted on 12 Nov 2023大模型在处理结构化推理方面(如解决数学问题[99])表现不佳 Tree of Thoughts: Deliberate Problem Solving with Large Language Models S…...

Cpp类和对象(上)(3)
文章目录 前言一、面向过程与面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及类的封装类的访问限定符类的封装 五、类的作用域(类域)六、类的实例化七、类对象模型如何计算类对象的大小类对象的存储方式猜测 八、this指针this指针的引出this指针的特性 九、C语言…...

【微信小程序】连续拍照功能实现
前言: 最近在使用uniapp开发微信小程序,遇到这样一个需求,用户想要连续拍照,拍完之后可以删除照片,保留自己想要的照片,然后上传到服务器上。由于原生的方法只能一个个拍照上传,所以只能自己通过…...

JavaSE:11、内部类
学习 资源1 学习资源 2 1、成员内部类 import com.test.*;public class Main {public static void main(String [] argv){Person personnew Person();//Person构造函数Person.Woman womanperson.new Woman();//woman构造函数} }package com.test;public class Person {publ…...

VTD激光雷达(7)——07_OptiX_Variables_Advanced
文章目录 前言一、总结 前言 一、 1 和上图蓝绿的区别在于 总结...

运维工程师面试整理-自动化运维
自动化运维是现代运维工作中不可或缺的一部分,它可以大幅提升效率,减少人为错误,并使得大规模环境管理变得可行。在面试中,面试官通常会通过自动化运维相关的问题来评估你在自动化工具使用、脚本编写、CI/CD 实践以及系统监控等方面的能力。以下是关于自动化运维的详细内容…...

【JAVA基础】实现Tomcat基本功能
文章目录 TCP/IP协议Socket编程ServletTomcat 在搜索了两三天之后,也是大概弄懂了Tomcat是个什么东西,我们在说Tomcat之前,先来了解一下下面这三个东西: TCP/IP协议 TCP/IP 是互联网通信的基础协议。TCP(传输控制协议…...