1. 文章简介
这篇文章是今年一月利物浦大学发表的一篇工作,看了一下作者的名字,大部分应该都是国人,而其考察的内容在于LLM的符号推理的能力,具体来说的话,大致翻译文中他们自己提到的工作核心点如下:
- 文中首先考察了一下LLM的符号推理能力,给出了一个LLM agent并优化了一下其prompt,使之在相应任务当中获得了SOTA的效果。
其整体的工作可以参考下图:
可以看到,文中就是将Text-based Game处理为了符号任务,然后用LLM获得了很好的效果。
2. 方法介绍
如前所述,文中核心要研究的是LLM在符号推理上的能力,因此文中给出了一个具体的场景就是Text-Based Game,在这个场景下给出了一个具体的LLM Agent的系统来考察LLM的效果。
因此,这里文中首先是给出了整个Text-Based Game过程的Overview,然后依次考察了一下Symbolic Module以及LLM Agent各自是怎么工作的。
下面,我们来逐一看一下这几个问题
1. Overview
首先,我们给出整个过程的overview pipeline如下:
可以看到,整个过程的话是通过一个循环过程来完成的,文中先对游戏设置进行初始化,然后进行一个循环执行,具体来说,就是先通过LLM Agent将具体的任务翻译为Symbolic Module的可读执行命令,然后通过他们执行得到结果并进入下一个步骤,直至完成所有的任务。
下面,我们来看一下文中具体设计的Symbolic Module以及LLM Agent的设计。
2. Symbolic Module
首先,关于Symbolic Module部分,文中主要包括了4种任务下的符号系统:
- Calculation Module: Arithmetic
- Navigation Module: MapReader
- Sorting Module: Sorting
- Knowledge Base Module: TextWorld Common Sense (TWC)
其具体各个任务下的符号系统样例:
3. LLM Agent
然后,关于LLM Agent部分,其功能主要在于生成上述Symbolic Module的输入内容,它同样包括两个部分:
- 初始化过程
- Action Query
其中,前者主要是为了初始化整个Agent,来告诉LLM要生成些什么;然后,关于第二部分,也就是Action Query的部分,就是真正的根据当前的上下文以及具体的当前任务来生成当前一轮过程当中的query来交给符号系统进行执行。
对应的实现prompt与样例如下:
给出其具体的示例如下:
3. 实验考察 & 结论
下面,我们来看一下文中具体的实验内容以及对应的实验结果。
1. 实验设计
首先,关于文中的实验的话,LLM主要使用的是ChatGPT和GPT4,而测试环境则是使用的TextWorldExpress游戏引擎。
而具体的实验任务,则是以下4种:
- Arithmetic
- MapReader
- Sorting
- TextWorld Common Sense (TWC)
而使用的baseline则主要是以下两个:
- DRRN
- Behavior Cloned Transformer
2. 实验结果
1. 基础实验
首先,给出文中的基础实验的实验结果如下:
-
符号系统的效果
-
LLM Agent的效果
2. 消融实验
-
prompt的效果
-
模型的影响
4. 总结 & 思考
综上,上述工作基本就是结合了LLM和符号系统,然后在Text-Based Game当中获得了更好的效果。
但是坦率地说,对于这个任务本身我并没有太多的了解,所以其实并不理解他到底是干了个啥,然后作者宣称开源了代码,看了一下他给的代码链接也是空的,就很懵逼……
后面再看看吧,暂时反正也用不起来这个工作……