今日arXiv最热NLP大模型论文:浙江大学:蒸一蒸,多Agent变成单一模型,效果更好

“团结就是力量”,面对复杂多变的现实环境,multi-agent应运而生。相较于单打独斗的single-agent,multi-agent集结了多个功能各异的LLM,共同攻克难关。然而,这种协同作战的方式也带来了沉重的推理负担,限制了multi-agent在开放世界中的发展潜力。

特别是在多模态环境下,视觉、音频、文本交织在一起,如何动态调整多模态语言模型(MLMs),以适应视觉世界的纷繁复杂,成为摆在我们面前的一大挑战。

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

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

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

浙大团队结合额外专家模块,提出了一种多模态multi-agent训练的层次知识蒸馏方法。multi-agent在一个自组织的层次系统中协作,实现精细的思维链和高效的部署。这里的agent通过教师模型进行分层次训练,模拟动态并调整任务,也就是说仅使用一个多模态语言模型(MLM)就能实现有效合作。经过蒸馏后,STEVE-2可以在无需专家指导的情况下,通过单一模型发展出高效的体感Agent,完成精细的开放任务

论文标题:
Do We Really Need a Complex Agent System? Distill Embodied Agent into a Single Model

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

方法

整体框架如上图所示, 图(a)中STEVE-2接受文本任务描述和图像作为每一步的输入状态,STEVE-2 可以被模块化为三个组成部分:

  • ViT作为视觉编码器,将图像编码为嵌入。

  • 多层感知器(Multi-Layer Perceptron,MLP)层将ViT产生的嵌入与语言空间对齐。

  • LLM作为语言解码器,它接受指令token的拼接和线性投影层的输出作为输入,生成文本动作。然后,这个文本动作被用来检索代码动作。

STEVE-2生成从图(b)教师agent(一个多功能MLM的组合)提炼出的行动序列,两者在Multi-Agent系统中以分层组织结构的形式并行工作。它利用多模态语言模型的认知和协作能力,在开放式环境中处理视觉()、音频()和物体()目标,管理并执行复杂的多agent任务:

其中表示第个conductor agent的视觉、音频和其他属性的状态列表,是初始任务。接着为conductor agent获得动作,是agent的总数。

图(c)中层次架构主要包括两个部分:高层的集中式规划manager agent表示为和低层的分布式执行conductor agent表示为,这两个agent都由一个多模态语言模型实现,conductor agent的动作由以下方式获取:

Actor agents 通过实现:,是可选的附加行动。

在分层多agent系统中,每个教师agent通过不同的提示分别执行这三个不同的MLM。然后通过DPO损失的层次知识蒸馏,STEVE-2 学习了这三个agents的性能:。

多模态教师模型

多模态教师模型MLM包含三种关键agent:manager、conductor和actor。每个agent均配备规划器(Planner)、描述器(Describer)、批评者(Critic)和技能模块(Skill)。

它们共同协作,制定任务计划,处理多模态数据,通过反馈优化策略,并有效分配子任务。随后,它们将策略转化为具体动作,协调团队形成,确保任务分配与中央指令一致。同时,通过课程学习,模型能持续学习和适应复杂任务。此外,模型还维护一个多模态记忆,用于存储描述器生成的长期描述及规划器修正后的轨迹,以支持更高效的决策和执行。

基于MLM的自适应规划

本文综合了环境观察和任务指令,以根据当前情况规划行动。首先,将多模态观察转化为文本描述,避免了LLMs直接进行场景标注。从STEVE-21K数据集中提取物品关键词,并运用GPT-4V将这些观察结果编织成句子。

在规划阶段,大语言模型从文本观察中筛选出与任务相关的条件句子。通过预定义的模板,巧妙地将额外信息整合成文本,使计划更加全面。随后,结合任务指令和这些描述性文本,利用LLM的语言组件生成行动计划。

这种方法分层运用大语言模型的能力,生成更准确的情境描述和计划,相较于完全集成模型,显著降低了生成不切实际元素的风险。

自主错误修正与主动规划

