LLM 已经存在了好几年了,并且正在迅速向人工智能代理和代理工作流程发展。别误会我的意思。 LLM很棒,但在自动化方面仍然效率不高。将LLM 与其他工具相结合是消耗大量语言数据并利用LLM 所具有的通用智能的非常有效的方法。 LLM最大的问题是它容易到处迷失(幻想和自相矛盾),你永远不知道LLM或代理什么时候会失败。几乎没有什么护栏可以避免这些障碍,但我们还没有最大限度地发挥法学硕士的一般情报能力。
LLM 已经存在了好几年了,并且正在迅速向人工智能代理和代理工作流程发展。别误会我的意思。 LLM很棒,但在自动化方面仍然效率不高。将LLM 与其他工具相结合是消耗大量语言数据并利用LLM 所具有的通用智能的非常有效的方法。 LLM最大的问题是它容易到处迷失(幻想和自相矛盾),你永远不知道LLM或代理什么时候会失败。几乎没有什么护栏可以避免这些障碍,但我们还没有最大限度地发挥法学硕士的一般情报能力。
因此,在今天的博客中,我们将讨论LLM 的未来,如何从RAG 管道转向代理,以及创建基于LLM 的可执行AI 的挑战(工具使用、内存、规划)。代理人?最后,我们研究了不同类型的代理以及AI 代理和RAG 的未来。
GPT 的DALLE-2 生成的图像
从RAG到Agent RAG是一种半参数类型的系统,其中参数部分是大语言模型,其余部分是非参数部分。当您将所有不同的部分放在一起时,您就拥有了一个半参数系统。 LLM 将所有信息存储在其权重或参数(以编码形式)中,但系统的其余部分没有定义此知识的参数。
但为什么这样就能解决问题呢?
通过交换索引(LLM 特定信息)可以进行定制。这意味着它是面向未来的并且索引中的内容可以更改。
使用这些索引来奠定法学硕士的基础意味着减少通过归因来引用和归因的错觉。
因此,原则上,RAG 可以帮助LLM 更好地融入情境,使其能够表现良好。
RAG 管道(Img Src)
“代理”是一个自动推理和决策引擎。它可以接受用户输入/查询并做出内部决策来执行该查询,以便返回正确的结果。关键代理组件包括但不限于:
将复杂的问题分解为更小的问题
选择要使用的外部工具并指定调用该工具的参数
计划一系列任务
将之前完成的任务存储在内存模块中
AI 代理概述
代理有许多不同类型,从简单代理到非常复杂的代理。我们设计这些代理来根据任务的复杂性自主决定可用的工具。 Devin AI是最近闹得沸沸扬扬的AI代理之一。下图显示了不同类型的代理及其复杂程度。
按复杂程度比较代理(Img Src)
代理系统概述在LLM 驱动的自主代理系统中,LLM 充当代理的大脑,利用各种组件在数字世界中发挥作用。
如何使用该工具
代理学习如何调用外部API 或工具来获取模型权重中可能缺少的附加信息/上下文或特征(在预训练后通常很难更改)。这包括最新信息、数学引擎、代码执行功能、对独特信息源的访问等等。
记忆
短期记忆:情境学习(参见线索工程)可以被认为是利用模型的短期记忆来处理特定问题。上下文长度窗口可以被认为是短期记忆。
长期记忆:通常通过利用外部向量存储和快速检索,为代理提供长时间(无限期)保留和回忆信息的能力。 RAG 的检索部分可以被认为是长期记忆。
计划
子目标和任务分解:代理将较大的任务分解为更小、更易于管理的子目标,使它们能够有效地处理复杂的任务。
反思和改进:代理可以自我批评和反思过去的行为(尽管在某些方面存在问题),从错误中学习,并改进未来的步骤以改善最终结果。
使用LLM 的自治代理系统(Img Src) 概述
人工智能代理如何使用工具使用工具的能力在很多方面将人类与其他生物区分开来。我们创造、修改和利用外部物体来扩展我们的身体和认知能力。同样,为法学硕士配备外部工具可以极大地扩展其能力。
在AI代理配置中,工具对应的是允许LLM代理与外部环境(Google搜索、代码解释器、数学引擎等)交互的一组工具。该工具还可以是某种形式的数据库、知识库或外部模型。当代理与外部工具交互时,他们通过工作流执行任务,这些工作流帮助他们获取他们观察到的上下文或完成特定子任务所需的上下文,并最终完成整个任务。
以下是法学硕士如何以不同方式利用该工具的一些示例。
MRKL(模块化推理、知识和语言)是一个将法学硕士与法学硕士或符号(计算器或天气API)的专家模块相结合的框架。
HuggingGPT – 一种LLM 驱动的代理,利用LLM 作为任务规划器,并连接各种现有的AI 模型(基于其描述)来解决AI 任务。
使用工具拥抱GPT (Img Src)
如上图所示,整个HuggingGPT流程可以分为原文中提到的四个阶段。
任务规划:使用ChatGPT 分析用户请求,了解他们的意图,并将其分解为可解决的任务。
模型选择:为了解决计划任务,ChatGPT 根据模型描述选择托管在Hugging Face 上的专家模型。
执行任务:调用并运行每个选定的模型并将结果返回给ChatGPT。
生成响应:最后,我们利用ChatGPT 集成所有模型的预测并向用户生成响应。
请仔细阅读下图,了解HuggingGPT 在实际示例中的工作原理。
在真实案例中拥抱GPT (Img Src)
ChatGPT 插件和OpenAI API 函数调用是LLM 如何真正增强工具使用的绝佳示例。工具API 的集合可以由其他开发人员提供(例如插件),也可以由您自己定义(例如函数调用)。
解决代理工作流程中的内存问题内存可以定义为用于检索、存储、保留以及稍后检索信息的资源或存储。每个计算系统都有多种类型的内存。
缓冲存储器(感觉存储器):正如感觉存储器在短时间内保存感觉信息(任务完成后就会消失)一样,计算机系统中的缓冲存储器可以保存临时数据,例如一组指令。对于LLM,这可以是令牌缓冲区或输入队列。
工作记忆(短期记忆,STM):法学硕士在处理文本时使用类似于人类工作记忆的机制。他们使用注意力机制来保持对输入的特定部分的“关注”。在GPT 等基于Transformer 的模型中,注意力权重具有与STM 类似的功能,允许同时保存和处理多条信息。法学硕士的工作记忆是其上下文长度。
参数记忆(长期记忆,LTM):LLM的参数(或权重)可以被认为是一种长期记忆。训练后,这些参数会对从训练数据中收集的大量信息进行编码,并且可以无限期保留。
显式/陈述性记忆 在法学硕士中,陈述性记忆相当于用于根据学到的事实和概念生成响应的权重。这些可以被访问并用于生成与模型在训练期间“记住”的知识相关的显式输出。例如,埃隆·马斯克(Elon Musk)是特斯拉车主,但这是存储在模型重量中的特定内容。
内隐/程序记忆 更广泛的记忆系统,通过对各种任务的重复练习(训练)来捕获抽象或概念而不是直接事实。例如,什么是美?这个问题没有具体的答案,但是系统可以回答。
在LLM中,“记忆”并不是存储为离散事件,而是被表示为互连节点网络中的模式(一个抽象但不完整的世界模型),而该模型是通过动态生成响应来“调用”信息的。状态。
外部记忆可以解决注意力有限的问题。标准方法是将嵌入向量(文本转换为密集向量)存储在可以支持快速最大内积搜索(MIPS)的向量存储数据库中。为了优化采集速度,常见的选择是近似最近邻(ANN) 算法,该算法返回大约前k 个最近邻。这牺牲了一点准确性来换取显着的加速。
用于此搜索的一些算法:LSH、ANNOY、HNSW、FAISS 和ScaNN。
所有这些方法(LSH、ANNOY、HNSW、FAISS 和ScaNN)背后的一般原理是有效地近似高维空间中的最近邻搜索。这些方法旨在通过使用以允许更快搜索的方式对相似数据点进行分组的策略来克服精确搜索的计算复杂性。
规划:当前人工智能代理的最大问题是,它们可能会进行大量调用来回答一个简单的问题,为向LLM 发出的每个查询累积代币。这不仅成本高昂,而且还会造成延误。令牌生成仍然是一个相对较慢的过程,基于LLM 的应用程序中的大部分(如果不是全部)延迟来自输出令牌生成。反复调用LLM提交想法/观察结果最终会产生大量输出代币(成本),导致高延迟(用户体验差)。
下图显示了一个示例。为了获得正确的答案或操作,LLM 发出多个请求,由于代理工作流程以树和图的形式存在的固有结构,这通常会导致严重的延迟。
此类论文已经有很多了,比如思想链、思想树、思想算法等。
不同类型的提示技巧(Img Src)
这些高级提示策略中最新的就是思维算法。这篇新论文背后的想法与思想树论文相同,但主要区别在于上下文的保存方式。虽然Tree of Ideas 使用基于树的数据结构,但这里我们使用基于图的结构,这使我们能够比使用简单的BFS 或DFS 更好地导航所有知识图。
另一个优点是,Thought 算法使用较少的LLM 提示来实现类似的结果。这些提示策略背后的整个想法是用最少的LLM 调用获得最大的上下文。
阅读一些关于所有这些不同策略的精彩博客:用LLM 和PromptBreeder 进行自我反思。
人工智能代理的另一个问题是法学硕士是不确定的。虽然这有利于产生想法,但在需要可预测性的情况下却会带来严重的问题。例如,如果您正在为Postgres 查询编写一个由LLM 支持的聊天应用程序(Text2SQL),则需要高可预测性。
反思上述规划模块不包含反馈,这使得实现长期规划变得非常困难,而长期规划是必要的,尤其是在解决复杂任务时。为了应对这一挑战,您可以创建一个流程,根据过去的行动和观察来迭代和完善您的执行计划。目标是纠正和改进过去的错误并提高最终结果的质量。这在复杂的现实环境和任务中尤其重要,其中试错是完成任务的关键。
反应
ReAct 结合了推理和行动,旨在使法学硕士能够通过一系列“思考-行动-观察”步骤(重复N 次)的交错来解决复杂的任务。 ReAct 提示LLM 生成任务的语言推理轨迹和操作。这允许系统执行动态推理来创建、维护和调整行动计划,同时还与外部环境(例如维基百科)交互以将其他信息合并到推理中。
图片来源
下图显示了ReAct 的示例以及执行问答所需的各个步骤。
ReAct 的工作原理(Img Src)
反射
它是一个为智能体提供动态记忆和自省能力以提高其推理能力的框架。 Reflexion 有一个标准的RL 设置,其中奖励模型提供简单的二元奖励,而动作空间遵循ReAct 设置,其中特定于任务的动作空间通过语言进行扩展以实现复杂的推理步骤。每次操作后,代理都会计算启发式ht,并在必要时决定重置环境以根据内省结果开始新的试验。
反射框架图(Img Src)。
启发式函数确定轨迹何时效率低下或包含错觉并需要停止。低效的计划是指耗时太长且无法提供成功轨迹的计划。幻觉被定义为连续遭遇一系列相同的动作,从而导致对环境的相同观察。
还有两篇关于创造更好的自我反思性的有趣论文。事后诸葛亮(CoH;Liu 等人,2023)和算法蒸馏(AD;Laskin 等人,2023)。
在CoH 中,模特们被要求通过回顾过去的工作、对其进行评估并附上关于下次如何做得更好的注释来提高自己。该模型的实践方式是尝试生成新的输出,这些输出使用独特的试验和反馈的历史来获得更好的评估。历史的某些部分在训练过程中被隐藏,以防止模型仅仅记住答案。
AD 将类似的想法应用于机器人或代理的学习任务,例如视频游戏中的RL 代理。代理会审查过去几次尝试的表现,并尝试找出改进模式。然后,它预测下一步应该比前一步更好,并学习使其更好的策略,而不仅仅是解决特定问题。
AD 专注于从智能体与其自身环境交互的历史中学习的想法。智能体试图通过检查一组过去的行动及其结果,将成功的策略提炼为政策。
结论LLM 代理仍处于起步阶段,在构建时仍存在许多挑战和限制。例如,基于法学硕士的代理必须调整其角色以有效地完成域内的任务,能够进行长期规划,并且必须具有高度的通用性。人类的一致性、可靠性、知识的局限性等。
本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/583588.html