北大联合智源提出训练框架LLaMA-Rider

news2024/11/17 0:27:10

大语言模型因其强大而通用的语言生成、理解能力,展现出了成为通用智能体的潜力。与此同时,在开放式的环境中探索、学习则是通用智能体的重要能力之一。因此,大语言模型如何适配开放世界是一个重要的研究问题。

北京大学和北京智源人工智能研究院的团队针对这个问题提出了 LLaMA-Rider,该方法赋予了大模型在开放世界中探索任务、收集数据、学习策略的能力,助力智能体在《我的世界》(Minecraft)中自主探索获取知识并学习解决各种任务,提升智能体自主能力和通用性。

图片

自主探索开放世界

图片

  • 论文链接:https://arxiv.org/abs/2310.08922

  • 代码链接:https://github.com/PKU-RL/LLaMA-Rider

1、环境反馈驱动的探索与学习

LLaMA-Rider 着眼于让大语言模型 (LLM) 适应环境从而提高在环境中解决多任务的能力。LLM 在预训练阶段获得的知识与实际环境很可能存在不一致,这常常导致决策错误。为了解决这个问题,现有的方法有些利用提示工程,通过和 LLM 频繁交互让其获取环境信息,不过并不更新 LLM;有些使用强化学习在线微调 LLM,不过其计算代价高且难以扩展到多任务和复杂任务。

LLaMA-Rider 对此提出了新的思路。它首先利用环境的反馈信息,靠 LLM 自身的能力在环境中探索,收集成功经验。之后,LLaMA-Rider 将经验整合成监督数据集进行学习,更新自身的知识。这样一个两阶段的训练框架让 LLaMA-Rider 能够在 Minecraft 环境中的 30 个任务上取得超过 ChatGPT 任务规划器的平均表现,并展现出对新任务的泛化能力。

图片

在探索阶段,LLaMA-Rider 利用反馈 - 修改机制来进行主动探索。在每个时间步上,LLaMA-Rider 接收文本化的环境信息和任务信息,并给出下一步的决策。由于与环境的知识差距,该决策可能无法在环境中执行并触发环境的反馈信息,而该反馈信息会再次输入给 LLaMA-Rider,引导其修改决策。凭借 LLM 自身的上下文理解能力和环境反馈信息,LLaMA-Rider 可高效探索开放世界。

为了将 LLM 的文本输出匹配到环境的动作空间,LLaMA-Rider 使用了一组预训练的技能作为技能库,并使用技能检索模块将 LLM 的输出文本和技能库中的技能描述进行匹配,检索最接近的技能。由于技能描述和环境中的动作相比具有更多的语义,这种方式可以更大程度利用 LLM 的能力。

此外,LLaMA-Rider 使用了子任务重标记的方法,在探索过程中用当前正在完成的子任务信息替换输入中的原始任务信息,让 LLM 在探索过程中能关注当下的子目标,提高任务成功率。

图片

在学习阶段,探索时收集到的经验将会整合成监督数据集,用以对 LLM 进行监督微调 (SFT)。数据集中同样采用子任务重标记的方法让 LLaMA-Rider 学习到任务之间的子任务组合性,提高策略的泛化能力。

2、实验效果

LLaMA-Rider 使用的大语言模型为近期推出的 LLaMA-2-70B-chat。在 Minecraft 的三类共 30 个任务中,LLaMA-Rider 的表现超过了基于 ChatGPT 的任务规划器,并且经过学习后的 LLaMA-Rider 所能完成的任务数量也超过了它在探索阶段能成功的数量,展现出 LLaMA-Rider 对于开放世界中持续学习和多任务解决的能力。

与强化学习 (RL) 方法相比,LLaMA-Rider 则展现出了高采样效率和低训练代价的优势。即使在难度较简单、完成步数较短的木材相关任务上,RL 方法也难以取得训练成效,表明强化学习的训练方法难以扩展到大动作空间以及复杂的场景中。而 LLaMA-Rider 在探索阶段只采用了 5-10 次的任务探索便完成数据收集,在学习阶段也只在包含 1.3k 样本量的数据集上进行训练就取得了效果提升。

图片

作者进而发现,在对上述的 30 个任务进行探索学习后,LLaMA-Rider 在测试时对于学习过程中未探索过的更困难的铁矿相关任务,也能取得效果的提升。这进一步体现了 LLaMA-Rider 学习到的决策能力的泛化性。

