LLMs Can’t Plan, But Can Help Planning in LLM-Modulo Frameworks

2024-06-03 01:20

本文主要是介绍LLMs Can’t Plan, But Can Help Planning in LLM-Modulo Frameworks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

更多精彩内容,请关注微信公众号:NLP分享汇

原文链接:LLMs Can’t Plan, But Can Help Planning in LLM-Modulo Frameworks


你是怎么理解LLM的规划和推理能力呢,来自亚利桑那州立大学最近的一篇论文,对LLM的规划、推理能力提出了一些新看法。

在看这篇文章时,你不妨可以带入以下角色进行理解:

  • 乐观型:认为只要采用了合适的提示策略,LLM就能很好的完成任务

  • 悲观型:LLM在规划,或者推理任务唯一的好处是将问题从一种句法格式翻译成另一种,真正解决问题还需要靠外部符号求解器。

为什么会觉得LLM不能规划?

从丹尼尔·卡尼曼的《Thinking fast and slow》看LLM

图1 An informal account of viewing LLM

图1提供了一个非正式的视角,将大型语言模型(LLMs)视为一个巨大的外部非真实记忆(external non-veridical memory),充当伪系统1(pseudo System 1)。这一视角旨在解释LLMs在规划和推理任务中的作用及其局限性。

在心理学中,系统1通常指的是快速、直觉和自动的认知过程,而系统2则涉及缓慢、逻辑和努力的认知过程。这里,作者使用Kahneman(2011)的理论《Thinking fast and slow》,将LLMs比作一个巨大的伪系统1,意味着它们能够快速生成文本和响应,但并不涉及深层次的推理或规划。

为什么LLM不能规划?

自主模式下的限制尽管最初有关LLMs规划能力的说法颇为乐观,但近期的多项研究一致表明,在自主模式下,LLMs实际上无法生成可执行的计划。即使是表现最佳的LLM(GPT-4),平均也只有大约12%的生成计划是无误且能达到目标的。这说明LLM可能只是做近似的规划检索,而不是真正的规划。

无法自我验证:LLM无法验证自己生成的规划,因此无法通过自我批评改进规划。尽管LLM不能一次性生成正确的解决方案,但通过迭代提示,它们可能会通过自我批评提高准确性。但研究表明,LLM在验证解决方案方面并不比生成解决方案表现更佳。

知识获取与执行规划混淆:规划任务需要的不仅仅是规划领域知识,还需要能够将这些知识组装成一个可执行的规划,考虑到目标与资源的相互作用。LLM通常在提取规划知识方面做的很好,但这并不意味着它们能够生成可执行的规划。

对自我改进的误解:LLM可以通过生成规划、自我批评规划,然后使用这些规划来自我改进(例如通过合成数据微调)。但是,由于LLM无法验证自己的解决方案,这种自我改进的方法实际上是不可行的。

LLM-Modulo

有了动机,自然要提出解决方案,LLM-Modulo就是论文提出用于解决LLM无法规划的框架。如下图2就是LLM-Modulo的模型架构。

图2 LLM-Modulo

LLM-Modulo架构就是一个“生成-测试-批评”的循环。通过让LLM生成候选规划,并利用一系列外部验证器对这些规划进行评估和反馈,确保了规划的准确性和可靠性。

语言模型生成创意和潜在解决方案方面表现出色,而外部验证器则严格检查规划是否满足所有必要的约束条件。这种结合神经网络和符号逻辑的方法,不仅提高了规划任务的准确性,还增强了框架的灵活性、扩展性,使其能够适应各种不同规划场景。

该框架另一个优势是支持人机协作。领域专家在整个过程发挥至关重要的作用,它们的知识用于指导和细化LLM生成的规划,确保规划符合实际需求和约束。

模型架构流程

  • Refined Specification:用户有大量问题规范(Promblem Specification)需要去改进提升,问题规范可能是完整/部分/抽象的。LLM接收一个问题规范或描述,这个问题规范是对所需要解决的任务的描述,可能包含目标、约束、初始状态和可能的动作等信息。

  • LLM Response:LLM根据接收到的问题规范生成一个/多个候选计划,这些计划是解决问题的潜在方案,它们可能不完全正确或可行。

  • 外部验证环节

    • Critics(外部验证器):通过Hard/Soft Critics评估LLM生成的规划、推理候选。

      • Hard Critics:基于模型的验证器。评估计划是否满足所有硬性约束。如因果正确性等。

      • Soft Critics:可能基于LLM,评估计划的其他方面,如风格,可解释性或偏好符合性等。

      • 如果所有的Critics都认可当前候选方案,那么将被认为是返回给用户的有效解决方案。如果不认可,则提供不同程度的反馈

        • No, try again

        • No, try again, here is one things wrong with the current plan

        • No, try again, here are all the things wrong with the current plan

    • Reformatter(重组器)

      • 该组件将LLM生成的候选计划转为外部验证器所需的特定语言形式。由于不同的验证器可能需要特定格式的输入,Reformatter负责将LLM的输出调整为这些特定格式,以便critics能够有效评估计划的有效性和正确性。

  • Fine-tuning & Synthetic Data

    • 一但LLM-Modulo框架解决了一个规划实例,该解决方案就可以添加到合成数据语料库中。该数据语料间歇性地用于微调LLM,以此提升模型生成规划的能力

    • 虽然微调不能保证生成的解决方案正确性,但它可能会提高LLM猜测更接近Critics审查候选时被接受的机会。

