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

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

北京大学和北京智源人工智能研究院的团队针对这个问题提出了 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余个应用场景,包括论文助手、公司文案、抖音快手小红书营销、法律咨询、多语言翻译、科研课题、招投标书、辅助编程、学习与办公等各个领域。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

22.斐波那契数列数列前20项.

#include<stdio.h>int main(){int i,sum1; int a[100];a[0]0;a[1]1;for(i2;i<20;i){a[i]a[i-1]a[i-2]; sumsuma[i];}printf("斐波那契数列的前20项和为&#xff1a;%d",sum);return 0;}

Redis05-集群方案

目录 Redis集群方案 主从复制 主从复制的基本原理 主从复制的工作流程 乐观复制 主从复制的优势 哨兵机制 哨兵的关键作用 服务状态监控 哨兵选举Master规则 分片集群 分片集群中的数据读写 数据写入 数据读取 一致性哈希和客户端分片 Redis集群方案 微服务时代…

Python编程爬虫代码

这是一个基本的爬虫程序的示例&#xff0c;按照你的需求进行了修改&#xff1a; typescript import * as request from request; import * as cheerio from cheerio; const proxyHost ; const proxyPort ; // 创建一个request实例&#xff0c;使用 const requestWithProxy…

基于单片机智能浇花系统仿真设计

**单片机设计介绍&#xff0c; 基于单片机智能浇花系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能浇花系统可以实现自动化浇水、测土湿度和温度等功能&#xff0c;以下是一个基本的仿真设计步骤&am…

详细推导MOSFET的跨导、小信号模型、输出阻抗、本征增益

目录 前言 什么是跨导 什么是小信号模型 什么是输入阻抗和输出阻抗 什么是MOS管的输出阻抗 什么是MOS管的本征增益 共源极放大电路的输入和输出阻抗 一些其它MOS拓扑电路的增益 负载为恒流源 负载为二极管 前言 相信很多人在学习集成电路领域的时候 都对MOS管的…

【机器学习基础】机器学习入门(1)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习 欢迎订阅&#xff01;后面的内容会越来越有意思~ &#x1f4a1;专栏介绍&#xff1a; 本专栏的第一篇文章&#xff0c;当然要介绍一下了~来说一下这个专栏的开…

asp.net core mvc之 RAZOR共享指令和标签助手 TagHelpers

一、RAZOR共享指令 RAZOR共享指令&#xff1a;在视图中导入命名空间&#xff0c;执行依赖注入。 RAZOR共享指令是写在 Views目录下的 _ViewImports.cshtml 文件 支持指令如下&#xff1a; addTagHelper 增加标签助手 removeTagHelper 移除标签助手 tagHelperPrefix 标签助手…

javaSE学习笔记(八)-多线程

目录 九、多线程 1.概述 线程 多线程并行和并发的区别 Java程序运行原理 多线程为什么快 如何设置线程数比较合理 CPU密集型程序 I/O密集型程序 注意 线程的五种状态 新建状态&#xff08;new&#xff09; 就绪&#xff08;runnable&#xff09; 运行状态&#x…

ubutun上编译出现undefined reference to symbol ‘dladdr@@GLIBC_2.2.5‘的错误

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> ubutun上编译一段C程序&#xff0c;出现错误&#xff1a; /usr/bin/ld: /tmp/ccghh3FJ.o: undefined reference to symbol ‘dladdrGLIBC_2.2.5’ //lib/…

记录一个错误

通过Resource注解&#xff0c;将IStateHandler接口的实现类 StateHandlerImpl注入进来 Resource private IStateHandler stateHandler;Resource注解默认按照名称进行装配&#xff0c;这里抛出异常是因为IStateHandler和StateHandlerImpl都被 Spring 容器管理&#xff0c;在进行…

css渐变背景,linear-gradient()线性渐变和radial-gradient()径向渐变