图片

在消融实验中,作者利用包含更多子任务的石头相关任务,验证了子任务重标记的方法对于任务成功率和任务泛化能力的关键作用。

图片

除此之外,尽管 LLaMA-Rider 只学习了任务决策相关的数据,当作者使用任务相关的问题进行提问时,LLaMA-Rider 也给出了更准确的回答,表明它在训练过程中同样学习到了环境知识,证明 LLaMA-Rider 起到了与环境知识对齐的作用。

图片

3、总结

作者提出了 LLaMA-Rider 的大语言模型训练框架,让大语言模型根据环境反馈结合自身能力自主探索开放世界,并根据收集到的经验完成高效学习,在 Minecraft 环境中取得了比包括 ChatGPT 任务规划器在内的其他方法更好的解决多任务的能力,让大语言模型获得了对开放世界的适应性。此外,LLaMA-Rider 能利用过去任务的经验解决新任务的泛化能力表明了该方法应用于大模型终身探索学习的前景。

本文来源机器之心,如有侵权请联系删除

如想体验AI大模型带来的应用,可以体验:

产品体验:http://openrabbit.net

AI写作大师:让论文写作更轻松,一键完成3万字毕业论文/期刊/SCI/学术报告!根据论文名称和关键字一键生成大纲,可生成整篇论文,还可以对文案进行续写、扩写、润色、翻译以及降重等。

AI设计师:支持工业设计、建筑设计、LOGO设计、电子商务、插画与海报设计、视觉设计、影视与游戏设计等领域。利用人工智能技术,个性化定制高保真精美的图片,帮助您提高工作效率。产品支持60余个应用场景,包括论文助手、公司文案、营销文案、多语言翻译、行政公文、科研课题、招投标书、辅助编程、学习与教育、生活娱乐等各个领域。

AI文字:支持60余个应用场景,包括论文助手、公司文案、抖音快手小红书营销、法律咨询、多语言翻译、科研课题、招投标书、辅助编程、学习与办公等各个领域。

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

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

相关文章

Django中Cookie和Session的使用

目录 一、Cookie的使用 1、什么是Cookie? 2、Cookie的优点 3、Cookie的缺点 4、Django中Cookie的使用 二、Session的使用 1、什么是Session? 2、Session的优点 3、Session的缺点 4、Django中Session的使用 三、Cookie和Session的对比 总结 D…

低功耗蓝牙技术 > GAP和GATT介绍

GAP(Generic Access Profile)和GATT(Generic Attribute Profile)简介 在蓝牙技术的发展中,GAP和GATT两个协议扮演着关键的角色,为BLE(低功耗蓝牙)设备之间的通信提供了规范和框架。…

拼多多API接口,打造智能化电商平台

