就在前两天,我谈到了AI代理的概念,现在这个概念已经很流行了。我想分享一下我对AI代理技术的一些想法。由于技术水平有限,我们只能简单总结人工智能代理的概念发展和代表性技术,无法提供详细的解释。另外,我只能给你一个概述。品尝。
然后,就在最后两天,我们有一位专家进来了。
上海交通大学张卓生讲师为大规模模型代理带来了思想链(CoT)推理的深入回顾,涵盖了CoT的基本概念和原理、CoT背后的范式转变以及从CoT到大规模模型代理的推理。我详细解释了比例模型智能。许多前沿问题包括。听完了张博士的点评,我们再来谈谈AI智能体。我们赶紧上车吧!
论文题目:
点燃语言智能: 从思维链推理到语言智能体的搭车指南
论文链接:
https://arxiv.org/pdf/2311.11797.pdf
项目地址:
https://github.com/Zoeyao27/CoT-点火剂
与上次我基于论文以易于理解的方式介绍AI代理不同,这次我将从以下七个问题来解释CoT和AI代理的概念。
1.什么是CoT? 在介绍什么是思维链CoT之前,我们先来了解两个大概念。
首先,什么是“语言智能”?
语言智能可以理解为“使用基于自然语言的概念来‘理解’经验问题和‘推理’概念之间的能力”。
语言智能可以说是目前已知唯一拥有如此先进的抽象和理解能力的生物,是区分人类与动物作为“智能物种”的象征性能力之一。
随着参数数量的增加,基于Transformer 的大规模语言模型逐渐以“聊天”的形式展现出概念理解和概念推理能力。作为“语言模型”的大模型具有理解概念的能力,直观上并不困难,但和Word2vec一样,“国王”和“人类”之间的“距离”是我能得出的唯一结论。来到。对于语言智能来说,它更接近,但必然更远。
真正激发人们对接近“语言智能”的大型模型的无限想象的是大型模型所展现的概念推理能力。
推理一般是指根据某些已知前提得出新结论的过程。与理解不同,推理过程可以形成急需的“中间概念”。在解决复杂问题时。
它最早是在谷歌2023年发表的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中提出的。
通过将复杂问题分解为逐步的子问题并逐步参与顺序求解的过程,可以大大提高大型模型的性能。这个推理链中的中间步骤称为思维链。
与传统的提示直接从输入到输出映射输出不同,CoT完成从输入到思维链到输出,或者推理链——输出的映射。通过使用CoT分解提示,您可以更详细地观察CoT工作流程。
如图1所示,
带有CoT 的完整提示通常由三部分组成:说明(commands)、基本原理(rationale)和示例(exemplars)。指令通常用于描述问题并告知大型模型的输出格式。逻辑基础是指CoT中的中间推理过程,包括问题解决方案、中间推理步骤和外部知识。尽管与本例中的问题相关,但小样本方法为大型模型提供了输入输出对的基本形式。每个例子都包含一个问题、推理过程和答案。
根据是否包含示例,CoT可以分为Zero-Shot-CoT和Few-Shot-CoT。
上图中,Zero-Shot-CoT 没有添加任何示例,而是在“唤醒”大型模型的推理能力的说明中添加了“让我们一步一步思考”的经典台词。 Few-Shot-Cot 在示例中详细介绍了“解决问题的步骤”,让模型可以模仿猫或画老虎来获得推理能力。
2. 为什么使用CoT?自推出以来,无数研究验证了其功能。使用CoT的好处可以概括为四点:
增强大型模型的推理能力
:CoT通过将复杂问题分解为多步子问题,极大增强了大型模型的推理能力,让大型模型能够忽略问题求解的“关键细节”,消耗更少的计算资源,最大限度地减少不断使用的现象。指定解决问题的“核心步骤”。
提高大型模型的可解释性
:CoT 允许大型模型显示“问题创建过程”,而不是仅仅将问题输入大型模型并由大型模型输出答案,从而使您可以更好地确定大型模型在解决问题时的表现。同时,“问题步骤”的输出也为识别错误步骤提供了依据。
提高大型模型的可控性
:通过允许大模型一步一步地输出步骤,您可以通过这些步骤的呈现对解决大模型问题的过程产生重大影响,并且大模型可能变得不可控,您可以防止它变得完整。黑盒子。
提高大型模型的灵活性
:只需添加一个“Think Step-by-Step”即可在各种现有的大型模型上使用CoT方法。同时,通过CoT提供的大规模模型进行逐步思考的能力并不局限于“语言智能”。对于科学应用和构建人工智能代理很有用。
为了更直观地展示CoT给大规模模型功能带来的改进,作者在七个不同的推理任务数据集上进行了CoT效果的实验。
如下图所示,我们可以看到,与直接提示相比,CoT 在所有推理任务上都提供了显着的改进。
3.什么时候应该使用CoT?事实上,这仍然是一个悬而未决的问题,但在本文中,我们将从“工程”和“理论”的角度讨论CoT的一些适用场景。
首先,从工程角度来看,CoT的适用场景可以概括为三点:
他们使用大型模型(1),任务需要复杂的推理(2),并且增加参数数量并不能显着提高模型性能(3)。此外,现有的论文实验表明,CoT适合计算和编程等复杂推理任务,不太适合简单的单项选择和数组标记等任务,并且CoT适合小型任务,也表明它并不适合适合大规模任务。对于参数量(小于20B),使用小模型的CoT很可能会引入机器幻觉等问题。
从理论角度来看,斯坦福大学论文《Why think step-by-step reasoning emerges from the locality of experience》澄清了这一点。
如上图所示,当大型模型的训练数据显示局部变量簇时,CoT 会显示出良好的结果。变量的局部聚类主要是指训练数据中变量之间的强相互作用和相互影响。
此外,一些研究指出,当给予大型模型的示例彼此不相同时,它也有助于提高CoT 性能。同时,基本原理是否与问题相关以及逻辑推理中步骤的顺序也会显着影响CoT性能。另一个有趣的发现是,使用编码数据或使用符合CoT 格式的数据训练大型模型也有助于提高CoT 性能。总计:
CoT应该与参数大小大于20B的模型一起使用,并且模型的训练数据应该与任务问题相关并且相互之间有很强的联系。
4. CoT为何生效? 目前尚无普遍接受的理论解释CoT为何生效。然而,有很多论文对CoT与大规模模型之间的交互进行了一系列实验。以及物理实验和物理理论之间的关系,实验中的一些有趣的现象可以帮助我们理解CoT的工作原理。
如果模型尺寸较小,则可能会出现CoT 错误。
简单任务CoT 不会提高模型性能。
随着训练数据互连程度的增加,CoT 的性能也会提高。
示例中的错误或无效的推理步骤不会降低CoT 性能。
……
对这些现象进行总结和拓展,我们可以这样想。
首先,CoT需要大型模型的“最基本”知识。
,如果模型太小,较大的模型将无法理解最基本的“原子知识”,推理将无法进行。
其次,CoT 允许您在CoT 理解的一些基础知识之间建立桥梁。
,已知信息形成一条“链”,防止大模型沿途出现偏差。
最后,CoT 的作用可能是强制模型进行推理,而不是教它如何完成推理。
虽然大型模型在预训练完成后已经具有推理能力,但CoT 会对模型进行标准化,以便您只需向模型指定输出格式,模型就会随着时间的推移产生答案。
5、CoT 正在向什么方向演化? CoT 推出已经过去一年多了,CoT 已经从最简单的“一步步思考”开始逐渐演化。这篇论文还对CoT If的发展方向和演进路径进行了非常全面的总结。应搜索有关CoT 的现有文献以获取图像。您可以从下图开始。
一般来说,开发CoT主要有3条路径:图中从左到右:提示模式、推理结构、应用场景。让我们从这三个主要发展方向开始总结主要论文。
提示模式首先,上图中最左侧有提示模式。
提示模式主要研究“向大规模模型输入什么样的提示,才能使大规模模型获得更好的推理能力?”
提示模式的研究也可以分为两类:指令生成和样本生成。
关于指令生成问题,可以分为手动指令生成和自动指令生成。显然,简单的“一步步思考”就属于手动指令生成模式。另一种手动指令生成模式是Plan-。 and-Solve。这种方法的主要思想是让模型创建一个计划,将任务分割成更小的子任务,然后让模型逐步执行该计划来解决问题。了解问题,制定解决问题的计划,并逐步实施该计划来解决问题。 ”
显然,手动指令生成无法适应复杂的现实情况,这就是自动指令生成应运而生的原因。两种流行的技术是自动提示工程(APE) 和提示优化(OPRO)。
如上图所示,APE和OPRO的中心思想是通过观察每个候选提示在真实任务上的表现来最大化性能分数,而大规模模型会自动选择最佳提示来设计。一个可以做到这一点的机制。
同样,样本生成也可以分为手动样本生成和自动样本生成。传统的Few-Shot-CoT是基于Few-Shot-CoT的典型手动样本生成方法,允许手动使用大型模型。生成的样本多次回答问题,并根据熵和方差等不确定性度量选择“最不确定”的问题。此外,ActivePrompt方法的创建是为了通过手动注释来增强样本生成,并成为样本生成方法中的一种方法。手动和自动样本生成之间。为了完全“自动化”样本生成,提出了Auto-CoT 技术。具体来说,Auto-CoT分为两个阶段: (1)对问题进行聚类,对任务数据集进行聚类(2)对样本进行采样:选择一个代表。例如,来自每个集群中心的问题使用Zero-Shot-CoT 生成思想链。
除了研究“什么样的提示可以带来更好的CoT功能”之外,许多研究者还关注CoT本身的结构问题,主要研究思路包括“CoT构建”、“推理聚合”、“CoT验证”、 ETC。
CoT结构主要将传统的线性和链式CoT转换为表、树和图格式。
,代表作品有非常著名的PoT、Tab-CoT、ToT、GoT-Rationale。下图清楚地显示了这四种方法之间的异同。
第一个是PoT。这里,P代表Programm。
PoT的概念也很简单。对于一些计算问题,大型模型可能在思维链中出现问题,大型模型可以用解释型编程语言运行,以将复杂的计算与文本生成分开。模型。
接下来是Tab-CoT。 Tab指的是表格。
在ToT中,研究人员让大规模模型在推理的每一步记录一个推理表“步数|子问题|过程结果”,大规模模型从推理过程中生成的表中提取答案。我来做。这增强了大型模型的推理能力。
还有,托特。 T指的是Tree,是思想之树。
,容易理解,我们将CoT的链式结构扩展为树形结构。 ToT 允许大型模型在解决子问题时生成多个不同的答案选择。这建立了一个树结构,允许大型模型前瞻性地确定其下一个决策,并追溯性地纠正过去的决策。
基于ToT的思想,将Tree扩展到Graph,形成GoT。 GoT系统的核心是“控制器”。控制器处理图操作(GoO),GoO用于对给定任务进行图分解,并将任务分解为互连的节点边。另一方面,GRS负责维护GoO生成的图上的大规模模型推理过程,并记录当前步骤的状态、决策历史等信息。
除了各种XoT之外,对于推理过程的“解码”问题也做了一些研究。其中,Self-consistency CoT是推理聚合方面的代表性工作。
自洽CoT 使用手动设计的提示来生成和采样一组不同的推理路径,然后使用“多数投票”在推理步骤中找到“最一致”的路径。该解码过程用于驱动原始贪婪解码。如何鼓励CoT 绩效。
最后,推理结构研究中还有另一种类型的CoT 验证。
CoT验证开始专注于让大型模型通过多轮问题进行“自我验证”,让大型模型通过来回重复的问题和答案来验证自己的答案。
随着CoT验证的发展,人们开始努力引入“外部工具”来验证CoT信息,例如信息检索、计算器和计算机程序。
CoT 验证最经典的任务是自我验证。即(1)对多个候选推理路径进行采样; (2)用大规模模型验证是否给出了问题的结论。满意,并根据验证分数对候选结论进行排序。
使用外部工具的CoT 验证计划的典型示例是CRITIC 框架。
CRITIC使得大型模型能够交互地引入外部工具来验证和修改自己的响应输出,从而允许大型模型输出、外部工具验证、验证结果反馈以及反馈CoT输出的可靠性,通过四个周期的修改来提高。 AuRoRA 将CRITIC 的理念进一步推向机制,现在可提供任务适应和流程自动化。 AuRoRA从多个来源提取相关知识,对不同来源的知识进行组合、检查和提炼,以提示CoT的准确性和逻辑性。
更有趣的是,在论文《Can large language models really improve by selfcritiquing their own plans》 中,作者提出了以下问题:
大规模模型真的能进行可靠的CoT验证吗?如果大规模模型自身的能力“无法解决验证结果反馈带来的问题”,那么大规模模型就会过度修正推理过程,纠正错误。正确答案可以直接跳过。
应用场景除了CoT本身的改变之外,还需要做大量的工作,将CoT“部署”到不同的应用场景,以提高大规模模型在不同场景下的功能。
,例如单语言CoT 到多语言CoT 的最简单扩展。这些应用场景包括从单模态扩展到多模态、从复杂推理任务扩展到通用推理任务。其中,多模态CoT具有巨大的应用潜力。在CoT中,多模态分为两类:输入多模态和输出多模态。
其中,MM-CoT是一种输入多模态研究,重点是通过在包括推理生成和答案推理的两阶段框架中集成语言和图像来使用微调技术。 -调整用于允许输入多模式CoT。基于MM-CoT 的GoT-Input 方法通过提取CoT 生成的思维导图来构造三元组,并使用GNN 集成文本、图像和CoT,创建包含CoT 信息的最终图像,生成答案。与输入多个模型不同,VCoT 递归地输入图像信息,使用生成图像“标题”并识别中心关注点作为图像生成的起始过程来输出多模态。
除了多模态CoT 之外,CoT 还应用于文本摘要(SumCoT)、开放域问答(Self-Prompting LLM)、机器翻译(MAPS)、化学(ChemCrow) 和医学(Med-PaLM) 等领域。马苏。 )这样的。
6. CoT 和AI 代理之间有什么关系?回想一下上一篇文章中代理的定义。
通过各种人工智能技术构建的代理实际上可以自主发现问题、确定目标、制定计划、选择计划、执行计划和检查更新,我们期望它是一种“自主智能实体”。基于大规模模型解决问题的“多功能性”和通过先验学习获得的“先天知识”,所构建的大规模模型代理可以被认为具有以下结构。
上面所示的大型模型代理由三个主要部分组成:代理本身、工具和环境。当人类指令输入到代理时,代理使用工具通过一系列计划、决策和控制与其外部环境进行交互。
显然,作为智能体主体的大规模模型是模拟人类智能决策过程的核心。
对于智能体需要处理的许多任务,智能体的“固有知识”并不包含对该任务的直接答案。因此,代理必须在一系列交互周期中计划、做出决策、执行操作并接收信息。外部环境……在整个规划、决策和控制周期中,大规模模型需要“识别”、“记忆”和“推理”能力。
如下图所示,CoT可以从这三个方面“赋能”代理商。
感知CoT 无论是来自环境的反馈还是人类的指令,智能体都会完成“理解”所接收到的信息的过程,基于这种理解进行意图识别,并将其转化为下一个需要执行的任务。使用CoT 对于帮助您的模型“了解”现有输入非常有帮助。例如,提示“Answer: 让我们一步步思考。我看到$$。我需要.”让模型逐步付款。再比如,在机器人控制场景中,智能体的决策必然是错误的,接收错误信息的反馈可以帮助智能体了解错误的原因。感知CoT应用于动态场景下多轮决策任务的关键特征,也增强了模型的自我修正能力。
此外,值得注意的是,与外部环境交互需要智能体具有处理多模态信息的能力。这种能力要求智能体本身是一个大规模的多模态模型,或者智能体具有以下能力:将其他模型信息翻译并理解为语言。
一个非常有趣的问题是:“大规模模型中的智能体是否只能进行以语言为中心的认知?”如上图所示,实际上存在大量研究不仅将大规模模型的编码扩展到以语言为中心的认知能力的其他模式。我们还开发了一种以图像为中心的感知方法和一种真正以多模态为中心的文本和图像融合的感知方法。然而,由于多模态信息带来的各种数据、计算和可扩展性问题,真正以多模态信息为中心的认知时代尚未到来。
记忆CoT 一般来说,大型模型代理通常具有短期和长期记忆能力。短期记忆通常是一种可以在多轮代理交互中灵活变化的时间信息(因此也称为工作记忆)。短期记忆为大型模型提供更直接的上下文信息支持。该模型是一个历史行动链。
相比于短时记忆的“动态”,长时记忆更多地记录了历史事件中的静态信息,是对历史知识更加宏观、抽象的理解。长期记忆可能取决于大型模型的可训练参数。还可以从外部管理的内存库构建构建。
人们正在研究树搜索和向量搜索方法,以随着序列长度的增加和线性内存链的效率降低而有效地添加、删除、修改和搜索“内存”。
其中,树搜索以树结构存储记忆信息,并允许代理重复访问文本的记忆信息。
例如,斯坦福大学的一篇25 人城镇论文中提出的反射树,允许代理在面临与环境的多次交互时定期提取历史信息以进行“反射”,您可以在从反射抽象获得的结果的基础上进行构建。形成一棵反射树。树的叶节点代表大模型每一轮的基本观察结果。另一方面,非叶节点离根节点越近,代表的抽象级别就越高。抽象级别。
另一种方法是向量搜索。
通过将复杂的数据类型建模为向量数据库,可以有效地存储和检索长期记忆。
,当智能体遇到新问题并需要“回忆”过去的记忆时,基于向量数据库的长期记忆系统会快速检索相关信息并确保智能体动作的一致性。
除了感知和记忆之外,CoT 还利用CoT 思想,让智能体分解任务、逐步计划和做出决策,从而使智能体在解决问题时更加可靠。 CoT 在智能体中的主要功能是将计划、行动和观察结合起来,以弥合推理和行动之间的差距。
显然,推理有助于模型制定处理异常情况的行动计划,但行动允许大型模型收集额外的信息以提高模型的性能,同时与外部环境交互将能够支持推理。
例如,AgentBench允许大型模型中的智能体通过“思考”+“行动”的步骤来完成任务,而行动链技术则引导智能体通过一系列历史行动和未来行动计划来做出决策支持并转化决策问题。进入CoT 推理。问题。
还,
工具的使用扩展了大型模型代理的能力。通过使用工具,大规模模型不再局限于“预测”下一步动作,而是现在能够“实际执行”该动作。
同时,你可以输出代码来操作机器,调用API来获取数据,并使用各种软件和计算工具来获取“知识”作为搜索。扩展大型模型可以有效地扩展大型模型。知识边界还为大型模型的“自我验证”提供了知识库。这不仅仅是使用工具,这就像写一本“教科书”。
一些研究还集中在“专门针对代理任务场景”的数据集上微调大规模模型,以获得更强大的代理。
7. CoT和AI智能体目前面临哪些挑战? CoT和AI智能体广泛应用于编程、科研、办公等领域,但作为一个新兴领域,CoT和AI智能体都面临着许多重要的挑战,包括:
未知领域的泛化能力
:AI代理本身的出现扩展了大规模模型解决更复杂和未知领域问题的能力,但由于缺乏与现实世界真正“具身”的交互,无论代理是否可以浏览。网络使用相同的。一套框架和工程工具是否可以控制无人机的编队仍然是一个悬而未决的问题。
Agent过度交互问题
:为了完成一项任务,智能体必须与环境进行许多复杂的多步骤交互,并且一些研究表明智能体可能会陷入持续交互的循环陷阱并变得毫无意义,这也表明它很可能会闲置。由于交互循环以及代理在解决问题时缺乏“效率”,存储结果日志和检索信息也带来了新的挑战。
个性化代理
:为每个人提供个人智能助理是一个好主意,但实现真正的个性化代理目前需要在个性化代理研究方面取得三项技术进步,从定制提示和微调开始。而从模型编辑开始,这些方法都有各自的问题,目前的研究主要集中在具体的问题背景上,目前还没有完整统一的解决方案。
多主体社会
:为了观察“社会行为的出现”,考虑如何增加大规模模型智能体的数量,形成多智能体社会,也是一个非常有趣的方向,但多智能体的计算开销为成为阻碍这个社会发展的重要问题。场地;
代理安全问题
:随着代理逐渐走进人们的日常生活,代理和CoT的安全问题必须提上日程,比如隐私泄露、权限滥用、有害信息等常见问题。另外,如果将智能体应用到现实社会中,而且现实世界缺乏真正的多模态反馈,例如,人类智能可以感受到“痛苦”。
,而 AI Agent 不会有这方面的信息输入,因此如何对完全不同质的两类主体进行“对齐”也将是关键问题;
Agent 的评价
:如何客观的评估一个 Agent 的能力也将是 AI Agent 发展带给我们的新问题,想想几年前 NLP 时代的数据集刷榜的评估方式,这种传统评价方式必然不适用于一个不断与外部环境打交道的 Agent。此外,一个做对了 99 步但生成答案错误的智能体可以本身能力要优于一个做错了 99 步但生成答案正确的智能体,因此 Agent 评价也呼唤除了评估执行任务的成功率以外的新指标、新方法。
最后,在这短短一年多的时间内,大家一起见证了大模型、CoT 以及 Agent 技术的飞速发展与其蓬勃的生命力,在工作爆发式增长的当下,一篇逻辑清晰,全面深入的综述相当难得。
当然作为针对前沿技术领域的讨论,论文中许多议题都尚无定论,也欢迎大家一起交流讨论~
本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/583569.html