成果|LEGENT:具身智能体开放平台

学术   2024-08-12 11:22   北京  

在科幻小说的描绘中,人工智能与我们共同生活在物理世界,它们能够感知环境,通过自然语言与我们进行交流,协助我们的体力劳动。具身智能体(Embodied Agents),作为能够与真实或虚拟环境互动并执行任务的实体,是实现这一愿景的关键技术。

当前,大语言模型和多模态大模型在理解和生成语言、图像等方面展现出强大的泛化能力。然而,如何将多模态大模型应用于具身智能体,使其能够在环境中进行感知、推理和行动,仍面临着巨大挑战。大模型难以与现有平台整合,模型缺乏交互数据训练以及数据规模和多样性不足等问题,阻碍了大模型在具身智能体领域的应用。


近日,我组提出了LEGENT具身智能体开放平台。该平台提供了一个功能强大的 3D 模拟环境,构建了一套高效的具身数据生成流程,为大语言模型和多模态大模型与具身智能体的结合搭建了一座桥梁,为具身智能的发展提供了新的思路和方向。


论文信息


 ➤  论文地址 

 🔗https://arxiv.org/pdf/2404.18243


 ➤  项目地址 

 🔗https://github.com/thunlp/LEGENT


该成果收录于ACL 2024 Demo,LEGENT 平台将在 ACL 2024 进行系统演示,欢迎与会者进行交流讨论!


时间:2024年8月13日 10:30(UTC+7)

分享人:程志立、胡锦毅

    


演示视频

LEGENT平台人机交互和数据框架概览


与智能体在不同场景中进行交互的例子





背景介绍

在一般的计算机视觉或自然语言处理任务中,模型从互联网上获取的图像、视频或文本数据集中进行学习,并在静态的数据集中进行评测。而具身智能体从与环境的交互中学习,智能体像人一样从自我(ego-centric)视角观察环境并执行动作来完成任务。


具身智能体研究已经在游戏和机器人领域取得了许多进展,其中,具身智能体平台提供了与环境交互进行训练的支持,起到了基础设施的作用。国际上最具影响力的平台是Meta开发的的Habitat,但目前其数据扩展性不足,训练数据主要来源于强化学习和非常有限的人工演示数据,也没有很好的利用多模态大模型作为具身智能体的框架。智能体通常从头开始训练,在有限的场景和任务上训练出专用模型,不易泛化到任务集之外。另外,Habitat在计算机视觉和强化学习领域发展多年,任务专业化以及不跨平台等特点,对于非领域内研究人员来说,使用上较为困难。


要实现通用的具身智能体,需要模型扮演"具身大脑"的角色。这一目标对模型的能力要求极高,仅靠小型模型、非常有限的数据量或模块化设计是难以达成的。例如,完成一个简单的"给我拿一个勺子"任务,模型需具备以下复杂能力:

任务理解,模型必须理解任务性质,将指令与具体情境和场景联系起来,以确认任务含义;任务规划,模型需要隐含将任务拆解的能力,如将任务分解为定位勺子、抓取勺子、递给用户多个步骤,以指导底层行动;语言对应现实(language grounding) ,模型需能够将指令文本与现实世界中的实体和动作相对应,例如将文本勺子和物理世界的勺子实体关联;视觉理解,模型需要理解场景内容,包括识别场景中的物体,判断目标物体是否在视野内,以确定下一步行动;空间能力,模型需具备空间理解能力,包括对环境的空间记忆和预测,以完成目标导航等行为;技能执行能力,模型应在正确的位置执行正确的行动,如在目标物体处进行抓取而非别处,抓取目标物体而非其他临近物体;常识推理能力,智能体需运用常识进行推理,例如在勺子不在视野中时,推断其可能的位置......


在复杂的能力要求下,为了开发通用的具身智能体,我们认为需要两个重要因素:一是利用好大语言模型和多模态大模型通过海量互联网数据预训练获得的广泛知识和各种能力,并把这些知识和能力通过训练联系到环境中(grounding);二是扩展具身训练数据的规模,让模型具备可泛化的具身能力。


为此,我们开发了LEGENT平台。平台主要从两个方面为具身智能提供便利,一方面,平台提供了一个功能完备、扩展性强的模拟环境,环境中包含可交互物体、可扩展的场景,以及可执行动作的智能体。另一方面,平台构建了一个可以大规模自动生成具身轨迹数据的数据生成流程,为基于多模态大模型大规模训练具身智能体提供了支持。



LEGENT平台

LEGENT 平台的设计主要从三个方面考虑:可扩展的场景、可交互的智能体以及易用的接口。

平台功能概览



 ➤  场景 

