MLDT笔记
实验复现完了
要说明一下解决了哪些问题比较好,显得一直在做事情呢哈哈
- 首先就是找到了all-MiniLM-L6-v2这个模型,这个模型是用来判断句子相似度的(网络问题,模型从huggingface上面下载即使科技了依然速度只有几十KB)
- 对于LLM API调用进行代码更改,以适应我的免费API
- 阅读virtualhome的docs,对于环境代码略微修改,以便显示图形化界面(尚未解决)
- 整理MLDT论文
MLDT
解决了什么问题
与常规任务规划相比,复杂的长期任务规划涉及更多的任务目标、更多的交互对象和更长的动作序列。它需要理解大量的上下文信息并生成冗长的动作序列。这对于开源LLM过于困难,涉及过多的上下文信息作为输入和冗长的动作序列作为输出。以前的方法忽视了开源法学硕士有限的推理能力,并且难以应对这种任务规划场景。
本文研究重点在于如何让少量参数的LLM具有复杂长期任务规划能力。
相关研究
In-context learning
- zero-shot planner 使用两个 LLM,一个用于生成计划,另一个用于将生成的计划转换为可执行操作
- progprompt 通过采用程序化的 LLM 提示结构来增强 LLM 的任务规划能力。
- ReAct 将推理和行动结合起来,允许法学硕士以交错的方式生成推理轨迹和特定于任务的动作
Fine-tuning
- LID 基于 GPT-2 构建了一个策略网络,并对该网络进行微调以交互地预测动作。
- TaPA 采用视觉感知模型来获取观察结果,并为扎根调整法学硕士构建多模态数据集。
- E2WM 根据从世界模型收集的具体知识对法学硕士进行微调,以提高其具体知识。
复杂的长视野机器人任务规划
- saycan 采用预训练的价值函数来将 LLM 的输出置于环境中,从而增强其在现实世界、抽象和长期任务中的表现。
- ISR-LLM 预处理、规划和迭代自细化,以提高生成计划的可行性和正确性。
- Inner Monologue 整合了多个来源的反馈,形成内心独白,提高了法学硕士在复杂的长期任务中的表现。
- ITP 基于视觉语言模型获得环境观察结果,并利用高级规划器生成计划,然后由低级执行器执行。
本文注重长视野规划,行动步骤复杂(超过60步)
方法
目标层级的分解
依据给定的总目标,通过计算任务相似度获取相似的任务目标以及它们的分解,将其组合送入LLM,再根据LLM的输出取出规则化后的分解了的子目标
任务层级的分解
与目标层级分解类似同样需要依据与当前子目标类似的其它子目标作为示例,将子目标与环境观察组合成送LLM,然后通过正则解析LLM的输出获得子任务
动作层级的分解
与前面两者类似,需要相似示例以及子任务作为输入以获得动作输出
指令微调
受限于开源模型的能力,作者使用了指令微调来增加它们的能力。
指令微调的数据集是多层级分解的训练语料库,这个语料库来自于使用GPT进行MLDT(这样就能获得子目标分解序列、子任务分解序列、以及动作序列了),将其在virtualhome中提交动作序列,如果成功了,就将这三个数据保存下来。
在对开源模型微调的时候,将GPT的输入送到开源模型中,将它们的输出尽量与GPT的输出相似。
长任务数据集的构建
从环境图中提取可抓取对象和目标对象。为了保持与原始数据集环境条件的一致性,我们只考虑其中出现的对象。然后,对于每种可抓取对象,我们随机选择一个目标对象,并根据预定义的模板构建任务目标。最后,我们根据任务目标估计最小操作步骤,保留超过预定义步骤阈值(本工作中为 60)的步骤。
实验
MLDT主要与 Embodied Planning 和 ReAct 做对比
Embodied就是将任务相关信息组合成prompt
ReAct不如embodied的原因可能是拉长了上下文导致本就上下文能力贫弱的LLM在长上下文任务上更弱了。
LLM支持的语言数量过多可能导致其在单一语言上能力下降
不同参数的LLM经过MLDT的增强后,都达到了非常接近的完成率