STEVE-2 通过闭环反馈机制提升规划,通过分析反馈并利用自我解释能力自动纠正错误,无需人工干预或额外信息。它能提前识别并修正计划中的潜在问题,通过模拟和评估每个步骤来减少因计划失败导致的困难情况。这种主动方法使它能够预见资源不足等可能阻碍任务完成的问题。

带有额外专家信息的教师模型

现有开放型agent在面临不确定指令下的复杂任务时往往束手无策。特别是导航和创作这类高度开放的任务,由于语言指令可能信息不足且结果复杂多样,要求agent能够自主想象并补充指令中未明确指出的细节。

作者从从Creative Agents的研究中受到启发,通过引入生成模型作为输入先验,并借助想象力模块,使Agent能够模拟并想象任务细节,从而更有效地规划和执行任务。

具体来说,作者扩展了到额外的Expert,修改了VQ-VAE ,用于创作任务生成3D占用空间,以及使用多模态信号的动态地图 来处理导航任务。需要注意的是,仅将这部分与教师模型集成,以避免直接向STEVE-2部分提供提示信息,防止作弊。这种方法也确保了STEVE-2的轻量性。表示如下:

其中, 表示文本描述的多模态知识。状态由表示。Expert 将文本对象目标 转换为。这个过程为教师模型 提供了详尽的任务描述。这为Agent提供了更丰富的任务信息,降低了不确定性。

知识蒸馏

目标是构建一个层次化的多模态语言模型系统,每个学生模型θ被赋予特定的功能,能够学习和复制教师 的行为,同时利用额外的知识:θ 和 。

作者在训练 STEVE-2 系统中的manager, conductor and actor agents时,采用了类似的方法,使用层次化的MLM教师。通过最小化由θ 引发的状态分布的目标函数来实现这一目标:

其中,损失函数 是知识蒸馏损失。作者在实验中采用了DPO损失,它使用响应对非首选响应的相对对数概率,并结合动态每样本权重来防止模型退化,经证明,这种方法在将语言模型与教师偏好对齐方面优于交叉熵:

其中使用逻辑函数σ和超参数β来控制与参考agent 的偏差。参考agent是通过对基于规则的老师产生的数据集进行行为克隆得到的。

模型使用最大似然估计(MLE)进行训练,并增加一个正则化项,以防止agent 偏离老师的准确分布,保持生成的多样性,并避免过早收敛到简单任务。

为了稳定训练过程,MLM agent θ被初始化为。然而,由于无法计算的分布,使用DAgger来收敛到最优agent θ,以克服累积误差和分布偏移问题。

实验

作者通过多模态创造与导航两个任务对多agent合作和执行复杂任务的效率进行了实验。多模态导航任务比如下图中的示例“寻找沙漠金字塔,找到里面的箱子,拿出所有的物品”,而多模态创造任务则类似“用木头建造对称的五层悬檐宝塔”的指令。

在本文中Extra Expert可以生成模型和动态地图,用于完成两项任务。生成模型生成三维占用空间,渲染成多视角图像,并输入给教师模型GPT-4V。

多模态导航任务

该任务包括多模态目标搜索、连续区块搜索和地图探索。实验结果见下表,

STEVE-2表现出最佳性能,这表明在不同操作模式的多个导航任务中,多agent合作的高效性。当使用更少的LLMs时,处理效率和模块减少显著提升。

  • 多模态目标搜索。 多模态目标搜索技术能精准识别图像、对象和音频目标。在游戏中,对象标签帮助识别物品,图像标签助力物体定位,而音频标签则能捕捉玩家范围外的声音。STEVE-2通过分解任务层次,其性能相较于目前最先进的LLM方法提升了5.5倍,同时成功率保持不变。

  • 连续区块搜索。 连续区块搜索是对agent探索能力和定位钻石区块熟练度的全面评估。在此过程中,agent的目标是以最少的迭代次数找到尽可能多的区块。通过动态地图和分层结构的辅助,能更有效地发现和部署更多区块,从而提升搜索效率。

  • 地图探索。 地图探索旨在让agent尽可能多地更新地图信息。在相同的环境感知条件下,对于未到达的区域,系统会通过文本形式提供状态信息。此外,每步移动的最大距离限制在50块以内。在此限制下,STEVE-2展现出卓越性能,相较于最先进的LLM方法,性能提升了1.9倍,同时效率也提高了3倍。

