读懂Agent,大模型的下一站;万物皆Agent,更轻、更宽的下一个风口
原创
2023-10-22 10:23:39
·
谈数字化
·
家贵
为了写本文,捡起来从浙大研究生毕业后十多年就没有读过的论文(文末有链接),希望各位看完本文之后,不需要读第二篇文章就对大模型之后最火的Agent有一个全面深入的了解。一、Agent的市场格局我们都知道
为了写本文,捡起来从浙大研究生毕业后十多年就没有读过的论文(文末有链接),希望各位看完本文之后,不需要读第二篇文章就对大模型之后最火的Agent有一个全面深入的了解。
我们都知道,预训练通用大模型最重,行业大模型略轻,但需要大量数据,需要“家里有数”。其中,Agent最轻,Agent就是所谓基于场景的大模型应用的主要承载形式。预训练的消耗的卡越来越多,最近有朋友询问我如何买到800台H800,发现全行业缺货,根本就买不到,美国卡脖子卡的越来越精准细致,市场充满了GPU饥渴症,因此也只有互联网科技公司,大模型创业公司,有创新能力的甲方公司,老牌IT服务厂商这些tier1万家里有矿的大玩家才可能玩得起通用大模型。玩家估计量级数十家。家里有数,但家里没有多少矿的玩家至少打一个数量级,因为微调需要的GPU大幅的少于预训练的卡,这个时候家里的数又是核心竞争力的时候,那么微调行业大模型就是一个很有利的选择,我们预计量级在数百家。预训练、微调和推理对GPU的消耗占比是由多个因素决定的,包括但不限于模型的大小、数据集的大小、优化器的选择和批次的大小等。下面是一些一般的观察:预训练:这是最消耗GPU资源的步骤,特别是当使用大型数据集和模型时。预训练一个大型模型可能需要数周或数月的时间,在这期间,GPU会一直处于高负载状态。因此,预训练通常会占据大部分的GPU资源。微调:与预训练相比,微调通常使用的数据集规模较小(例如,特定任务的数据),并且由于模型已经预训练过,微调的迭代次数也较少。因此,微调的GPU消耗会比预训练少,但仍然会占用相当的资源。推理:相对于预训练和微调,推理的GPU消耗通常较低。尽管大型模型的前向传播仍然需要大量的计算,但由于不涉及反向传播和权重更新,所需的计算量要少得多。一般而言,如果我们把整个深度学习工作流程的GPU消耗分为100%,那么一个大致的估计可能是:如果家里没有矿,也没有数的时候,这个时候搞Agent可能就是唯一的选择,但因为是轻量级,核心是对用户和场景要有深刻理解,本质是一种新的应用形态,是一种应用2.0。这是屌丝逆袭的主战场,所以预计玩家在数千家,甚至更多。市场上目前有图有真相的有三家做了归纳,但核心都是感知、认知和行动,模仿人的能力进行分类。2.1 OpenAI Lilian归纳的AgentLilian的这篇文章实际上掀起了Agent的高潮,文章探讨了以大型语言模型(LLM)为核心的自主代理的构建概念。主要分为三大组件:计划、记忆和工具使用。计划部分强调了任务分解和自我反思的重要性,以及通过特定技术如“思维链”和“思维树”来处理复杂任务。记忆部分讨论了短期和长期记忆的应用,而工具使用部分则关注了代理如何通过调用外部API来获取额外信息。文章还提供了一些LLM在处理复杂任务和自我反思中的具体应用示例,如ReAct和Reflexion框架的介绍,显示了LLM在实现自主代理方面的潜力。复旦这篇文章是关于基于大型语言模型(LLM)的自主代理的综述,主要探讨了自主代理的构建、应用和评估三个方面。文中提出了一个统一框架,包括代理属性的描述模块、历史信息存储模块、未来动作策略模块和计划决策执行模块。通过禁用一个或多个模块,可以将大多数先前的研究视为该框架的特定示例。文章还概述了自主代理的潜在应用,包括如何增强社会科学、自然科学和工程领域,以及讨论了评估自主代理的方法,包括主观和客观策略。最后,识别了该领域的一些挑战和未来的发展方向1。该文章认为Agnet代理被视为人工通用智能(AGI)的潜在火花,为构建通用AI代理提供了希望。作者在文章中对LLM为基础的代理进行了全面的调查。认为人类长期以来一直追求相当于或超越人类水平的人工智能。AI代理是能够感知其环境、做出决策并采取行动的人工实体。虽然已经做出了许多努力来开发智能代理,但这些主要集中在算法或训练策略的进步上,以增强特定任务的特定能力或性能。LLMs因其展示出的多功能性而被认为是AGI的潜在火花。许多研究者已经利用LLMs作为基础来构建AI代理,并取得了显著的进展。作者提出了一个基于LLM的代理的通用框架,该框架包括三个主要组件:大脑、感知和行动,该框架可以针对不同的应用进行定制。文章还探讨了LLM为基础的代理在三个方面的广泛应用:单代理场景、多代理场景和混合场景。这篇文章讲的是自主代理(Autonomous agents)长期以来一直是学术界和工业界的重要研究焦点。先前在这一领域的研究通常集中于在孤立的环境中训练知识有限的代理,这与人类的学习过程有很大的不同,因此使得代理难以实现类似人类的决策。但近年来,通过获取大量的网络知识,大型语言模型(LLMs)在实现人类级智能方面展现出了显著的潜力。这引发了对基于LLM的自主代理研究的热潮。在这篇文章中,作者对这些研究进行了全面的综述。Agent是一个能够感知其环境并在一段时间内对其采取行动以实现自身目标的系统。它是AI和机器学习领域的基石,旨在通过自我指导的计划和指令来完成任务。Agent的概念不仅仅是实现人工通用智能(AGI)的有希望的路径,还代表了未来智能系统的发展方向。传统上,Agent 的策略函数通过启发式方法设计,随后通过与环境的互动得以优化。但这些函数往往难以达到人类水平的效能,特别是在开放领域的情境中。近年来,大型语言模型(LLMs)作为核心控制器的 Agent 受到了广泛关注,因为它们展现出了实现人类智能的潜力1。Agent的基本思想是,通过在一定的环境中感知、思考和行动,来实现特定的目标。随着技术的进步,Agent的设计和实现也在不断地演变,从最初的基于规则的系统,到现在的基于大型语言模型(LLMs)的自主智能体。接下来融合三家之言,深入剖析Agent的核心组件。组合分析,可以发现人大的是最细的,一个基于大型语言模型的自主Agent通常包括四个主要组件:配置模块、记忆模块、计划模块和行动模块。其中配置和计划模块,类似于复旦归纳的Brain模块,或者LLM模块。配置模块(profile):主要确定了Agent的角色,比如编码员、教师和领域专家等,同时也影响了其它模块的行为。记忆模块(Memory):使Agent能够回想起过去的行为,并从中学习,以改进未来的行为。计划模块(planning):帮助Agent为未来制定策略,通过分析可能的行动及其结果来选择最佳的行动路径。行动模块(Action):负责执行这些计划,将Agent的决策转化为具体的行动,从而影响其所处的环。这四个组件的协同工作使得Agent能够自主地、有效地完成各种复杂任务。三、Embedding和知识库嵌入是否算作AgentEmbedding算不算Agent的初级形态?Embedding和知识库嵌入作为数据处理和构建机器学习模型的重要工具,在处理大量数据时展现出了巨大的价值。然而,它们本身是否具备Agent的属性,以及它们在Agent系统中的角色,是值得探讨的话题。Embedding和知识库嵌入作为数据处理和构建机器学习模型的重要工具,它们在处理大量数据时展现出了巨大的价值。然而,它们本身不具备Agent的主动性和决策制定能力。虽然它们通常被视为数据处理和信息检索的工具而非Agent,但在某些情况下,它们可以被整合到Agent系统中,作为支持Agent理解和处理信息的重要组件。Embedding,也称为嵌入,是一种将高维空间的数据映射到低维空间的技术。通过这种方式,可以减少数据的维度,同时保留原始数据中的某种结构或关系。在自然语言处理(NLP)领域,词嵌入(Word Embedding)是一种常见的技术,它能够将词汇映射到一个连续的向量空间中,从而为机器学习模型提供了高质量的输入。知识库嵌入是另一种重要的数据表示技术。通过知识库嵌入,可以将结构化的知识库中的实体和关系映射到低维的向量空间中。这种映射能够保留知识库中的语义信息,为后续的机器学习任务提供了有用的特征。3.4 Embedding和知识库嵌入与Agent的关系从本质上讲,Embedding和知识库嵌入是数据处理和表示的工具,它们缺乏Agent所具有的主动性和决策制定能力。它们是被动的数据处理工具,而不是能够在环境中自主行动以实现特定目标的系统。然而,在某些情况下,Embedding和知识库嵌入可以被整合到Agent系统中。例如,它们可以作为Agent的感知模块的一部分,帮助Agent理解和解释环境中的数据。通过嵌入技术,Agent可以将复杂的、高维的环境数据转化为更易于处理和分析的低维表示。同时,知识库嵌入可以为Agent提供丰富的背景知识,帮助Agent做出更为合理和准确的决策。3.5 Embedding在Agent系统中的应用展望随着嵌入技术和知识库嵌入技术的不断进步,它们在Agent系统中的应用也会愈加广泛。未来的Agent系统可能会整合更为先进的嵌入技术,以实现更高效的数据处理和更准确的决策。通过将Embedding和知识库嵌入技术与Agent技术相结合,我们有望构建出更为智能、更为自主的AI系统。总的来说,虽然Embedding和知识库嵌入本身不是Agent,但它们可以成为构建高效Agent系统的重要组件。通过理解和利用这些技术,我们可以为构建更为先进的Agent系统打下坚实的基础,推动人工智能技术向前发展。GPT-4及其插件通过利用大型语言模型的能力,展现出了作为Agent系统核心组件的潜力。GPT4的插件能够扩展GPT-4的功能,使其能够更好地理解任务、制定计划,并执行具体的行动。这使得GPT-4的插件在某种程度上符合Agent的定义,特别是当它们被用于自主地完成任务时。GPT-4的插件系统是一个开放的架构,允许开发者为GPT-4创建并集成自定义的插件。通过插件,GPT-4能够获得额外的功能和信息,从而更好地理解和执行特定的任务。例如,通过连接外部数据库或API,GPT-4可以获取更为准确和丰富的信息,从而做出更为合理和准确的决策。Agent的核心理念是能够感知环境、制定计划并执行行动以实现特定的目标。在这方面,GPT-4的插件具备了Agent所需的一些关键特性。首先,通过插件,GPT-4能够感知和理解更为复杂的环境和任务需求。其次,插件可以增强GPT-4的计划和决策制定能力,使其能够制定出更为合理和有效的行动计划。最后,通过与外部系统的交互,插件可以使GPT-4能够执行具体的行动,从而影响其所处的环境。通过插件系统,GPT-4能够在一定程度上实现自主性。插件可以使GPT-4能够根据环境的变化和任务的需求自动调整其行为和策略。例如,通过连接不同的外部资源和服务,GPT-4可以在面对不同任务时自动选择最合适的资源和策略,从而实现更高级别的自主性和适应性。GPT-4及其插件的组合为开发自主Agent系统提供了新的可能性。通过集成各种功能丰富的插件,GPT-4不仅可以处理复杂的自然语言处理任务,还可以在更为广泛的领域发挥作用,如自动编程、智能客服、智能教育等。这种模型与插件的组合模式为构建未来的自主Agent系统提供了有益的参考。GPT-4及其插件系统在将自主Agent系统的理念付诸实践方面展现出了巨大的潜力。通过继续探索和优化插件系统,我们有望构建出更为强大、更为智能的自主Agent系统,为人工智能领域的未来发展打开新的可能。同时,插件系统也为开发者和研究者提供了一个开放和灵活的平台,使得人们能够更为轻松地探索和实现自主Agent的各种可能。5.1 结论:代码解释器不算Agent,但算其中一部分在探讨代码解释器是否能够被视为一个Agent之前,理解代码解释器和Agent的基本定义及其核心差异是至关重要的。代码解释器是为了将人类编写的代码转换为机器可以理解并执行的指令而设计的,而Agent则是一个能够感知其环境并在一定程度上自主做出决策的系统。所以可以说代码解释器不是Agent,但可以算是其中一个执行模块。代码解释器的主要任务是解释和执行代码。它按照代码中的明确指令执行操作,没有自主决策的能力。解释器的执行行为完全取决于它所解释和执行的代码的内容。在这个层面上,代码解释器是一个纯粹的执行者,它不能根据外部环境的变化或者内部状态的变化做出任何决策。与代码解释器不同,Agent具有一定程度的自主性和学习能力。它可以感知外部环境,根据环境的变化和自身的经验做出决策。更进一步的,一些高级的Agent甚至能够通过学习来改进自身的决策策略,以在未来做出更好的决策。代码解释器的主要局限性在于它缺乏自主性和学习能力。它不能适应环境的变化,也不能从过去的经验中学习。所有的决策都必须由人类编写在代码中,解释器只是负责执行这些决策。这种缺乏自主性和学习能力使得代码解释器很难被视为一个真正意义上的Agent。然而,随着技术的进步,将代码解释器和Agent的概念结合也不是不可能。通过为代码解释器增加一些自主决策和学习的能力,我们可能能够创建出具有一定自主性的代码解释器。例如,我们可以设计一种智能的代码解释器,它能够根据代码的执行结果和外部环境的变化自动调整代码的执行策略。综上所述,传统意义上的代码解释器由于缺乏自主性和学习能力,通常不被视为真正意义上的Agent。但随着技术的不断进步,通过增加自主决策和学习能力,代码解释器与Agent之间的界限可能会变得更为模糊。在未来,我们可能会见证到拥有一定自主性和学习能力的代码解释器的诞生,它们将在自动代码生成、代码优化和其他相关领域发挥重要作用。六、未来的世界:万物皆Agent,多Agent的社会有什么特征?未来万物皆Agent,Agent比人类的总数可能还多。在Agent和Bot遍地走的社会,多个Agent需要相互协作,共同完成复杂的任务。多Agent协作机制不仅能够提高任务完成的效率,还能开拓更多的应用领域,挖掘Agent的深度,未来的多Agent系统的特征如下:在多Agent系统中,每个Agent都可以有其自身的专长和知识领域,通过相互协作,它们能够解决单个Agent难以解决的问题。例如,在紧急救援、智能交通和智慧城市等领域,多Agent系统能够通过协作,实现更高效、更精准的决策和执行。多Agent系统代表了一种分布式智能的模式,每个Agent都能在本地进行决策,而不依赖于中央控制。这种分布式的决策机制能够提高系统的鲁棒性和可扩展性,使得多Agent系统能够适应复杂、动态变化的环境。多Agent系统具有自组织和自适应的特性。在面对不断变化的环境和任务需求时,多Agent系统能够通过学习和协调,自动调整其行为和策略,以实现最优的性能。多Agent系统为机器之间的“社会化”交互提供了可能。Agent之间的交互模仿了人类社会的交互模式,通过竞争和合作,以及基于规则的交互,多Agent系统能够实现更为复杂和高效的协作。多Agent系统可能会成为实现智能社会的关键技术。多Agent系统将为人类社会的许多领域,如交通、健康医疗、教育和环境保护等,提供强大的支持,推动人工智能技术向更高层次发展。https://lilianweng.github.io/posts/2023-06-23-agent/ https://arxiv.org/pdf/2308.11432.pdfhttps://arxiv.org/pdf/2309.07864.pdf
请先 登录后发表评论 ~