Leveraging Pre-trained Large Language Models to Construct and UtilizeWorld Models for Model-based Task Planning

0 Abstract

将LLM直接作为planner的方法实用性不足的几个原因:plan的正确率有限,严重依赖于feedback(与sim或者真实环境的交互),利用人类feedback的效率低下。

作者在两个IPC域和一个Household域证实了GPT-4可以用来生成高质量的PDDL模型(执行超过40个action),可以用于成功解决48个planning task。其中,PDDL是planning domain definition language 规划领域定义的语言。

1 Introduction

初步研究表明LLM在日常任务中可以生成一些合理的动作plan,但是这些plan的正确性和可执行性有很大局限。LLM可能往往会忽略某些状态下操作的物理合理性,并且可能无法有效地处理多个操作之间的依赖关系。一种解决方法是在生成plan的时候收集一些feedback,例如传感器信息、人类的纠正或者未达成的预设条件,然后将这些feedback用于re-plan。尽管如此,LLM作为planner还是有一些问题:

  • LLM尚未展现出足够的reasoning和planning的能力。就算提供了关于动作的详细描述,例如PDDL domain model或者自然语言的PDDL model,LLM仍然难以生成正确且可执行的plan。
  • 现有的范式需要在线地获取feedback,即开始plan之后再与sim或者world进行交互。这样可能造成巨大的成本,而且无法利用到已经被证明的合理规划的优势。
  • LLM行为复杂难以理解,稍微改变一下场景可能就会重复相同的错误,反复提供相同的feedback会让end users比较恼火。

作者不将LLM直接作为planner,而是采取一个model-based范式,将PDDL world model从LLM中摘离。

  • LLM用来将symbolic表示的动作提取为PDDL action model,plan过程是由domain-independent planner来进行的
  • plan过程分为两部分:对动作的之间的因果依赖关系进行建模;决定合适的动作序列。

一开始LLM在生成PDDL模型时仍然无法避免一些错误,为此,坐着将LLM作为PDDL和feedback源之间的接口。feedback可以是人类的NL或者类似VAL中的PDDL评估器。

结果显示GPT-4可以在包含41个动作的400词文本中生成高质量的PDDL域模型。并且在replaying和PDDL构建的对话中利用NL的feedback修正错误。

两个应用场景:

  • 用LLM把user instruction翻译为PDDL中的goal specification,利用domain-independent planner 来搜索plan
  • 用提取的PDDL模型来评估LLM planner给出的plans,给出改正反馈。也就是把PDDL模型用于一个低成本的high-level simulator或者是当做人类proxy来保证plan的正确性。
  • LLMs and planning 一般习惯于将LLM作为high-level的planner,例如SayCan和Text2Motion
  • Training transformers for sequential decision-making tasks 有不少工作对LLM进行finetune,或者训练sequencemodels,作者没有采用training,直接用的off-the-shelf的LLM
  • Learning/acquiring symbolic domain models 利用LLM蕴含的大量知识,将LLM建立为world model或者一个plan critic;但是有证据显示这种model缺乏可靠的(对action effects的)reasoning,在候选的plan中容易发生错误
  • Language models with access to external tools 例如让LLM调用外部的数学或者逻辑归因的工具,这里作者是调用了外部的sound planner

3 Problem Setting and Background

3.1 Classical planning problems

一个经典的planning问题可以表示为\(\mathcal P=\langle \mathcal D, \mathcal I, \mathcal G \rangle\):domain \(\mathcal D\), initial state \(\mathcal I\), goal specification \(G\)

其中\(\mathcal D = \langle \mathcal F, \mathcal A \rangle\): set of fluents \(\mathcal F\) (例如一些用于描述状态的谓词逻辑), set of actions \(\mathcal A\)

动作\(a_i[\mathcal V]\in \mathcal A\)的参数集合\(\mathcal V\)由若干可以映射为object的参数\(v\)构成,动作本身可以认为由两部分构成:

  • \(prec[\mathcal V]\) 动作可以执行的先决条件precondition
  • \(eff[\mathcal V]=\langle add[\mathcal V], del[\mathcal V]\rangle\) 执行动作带来的影响effect,由致真谓词逻辑\(add[\mathcal V]\)和致假谓词逻辑\(del[\mathcal V]\)组成

一个planning问题的solution称为一个plan,是一个action序列。

3.2 PDDL

Planning Defination and Domain Language 一种用于描述经典planning问题的标准编码语言,例如一个Blocksworld domain的action:

(:action PutDownBlock
    :parameters (?x - block)
    :precondition (and (robot-holding ?x))
    :effect (and (not (robot-holding ?x)) (block-clear ?x) (robot-hand-empty) (block-on-table ?x)))
posted @ 2023-12-01 11:01  Eirrac  阅读(64)  评论(0编辑  收藏  举报