多模态创造任务

为了评估创造任务的完成情况,将其分为收集材料和建造两部分,实验结果如下表所示:

  • 材料收集。本文为agent提供了一份详尽的材料清单及其所需数量,以助力其高效完成收集任务。实验结果表明,STEVE-2在保证收集准确性的同时,将效率提升了惊人的19倍,展现出了卓越的性能。

  • 建筑生成。 由于建筑生成的复杂性和独特性,agent需要具备想象能力,以填补指令中未明确说明的细节。为此,作者利用微调后的VQ-VAE作为3D占用空间生成工具,帮助agent进行想象。同时采用多视角的占用状态作为教师模型的输入,训练模型执行相应动作。为了进一步简化架构并提升性能还采用知识蒸馏方法,仅使用一个agent和一个大语言模型。这种简化不仅显著提高了输出质量,甚至在某些方面超越了更复杂的结构,展现出强大的潜力和效率。

下图是本方法的代表性输出结果,并与GT (Ground Truth)进行比较:

本文的方法相较于Creative Agents方法,展现了对建筑结构保留的深入理解,生成结果与描述文本高度一致。

由于抽象文本的创建方式多样,综合使用FID指数及人工统计偏好来判断生成结果是否贴合描述。STEVE-2在FID得分上实现了3.2倍的提升,且在GPT-4V和人类的主观偏好评分中均名列前茅,确保了高准确性的同时,也展现了卓越的性能。

消融实验

作者针对多模态目标搜索、连续区块搜索和地图探索进行了研究。w/o KD 表示没有知识蒸馏,w/o EE 表示没有额外专家,TO 是仅有的教师模型,用于预热阶段提供额外知识。结果如下表所示

下表是对材料收集和建筑创建的消融实验。

作者还比较了不同语言模型的效率,如下表所示, # time 指的是每次迭代的运行时间,用于计算一个agent的所有语言模型的推理时间。VRAM 大约是 GPU 内存使用量。基于 GPT-4 的方法是通过 API调用,没有计算部分。

从以上实验结果可以看出,STEVE-2 模型在系统性能上显著优于教师模型 GPT-4V,导航效率提高了 1.8 倍,创作质量提升了 4 倍。

知识蒸馏进一步提升了模型,使其导航效率提高了 24 倍,还能从头开始生成高质量的建筑。

结论

STEVE-2通过采用分层结构实现精细任务划分,结合镜像蒸馏方法充分利用并行的模拟数据,以及引入想象模型为模拟注入额外上下文知识,有效弥合了任务理解和执行之间的鸿沟,并展现出对开放环境的动态适应能力。在复杂且现实的应用场景中,STEVE-2可以展现出更高的复杂性、灵活性和效率,为人工智能和具身智能领域的发展注入了新的活力。

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

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

相关文章

500道Python毕业设计题目推荐,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

React自定义Hook函数:高效组件开发的秘密武器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

ZISUOJ 数据结构--队列及其应用