近年来,电商行业的崛起给人们的购物带来了极大的方便。随着电商行业的发展,拼多多作为新兴电商平台已经成为市场焦点。 同时,随着技术的发展,API(Application Programming Interface,应用程序编程接口&…

振动异响振动案例 | 本田思域怠速时发动机异响

虽然未来可能是“电动”的,但内燃机(ICE)在永远消失之前还有很多年。但是,我确信它永远不会。从目前的立法来看,到2030年,传统的汽油和柴油汽车/货车将被禁止销售,插电式混合动力车将延长到2035…

java--String使用时的注意事项

1.String使用时的注意事项 第一点: ①String对象的内容不可改变,被称为不可变字符串对象。(因为字符串是引用类型,每次都是引用一个地址,就相当于你有车,但是你不可能天天把车踹兜里,只能把钥匙踹兜里&am…

「得力集团」启动采购供应链协同项目,携手企企通打造文创科技产业行业标杆

近期,国内最大的办公与学习用品产业集团、多工作场景整体解决方案的领导者「得力集团有限公司」与企企通成功签约,并顺利召开采购供应链协同项目启动会。 本次会议中,双方高层领导与项目团队成员就项目的功能需求、实施方案、资源支持等问题进…

Direct3D拾取

假设在屏幕上单击,击中的位置为点s(x,y)。由图可以看出,用户选中了茶壶。但是仅给出点s,应用程序还无法立即判断出茶壶是否被选中。所以针对这类问题,我们需要采用一项称为“拾 取(Picking)”的技术。 茶壶和屏幕点s之间的一种联…

谷歌竞价排名10个引爆利器揭秘分享-华媒舍

谷歌是目前世界上最受欢迎的搜索引擎之一,而竞价排名则是企业在谷歌平台上提升在线曝光度的重要手段。本文将介绍10个能够帮助企业轻松提高谷歌竞价排名的利器,让您的产品或服务脱颖而出。 第一利器:关键词优化 关键词优化是提升竞价排名的基…

Accelerate 0.24.0文档 一:两万字极速入门

文章目录 一、概述1.1 PyTorch DDP1.2 Accelerate 分布式训练简介1.2.1 实例化Accelerator类1.2.2 将所有训练相关 PyTorch 对象传递给 prepare()方法1.2.3 启用 accelerator.backward(loss) 1.3 Accelerate 分布式评估1.4 accelerate launch1.4.1 使用accelerate launch启动训…

垃圾/垃圾桶识别相关开源数据集汇总

垃圾箱图片数据集 数据集下载链接:http://suo.nz/3cvbiC 垃圾箱多类检测数据集 数据集下载链接:http://suo.nz/2eluH3 蒙得维亚的垃圾箱图片 数据集下载链接:http://suo.nz/2lRHLK 垃圾桶满溢检测数据集 数据集下载链接:http:…

PostgreSQL 入门教程

PostgreSQL 入门教程 1. 历史背景2. 概念3. 特点4. 用法4.1 数据库连接4.2 数据库创建4.3 表创建4.4 数据插入4.5 数据查询4.6 数据更新4.7 数据删除 5. 安装步骤6. 简单示例7. 扩展7.1 数据类型7.2 查询优化7.3 并发控制7.4 数据备份和恢复7.5 扩展性和高可用性7.6 安全性加固…

MATLAB中ginput函数用法

目录 语法 说明 示例 标识点和绘制坐标 返回用于选择坐标的按键 标识地理坐标区上的点 ginput函数的功能是标识坐标区坐标。 语法 [x,y] ginput(n) [x,y] ginput [x,y,button] ginput(___) 说明 [x,y] ginput(n) 可用于标识笛卡尔坐标区、极坐标区或地理坐标区内…

如何成功创建百度百科词条?教你从零开始创建自己的百度百科【建议收藏】

百度百科是一个开放的网络百科全书,用户可以自由编辑和贡献内容。如果你想创建一个百度百科页面,需要做好以下准备: 1.确定主题:选择一个你熟悉或者感兴趣的主题,确保该主题在百度百科上还没有相关的页面。 2.收集资…

数据结构 | 队列的实现

数据结构 | 队列的实现 文章目录 数据结构 | 队列的实现队列的概念及结构队列的实现队列的实现头文件,需要实现的接口 Queue.h初始化队列队尾入队列【重点】队头出队列【重点】获取队列头部元素获取队列队尾元素获取队列中有效元素个数检测队列是否为空销毁队列 Que…

通讯协议学习之路(实践部分):UART开发实践

通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374) 本文…

破解制造业痛点,数据化方案助力高效生产!

随着科技的飞速发展,我们已进入数据化时代。在这个时代,制造业面临着前所未有的挑战。本文将探讨制造业在当今数据化时代遇到的问题以及相应的解决方案。 一、背景 制造业作为全球经济发展的重要支柱,正面临着数据化带来的巨大变革。在这个以…

DP4301-M无线模块一款SUB-1G无线收发模块

DP4301-M无线模块是一款低成本高效率工作于1GHz以内的收发模块,支持中国智能电无线 集抄标准470MHz~ 510MHz,兼容433MHz ISM/SRD频段均可使用。 此模块且前已经超大量应用于国标智能无线抄表及物联网自组网等双向数据传输系统方案,模 块具备的…

数据恢复工具推荐,高效恢复,这4款很实用!

很多电脑用户都会选择将文件直接保存在电脑上,但是在实际的操作过程中,数据丢失的情况难免会出现。而实用的数据恢复工具或许能有效帮助我们找回丢失的数据。电脑上有哪些使用效果比较好的数据恢复工具呢? 今天小编总结了几款好用的工具&…

基于springboot实现生鲜超市管理的设计与实现系统【项目源码】

基于springboot实现生鲜超市管理的设计与实现系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群…