- 论文标题:Building Cooperative Embodied Agents Modularly with Large Language Models (ICLR 2024)
- 最初发表时间:2023.07
- arxiv:https://arxiv.org/abs/2307.02485
- GitHub:https://github.com/UMass-Embodied-AGI/Co-LLM-Agents
- ICLR 2024 poster。
目录
- 01 main idea
- 02 agent 架构:由 5 个模块组成
- 03 每个模块分别怎样工作,内部维护什么信息,使用什么 prompt
- 04 微调过程
← 返回目录
01 main idea
- 主要贡献:在没有 full observation 的多 agent 合作环境中,通过互相交流,让 LLM agent 进行合作。
- 关键技术:为每个 LLM agent 维护了执行模块、通信模块、记忆模块等,让 agent 可以
- 记住目前的环境状态;
- 通过 planning 得知自己下一步应该做什么;
- 通过预定义的 prompt 与队友们高效交流,分工完成任务。
02 agent 架构:由 5 个模块组成
- 感知模块:处理摄像头画面,识别物体并构建环境地图
- 输入:RGB-D 图像。
- 方法:用训练好的 Mask-RCNN 识别物体,构建 3D 语义地图。
- 维护:实时更新的物体位置 / 状态信息。
- 记忆模块:【使用 LLM】存储三类信息:
- 语义记忆(当前环境 / 任务状态)。
- 情景记忆(行动 / 对话历史)。
- 程序记忆(动作执行代码)。
- 通信模块:【使用 LLM】生成自然语言消息。
- 规划模块:【使用 LLM】制定行动计划。
- 执行模块:将计划转化为具体动作。
- 使用神秘 low-level 控制器,用 A* 之类的算法。
03 每个模块分别怎样工作,内部维护什么信息,使用什么 prompt
各模块工作原理:
-
记忆模块:维护
- 语义记忆 semantic memory:
{"地图": 房间布局 + 物体位置,"任务进度": 已完成的子目标,"自身状态": 位置 / 手持物品,"队友状态": 最后观测到的队友信息 }
- 情景记忆 episode memory:保存最近 50 条行动记录和对话记录。
- 程序记忆 procedural memory:记忆如何执行一个相对 high-level 的指令的步骤 / policy。
- 语义记忆 semantic memory:
-
通信模块的 prompt:
指令头:当前任务说明 目标:需要完成的子目标列表 状态:语义记忆的文本化描述 历史:最近 5 次行动和 3 轮对话 结尾:要求生成简明有用的消息
- 示例输入:"发现厨房有3个苹果,队友拿着空容器,建议对方来收集"。
-
规划模块 的 prompt:
当前状态 可选行动列表(如:探索A房间/拿取B物品/发送消息) 要求:用思维链分析最优选择
- 输出:高层行动计划(如:"优先搜索未探索的卧室")。
04 微调过程
- 数据收集:基于 GPT-4 在模拟环境中执行任务,记录 3,000 条成功轨迹。
- 处理:人工筛选出 500 条高效沟通 / 决策的优质样本。
- 训练:
- 模型:LLAMA-2-13B。
- 方法:LoRA(Low-rank adaptation)微调,占显存小。
- 耗时:单张 A100 显卡训练 6 小时。
- 效果:微调后的 LLAMA 在运输任务中的效率提升 40%,接近 GPT-4 水平。
← 返回目录