说明: 基本都是bfs的常见模板题型,思路都很直接,不过后面有两道题很搞心态,它们给的坐标x、y是反的,导致刚开始一直错。题目还是要看仔细,不能先入为主。 题目列表: 问题 A: 围圈报数(完善程序…

快速部署stable diffusion@Ubuntu

Stable Diffusion可以根据文本描述生成相关的图像,是当前最热门的文生图模型。 在Ubuntu下,可以选择快速安装,或者手动一步步安装。 快速安装 使用文档中的方法,先下载一个sh文件,然后执行这个文件,就自动…

就业班 第三阶段(负载均衡) 2401--4.19 day3 nginx3

二、企业 keepalived 高可用项目实战 1、Keepalived VRRP 介绍 keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。 ​ keepalived工作原理keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundan…

乐鑫科技收购创新硬件公司 M5Stack 控股权

乐鑫科技 (688018.SH) 宣布收购 M5Stack(明栈信息科技)的控股权。这一战略举措对于物联网和嵌入式系统领域的两家公司来说都是一个重要的里程碑,也契合了乐鑫和 M5Stack 共同推动 AIoT 技术民主化的愿景。 M5Stack 以其创新的硬件开发方式而闻…

SpringCloud系列(9)--将服务消费者Consumer注册进Eureka Server

前言:上一章节我们介绍了如何将服务提供者注册进Eureka服务里,本章节则介绍如何将服务消费者Consumer注册进Eureka服务里 Eureka架构原理图 1、修改consumer-order80子模块的pom.xml文件,引入Eureka Clinet的依赖,然后reolad一下&…

VSCode的C/C++开发 ===> Windows

一、开发环境搭建 安装mingw-w64编译器(GCC for Windows 64 & 32 bits)、Cmake工具(选装) VSCode插件安装 C/C cmake cmake tools 二、代码实践演练 基于g命令 g编译单文件,生成带调试信息的可执行文件、并调试 g -g main.cpp -o my_single_swap g编译多文件…

element plus 布局 代码没反应 样式并未生效

就是这样深深浅浅的颜色不显示,整个页面都是白的。 因为网页上示例代码中没有 添加grid-content ep-bg-purple-dark 等相关颜色的样式 在element plus的github中有相关代码,这里可以找到颜色样式 element-plus/docs/examples/layout/index.scss at de…

C语言(扫雷游戏)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

webgl canvas系列——animation中基本旋转、平移、缩放(模拟冒泡排序过程)

文章目录 ⭐前言⭐canvas绘制图片💖状态保存和恢复💖移动、旋转、缩放、变形💖移动绘制一个渐变的box💖旋转💖缩放 ⭐模拟冒泡排序过程⭐结束 ⭐前言 大家好,我是yma16,本文分享webgl canvas系…

企业常用Linux正则表达式与三剑客/企业生产环境及知识/企业中远程连接ssh工具(为什么连接有时慢?)

企业高薪思维: 1.学习去抓重点有价值知识 2.猛劲学,使劲学(能否给别人将会,讲明白,写明白,练习明白),在学习过程中你觉得学会了60-80%,其实你只会了40-50%,你要讲明白会操…

构建云原生湖仓:Apache Iceberg与Amoro的结合实践

随着大数据技术的快速发展,企业对数据的处理和分析需求日益增长。传统的数据仓库已逐渐无法满足现代业务对数据多样性和实时性的要求,这促使了数据湖和数据仓库的融合,即湖仓一体架构的诞生。在云原生技术的推动下,构建云原生湖仓…

AWD线下攻防万字最完整战术(记第一届“长城杯”半决赛战术)

目录 准备阶段 1.登录比赛平台(获取资产) 查看账号账号修改 服务器SSH口令mysqlWEB服务口令(后台密码)数据库后台管理员密码 账号用户检查 2.dump源码(方便应急响应恢复靶机) 网站源码备份 压缩文件解压文件备份到服务器本地上传…

【原创】springboot+mysql疫苗预约管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

Linux部署Coturn以及关于打洞的思考

目录 Coturn介绍部署架构图 2.1 局域网——无NAT映射 2.2 NAT网Corturn安装步骤验证 4.1 局域网——无NAT映射 4.2 NAT网 4.2.1 Cywin安装步骤 4.2.2 Coturn安装步骤 4.2.3 验证引言 下文部署架构图为Corturn为解决互联网NAT环境下“找朋友”的部署架构,也是Coturn发挥其价值…

玩转 AIGC!使用 SD-WebUI 实现从文本到图像转换

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 基于大家…

javaScript常用知识点

1. this指向问题 在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同。 this指向的对象称为函数的上下文对象context;this的指向取决于函数被调用方式this的指向不是函数…

【更新】cyのMemo(20240422~)

序言 胡哥首马在淮安325完赛,他的本硕都在淮安度过,七年的跑步生涯画上句号,真的是很圆满。七年,从180斤瘦到120斤,历经种种,胡哥理解的跑步,不是快,而是稳,他在比赛中从…

力扣HOT100 - 226. 翻转二叉树

解题思路: class Solution {public TreeNode invertTree(TreeNode root) {if (root null) return null;TreeNode left invertTree(root.left);TreeNode right invertTree(root.right);root.left right;root.right left;return root;} }