LEGENT环境中的场景强调交互性和多样性,力求为具身智能体提供丰富的训练场景,从而提升其泛化能力。


➤ 物理方面:平台支持逼真物理效果,包括重力、摩擦和碰撞等,使智能体能够更好地理解物理世界的规则。

➤渲染方面:平台还可以根据需求调整渲染特点,得到写实场景和风格化场景,以适应不同的应用场景。


写实场景


➤交互性方面:在环境中,智能体和用户都可以与各种可交互的 3D 物体进行操作,例如拾取、移动、放置和传递物体,调整物体位姿,还支持开闭门窗、抽屉等动态结构的交互。


支持丰富的物体交互


➤扩展性方面:LEGENT支持导入用户自定义的3D物体、现有数据集中的3D物体以及由生成模型生成的3D物体,为场景构建提供了极大的灵活性和可拓展性。


支持导入各种来源的外部物体



 ➤  智能体  

LEGENT中的智能体设计强调模拟人类交互,以及兼容多模态大模型。


➤自我中心观察:智能体配备了第一人称视角,可以模拟人类的观察方式。


➤语言交互:用户可以与智能体进行自然语言交流。


➤可泛化的行动:智能体可以执行各种动作,包括导航、操作物体和语言交流。相比于停留在子任务规划层面,LEGENT 使用更为底层的连续动作控制,例如 “向前移动 1.5 米,向右旋转 30 度”,这种方式更具泛化性,能够适应不同的执行器和新的环境。支持连续动作的执行可以降低大模型在环境中逐帧推理的成本,避免了智能体在逐步移动过程中信息增益不足的问题,为基于多模态大模型的具身智能体训练提供了更加有效的数据。


➤人体动作:通过反向运动学和空间算法,智能体可以实现肢体动作,来进行非语言表达。这为将来的平台进一步开发机器人控制、动作生成等支持奠定基础,可以低成本实现大规模第一人称视角的动作执行视频数据采集。


 ➤  环境接口  

➤交互接口:LEGENT有直观的用户界面,可以直接用键盘鼠标进行交互,对可视化调试、定性评测、在线演示非常方便。


➤代码接口:LEGENT提供了简单易用的Python代码接口,不熟悉3D环境的用户也可以轻松使用,LEGENT非常适合作为具身智能的入门环境。


➤数据接口:提供了场景生成接口和轨迹数据生成接口,并支持用户定制。


➤跨平台:LEGENT支持跨平台,在个人电脑或服务器上面都可以运行,没有苛刻的硬件要求。




数据生成

LEGENT 构建了一套系统可扩展的具身数据生成流程,通过充分利用模拟世界的监督信息,为大规模训练具身智能体提供支持。LEGENT的数据生成流程包含场景生成、任务生成以及轨迹数据生成三个方面。


 ➤  场景生成 

丰富的场景对于具身智能体的泛化性具有至关重要的作用,我们集成了两种场景生成的方法,包含程序化生成以及语言引导的生成。


➤程序化生成:基于 ProcTHOR 方法,通过整合物体放置和空间关系的先验知识,高效地生成大规模室内场景。生成的具体流程是先确定轮廓和房间布局,再放置地面大型物体,最后在大型物体上放置小物体,这个过程主要利用标注的物体出现、组合、摆放的先验知识,比如桌子旁边一般大概率会有椅子,枕头一般不会出现在厨房和浴室。


➤语言引导生成:基于 Holodeck 方法,使用大语言模型根据自然语言指令生成丰富的室内场景。其生成流程和程序化生成类似,但每一步都由大语言模型直接进行设计,利用大语言模型丰富的先验知识,可以更好地进行布局设计、物体选择和物体摆放

自动生成的场景


 ➤  任务生成 

在任务生成方面,LEGENT 提供了两种策略:


➤根据场景生成任务:将生成的场景序列化为详细的文本描述,并将其与指令和种子任务一起提供给大语言模型,由大语言模型模拟人类用户设计各种任务。

➤根据任务生成场景: 对于导航到某个地方、拿起某个物体、询问某个物体的位置等基础任务,可以采用任务模板,根据任务要求生成大量场景。例如,将put A on B模板中的A和B换成具体的物体,并且让生成的场景包含A和B,就可以生成同一类任务的大量实例;对于询问物体位置的Where is A模板,算法会生成包含A物体的场景并获取到放置位置信息,从而自动创建问答数据对。对这些基础任务生成大量实例,有利于训练模型的基础具身能力,包括在各种场景下的具身控制、空间理解、语言联系实体的能力。


 ➤  轨迹生成 

LEGENT平台支持大规模生成可直接用于训练具身智能体的轨迹数据,这种轨迹数据由一系列连续的第一人称视角观察和对应的执行行动组成,即观察-行动序列。生成轨迹数据的主要挑战是正确地确定每一步应执行的行动。