嗨&#xff0c;大家好&#xff0c;我是爱搞知识的咸虾米。 许多APP、小程序、网站等都喜欢采用渐变色背景&#xff0c;这样做不但可以增加设计感&#xff0c;而且能提升品牌辨识度。 所以&#xff0c;今天使用css的线性渐变和径向渐变&#xff0c;给大家将这几种不同类型的渐变…

【mybatisPlus简化开发过程】

mybatisPlus简化开发过程 1.入门案例1.1 SpringBoot整合Mybatis开发过程(复习) 2.Mp简介3. 增删改查4. 分页插件5. 多条件查询(lambda版本)6 条件查询的null值处理7. Lambda查询投影8.条件查询8.1 范围查询(>、、between)8.2 模糊查询 (like)8.3 空判定(null)8.4 包含性判定…

重复性工作自动化解决方案——影刀

以前&#xff0c;影刀是一个邂逅的初见小工具&#xff0c;新奇在里头&#xff0c;踌躇在外头&#xff1b; 现在&#xff0c;影刀是一个稳定的职场贾维斯&#xff0c;高效在里头&#xff0c;悠闲在外头&#xff1b; 以后&#xff0c;影刀是一个潜力的知己老司机&#xff0c;有序…

【网络奇缘】我和英特网再续前缘

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏: 一见倾心,再见倾城 --- 计算机网络~&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 计算机网络的概念 计算机网络的功能 ⭐1.数据通信 ⭐2.资源共享 ⭐3.分布式处理 ⭐4.提高可靠性 ⭐…

如何使用`open-uri`模块

首先&#xff0c;我们需要使用open-uri模块来打开网页&#xff0c;并使用Nokogiri模块来解析网页内容。然后&#xff0c;我们可以使用Nokogiri的css方法来选择我们想要的元素&#xff0c;例如标题&#xff0c;作者&#xff0c;内容等。最后&#xff0c;我们可以使用open-uri模块…

算法的入门基础了解

目录 算法的特征 如何设计算法&#xff1f; 伪代码 “算法”一词最早出现在《周髀算经》这本书中&#xff0c;对应的英文单词是“algorism”&#xff08;由 9 世纪的波斯数学家阿尔霍瓦里兹米提出&#xff09;&#xff0c;代指阿拉伯数字的运算规则。随着计算机的快速发展&a…

小白看CLIP代码解析

CLIP代码解析 CLIP演示代码&#xff08;以cifar100举例&#xff09;补充11. 为什么选用100*image_feature&#xff1f;2. 为什么使用L2规范点积&#xff0c;而不直接使用点积&#xff1f; cifar100的所有类别model.encode_image >> VisionTransformer补充21. 为什么加入c…

GoldWave v6.78 绿色免费便携版功能介绍及使用说明

GoldWave v6.78 绿色免费便携版是一款集声音编辑、播放、录制与转换为一体的音频编辑工具&#xff0c;还可以对音频内容进行转换格式等处理。该软件支持许多格式的音频文件&#xff0c;包括WAV, OGG, VOC, IFF, AIF, AFC, AU, SND, MP3,MAT, DWD, SMP, VOX, SDS, AVI, MOV等音频…

程序运行前后内存分区存储

程序运行前是源码 在程序运行后&#xff0c;生成了exe可执行程序 分为代码区和全局区 代码区&#xff1a; 存放CPU执行的机器指令代码区是共享的&#xff0c;共享的目的是对于频繁被执行的程序&#xff0c;只需要在内存中有一份代码就可以了代码区是只读的&#xff0c;其只读…

淘宝京东优惠券信息API接口系列

获取淘宝优惠券信息接口需要使用淘宝开放平台提供的API接口。以下是获取优惠券信息的步骤&#xff1a; 进入淘宝开放平台&#xff0c;注册并登录账号。在开放平台页面中&#xff0c;找到“优惠券”或“营销工具”等相关的API接口&#xff0c;根据需要进行选择。根据接口文档&a…