为什么不用LLM作为外部验证器?

要解释这个问题,可以引用该篇论文作者在23年发表的论文《Can Large Language Models Really Improve by Self-critiquing Their Own Plans?》进行解释。感兴趣的具体看看文章:https://arxiv.org/pdf/2310.08118。

自我批评会降低规划生成的性能,特别是与具有外部验证器和LLM验证器的系统相比。LLM会产生大量错误信息,从而损害系统的可靠性。

表1 Comparison between various plan generation methods on the Blocksworld domain

总之,这篇论文主张大型语言模型(LLMs)自身无法执行复杂的规划任务,但可以在LLM-Modulo框架内,与外部基于模型的验证器相结合,发挥辅助规划的作用,通过这种神经符号集成方法,提高规划和推理任务的灵活性和表达力。

这篇关于LLMs Can’t Plan, But Can Help Planning in LLM-Modulo Frameworks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025639

相关文章

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

LLM系列 | 38:解读阿里开源语音多模态模型Qwen2-Audio

引言 模型概述 模型架构 训练方法 性能评估 实战演示 总结 引言 金山挂月窥禅径,沙鸟听经恋法门。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖铁观音的小男孩,今天这篇小作文主要是介绍阿里巴巴的语音多模态大模型Qwen2-Audio。近日,阿里巴巴Qwen团队发布了最新的大规模音频-语言模型Qwen2-Audio及其技术报告。该模型在音频理解和多模态交互

[论文笔记]QLoRA: Efficient Finetuning of Quantized LLMs

引言 今天带来LoRA的量化版论文笔记——QLoRA: Efficient Finetuning of Quantized LLMs 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 我们提出了QLoRA,一种高效的微调方法,它在减少内存使用的同时,能够在单个48GB GPU上对65B参数的模型进行微调,同时保持16位微调任务的完整性能。QLoRA通过一个冻结的4位量化预

LLM应用实战: 产业治理多标签分类

数据介绍 标签体系 产业治理方面的标签体系共计200+个,每个标签共有4个层级,且第3、4层级有标签含义的概括信息。 原始数据 企业官网介绍数据,包括基本介绍、主要产品等 企业专利数据,包括专利名称和专利摘要信息,且专利的数据量大。 LLM选型 经调研,采用Qwen2-72B-Instruct-GPTQ-Int4量化版本,占用显存更少,且效果与非量化相当,

Study Plan For Algorithms - Part24

1. 包含min函数的栈 定义栈的数据结构,要求在该类型中实现一个 min 函数,能够获取栈的最小元素。在该栈中,调用 min、push 以及 pop 函数的时间复杂度均为 O (1)。 方法: class MinStack:def __init__(self):self.stack = []self.min_stack = [float('inf')]def push(self, x):sel

LLM大模型教程:langchain 教程

软件安装 pip install pymupdfpip install langchainpip install langchain-cliconda install -c pytorch -c nvidia faiss-gpu=1.7.4 mkl=2021 blas=1.0=mkl 由于langchain不支持qwen模型,我们需要自定义模型 from typing import A

LLM模型:代码讲解Transformer运行原理

视频讲解、获取源码:LLM模型:代码讲解Transformer运行原理(1)_哔哩哔哩_bilibili 1 训练保存模型文件 2 模型推理 3 推理代码 import torchimport tiktokenfrom wutenglan_model import WutenglanModelimport pyttsx3# 设置设备为CUDA(如果可用),否则使用CPU#

[论文笔记] LLM大模型剪枝篇——2、剪枝总体方案

https://github.com/sramshetty/ShortGPT/tree/main My剪枝方案(暂定):         剪枝目标:1.5B —> 100~600M         剪枝方法:                 层粒度剪枝                 1、基于BI分数选择P%的冗余层,P=60~80                 2、对前N%冗余层,

HDU 1712 ACboy needs your help (分组背包)

OJ题目:click here~~ 题意分析:分组背包入门题。N个课程,最多可使用M天的时间。给出i课程用j天所获得的profit 。 求最多使用M天的最大profit。对课程i ,1--M天的profit 只能选一个,或者不选。也就是说有的课程不上也没有关系。明显的分组背包。 AC_CODE int x[101][101];int main(){int n , m;while(c