我们结合了大语言模型和运动规划器来生成智能体的行动轨迹,大语言模型针对任务和环境信息编写中间代码,中间代码转换为运动规划器,运动规划器结合环境信息生成具体动作。这种方法与机器人学中的任务和运动规划(Task and Motion Planning,TAMP)概念一致,通过使用环境信息和算法使机器人能够在环境中执行操作任务。在模拟环境中,环境信息是已知的,大语言模型和控制算法可以分别完成任务规划和运动规划的功能。


➤大语言模型生成中间代码 :我们将场景状态序列化为文本描述,大语言模型根据任务和状态描述编写出中间代码。例如对于任务"橙子在哪里?",大语言模型会选择合适的代码调用,并基于环境信息确定橙子的标识符以及橙子的实际位置,从而生成以下代码:

find(36) # 橙子的标识符speak("It's on the sofa.")

➤中间代码作为运动规划器:中间代码会被实例化为多步的运动规划器,运动规划器的规划算法根据环境状态来计算每一步的最优行动。每个运动规划器在环境中逐步执行行动并收集过程中每一步对应的第一人称视角观察。例如,find()中间代码会使用路径规划算法并结合可见性检查,计算走向目标物体应采取的步骤,并在看见物体时停止。路径规划算法使用NavMesh计算从当前位置到目标物体的路径导航点,运动规划器会计算智能体沿着导航点移动所需要的动作。若智能体需要向右旋转59度以对准下一个点,则产生动作rotate_right(59)。


在此过程中记录的视觉观察和动作轨迹数据可以导出为视频或图像-文本交错序列。使用这种形式的轨迹数据训练多模态大模型,可以实现图文输入、行动输出的端到端具身智能体,即VLA(Vision-Language-Action)模型。通过这种训练方式,模型在推理时不依赖任何环境内部信息,可以迁移到未知环境中运行。

模型结构


我们使用一个支持输入多图的多模态大模型VILA作为基座,使用1万条生成的轨迹数据进行了原型实验来检验生成数据的有效性,原型实验包括导航和具身问答任务。实验结果表明:


  1. GPT-4V 在这些任务中表现较差,反映了主流多模态大模型缺乏具身训练。

  2. 增加合成的训练数据量可以显著提高模型的性能。

  3. 基于多模态大模型,在一个具身任务中训练的能力可以泛化到另一个具身任务中。在导航任务中训练出的多房间导航能力,可以很好地泛化到具身问答任务中。




后续计划

LEGENT 平台为具身智能体的研究和开发提供了一个易用且强大的工具。通过将大语言模型和多模态大模型与具身环境和数据生成流程相结合,LEGENT可以帮助研究人员和开发人员开发出更智能、更通用的具身智能体。LEGENT还在进行持续的开发和实验,包括改善场景生成算法、丰富数据生成流程和运用到现实环境中等方面


在未来,具身智能体可能会像今天的智能手机一样普及,成为我们生活中不可或缺的一部分。LEGENT 平台作为真实和虚拟世界的具身智能体数据引擎,为大语言模型和多模态大模型与具身智能体的结合提供了有效的解决方案,并欢迎更多的研究者加入。




关于我们

清华大学自然语言处理与社会人文计算实验室(TsinghuaNLP)成立于 20 世纪七十年代末,是国内开展自然语言处理研究最早、深具影响力的科研单位,也是中国中文信息学会计算语言学专业委员会及中国人工智能学会因果与不确定性人工智能专业委员会的挂靠单位。实验室在学术总体带头人孙茂松教授及学术方向带头人刘洋教授刘知远副教授的带领下,围绕以中文为核心的自然语言处理,在语言大模型、跨模态大模型、中文信息处理、机器翻译、知识图谱、智慧教育、社会人文和艺术计算等方面开展系统深入的研究,在国内外具有较大的学术影响。近年来,实验室承担了国家 973 项目、国家重点研发项目、国家社会科学基金重大项目等多项重要研究任务,并与腾讯、华为等企业建立密切的学术合作关系。


Website:http://nlp.csai.tsinghua.edu.cn/

Email:thunlp@163.com

GitHub:https://github.com/thunlp

               https://github.com/OpenBMB

Twitter:https://twitter.com/TsinghuaNLP


THUNLP 长期开放招聘

TsinghuaNLP
清华大学自然语言处理与社会人文计算实验室,是中国中文信息学会计算语言专业委员会和中国人工智能学会不确定性专业委员会的挂靠单位。负责人为清华大学计算机科学与技术系孙茂松教授,核心骨干为刘洋教授,刘知远副教授。
 最新文章