专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
8099999街头巷尾  ·  微信牵手DeepSeek?有人趁虚而入,这种 ... ·  昨天  
8099999街头巷尾  ·  微信牵手DeepSeek?有人趁虚而入,这种 ... ·  昨天  
金色旋风  ·  AI代写剧本,100块起步,卖了300万! ·  昨天  
金色旋风  ·  AI代写剧本,100块起步,卖了300万! ·  昨天  
MiyueMedia  ·  1688overseas?在美区的TikTo ... ·  2 天前  
MiyueMedia  ·  1688overseas?在美区的TikTo ... ·  2 天前  
广东生态环境  ·  【行走美丽广东·生态篇】徜徉城央“绿心” ... ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

LLM即操作系统,智体即Apps:设想AIOS、智体和AIOS-智体生态系统

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-03-01 02:55

正文

23年12月Rutgers大学的论文“LLM as OS, Agents as Apps: Envisioning AIOS, Agents and the AIOS-Agent Ecosystem”。

本文设想了一个AIOS智体生态系统,其中大语言模型(LLM)充当(人工)智能操作系统(IOS,或AIOS)——一个“有灵魂”的操作系统。在此基础上,开发各种基于LLM的AI智体应用程序(Agents,简称AAP),丰富了AI操作系统智体生态系统,并标志着从传统的OS-APP生态系统的范式转变。设想LLM的影响将不仅限于人工智能应用层面,相反,它将反过来彻底改变计算机系统、体系结构、软件和编程语言的设计和实现,其特点是几个主要概念:LLM作为操作系统(系统级)、智体作为应用程序(应用级)、自然语言作为编程接口(用户级),以及工具即设备/库(硬件/中间件级别)。

本文首先介绍传统操作系统的体系结构和历史演变。然后,通过“LLM 当作OS(LLMOS)”形式化了AIOS的概念框架,在AIOS组件和传统操作系统元素之间进行了类比:LLM比作操作系统内核,上下文窗口比作内存,外部存储比作文件系统,硬件工具比作外围设备,软件工具比作编程库,用户提示比作用户命令。

随后,介绍了AIOS智体生态系统,用户和开发人员可以使用自然语言轻松地对智体应用程序(AAP)进行编程,民主化计算机软件的开发和访问,这与传统的OS-APP生态系统不同,在传统的OS-APP生态系统中,桌面或移动应用程序(APP)必须由训练有素的软件开发人员使用专业编程语言进行编程。

接下来探讨智体应用程序的不同范围。这些智体可以自主执行各种任务,在各种场景中展示智能任务解决能力。深入研究单智体系统、多智体系统以及人机交互。最后,假设AIOS 智体生态系统可以从传统OS-APP生态系统的发展轨迹中获得宝贵的见解。基于这些见解,提出AIOS智体生态系统进化的战略路线图。该路线图旨在指导未来的研究和开发,建议AIOS及其智体应用的系统进展。

如图所示是OS-APP生态系统 vs. AIOS-智体生态系统:

Windows、MacOS、iOS和Android等操作系统已成为数字生活的基石。 除了操作系统之外,还有各种各样的应用程序(APP),帮助用户完成各种各样的任务,丰富了OS-APP生态系统。 例如,Microsoft Word和Google Docs擅长起草文档,而Microsoft Outlook和Gmail则提供高效的电子邮件管理。

操作系统已经取得了显著进步,变得更加直观和用户友好,但它们的核心仍然植根于静态的规则和预定义的逻辑流,没有智能、创造性和紧急的任务解决能力。另一方面,构建在此类操作系统之上的应用程序也仅限于其设计目的,无法超越其各自的范围。每当单个应用程序需要融入智能能力时,它们都必须实现自己的人工智能方法或功能,有时是基于第三方的库。这个孤立的框架突显了当前OS-APP生态系统的严重不足,并强调了将(人工)智能注入操作系统的迫切需要,以便将智能原生地分发到其之上构建的各种应用程序。

大语言模型(LLM)由于其所展示的多功能和卓越的能力,被视为通用人工智能(AGI)的潜在火花,作为基础元素为AIOS的开发提供了希望。有几个原因证实了LLM构建AIOS的总体能力和可行性:

  • 首先,LLM表现出了非凡的语言理解能力以及解决复杂任务的推理/规划能力,可以将任务划分为几个子任务并逐一攻克,有时还需要外部工具的帮助。

  • 其次,LLM提供了一个高度灵活的平台,几乎可以处理任何以自然语言表达的提示、指令或查询,从而可以在其上构建各种软件开发工具包(SDK)和/或应用程序。

  • 第三,LLM提供了一个更直观、更用户友好的界面,可以理解并响应自然语言的用户提示或指令。这揭示了自然语言作为编程语言的未来,使技术更容易获得,尤其是对于那些可能不熟悉传统计算机界面和编程语言的人来说。

  • 第四,LLM可以编程实现从交互中学习,并根据用户偏好和过去的交互定制其响应,提供更个性化的体验。

因此,通过LLM将智能注入操作系统级别,可以轻松地将智能能力分配到应用程序级别,为在各种应用程序中实现智能民主化提供了一种很有前途的方法。

如下(a-b)两个图是操作系统(OS)和LLM当作OS(AIOS)的比较:LLM作为内核,上下文窗口作为内存,外部存储作为文件,工具作为设备/库,用户提示/指令作为用户界面(UI),智体作为应用程序。概念框架将LLMOS的各种组件映射到操作系统的元素。LLM本身被比作内核,内核是管理系统核心功能的核心部分。LLM的上下文窗口与操作系统的内存进行比较,处理即时上下文选择和数据处理。LLM的外部存储类似于操作系统的文件,允许长期数据存储。同时,有相应的数据检索方法可以实现检索增强LLM,它作为操作系统的文件系统来管理和查找相关文件。此外,LLM可以利用各种工具来解决任务,包括硬件工具和软件工具。LLMOS框架中的硬件工具等同于传统操作系统中的外围设备,每个工具都提供特定的功能来帮助与物理世界交互,而LLMOS框架的软件工具则充当传统操作系统的编程库,使智体应用程序能够与虚拟/数字世界交互。LLM的用户提示或指令类似于传统操作系统中的用户界面(UI),便于用户和系统之间的交互。用户提示或指令可以是用户提供的直接自然语言指令,也可以是(有时是半结构化的)从用户的非自然语言指令(如点击图标)转换而来的自然语言指令。这种映射提供了一种系统的方式来理解基于LLMOS的AIOS和传统OS之间的操作相似性。

(a)OS

(b)AIOS

如图所示是传统操作系统(OS)和LLM作为操作系统(LLMOS)的演变进行了比较。 这一比较突出了它们在增强功能和用户交互方面的并行进展。 最初,Atlas Supervisor等操作系统是为了管理CPU和DRAM等基本计算机资源而设计的。 这演变成了更复杂的版本,例如可以管理各种外围设备的UNIX。 类似地,LLM已经从文本输入-文本输出聊天机器人发展为复杂的基于LLM智体,能够管理用于复杂任务解决的各种工具,如OpenAGI所示。 该图还强调了ARPANET在TCP/IP协议开发中的关键作用,TCP/IP协议为今天的互联网奠定了基础,并连接了多台计算机进行相互通信。 与此并行的是基于LLM多智体系统的发展,在该系统中,智能体可以相互通信,这标志着一种朝着更加互联和协作的基于LLM计算环境趋势。 此外,操作系统的发展标志着复杂的图形用户界面(GUI)的发展,例如Windows和Apple Macintosh中的图形用户接口。 类似地,LLM正在发展为包括多模态接口,如GPT-4V(vision)所示。 这一比较强调了操作系统和LLM在革命性地改变用户与技术的交互方面的作用,从管理基本组件过渡到促进更直观、以用户为中心的体验。

在LLMOS组件和传统操作系统元素之间创建了相似之处,如表所示。 在这个类比中,LLM比作操作系统内核,上下文窗口比作内存,外部存储比作文件系统。 工具和用户提示分别等同于设备/库和用户界面。

LLM(作为AIOS内核)

内核是位于计算机操作系统核心的一组计算机程序,通常可以完全控制系统中的所有内容。当发出用户命令时,操作系统会解析该命令,并将其转换为一个或多个系统调用以进入内核,这是对内核执行进程创建、内存分配和文件操作等任务的精确请求。然后,它通过调度进程、分配必要的资源、与设备驱动程序交互以进行硬件访问以及实施安全措施来管理这些任务。在整个过程中,内核还处理错误检查并提供适当的反馈。完成后,内核确保将输出引导回用户,并清理所有资源以保持系统稳定性,从而有效地从用户那里抽象出复杂的硬件细节。

类似地,LLM充当操作核心,类似于操作系统内核,负责规划和分解用户请求,选择性地调用工具,执行检索,并集成之前步骤中的所有信息以生成最终响应。LLM通过首先解释输入以理解其上下文和意图,然后使用其内部参数来处理信息,将指令分解为可管理的子任务,来处理复杂的提示或指令。LLM为这些子任务生成响应,确保与原始指令的一致性和相关性。最后,它将这些内容合成为交付给用户的聚合输出。

推理和规划

在LLMOS中,LLM作为内核的作用微妙地呼应了计算机科学中Dining Philosophers问题中所示的动态,该场景突出了资源分配和同步的挑战。在这个问题上,坐在桌子旁的Philosophers必须以避免死锁的方式导航共享资源的使用——分流——这种情况下,由于相互阻塞而没有取得任何进展。反映这些挑战的是,操作系统中的内核善于管理和调度资源,以避免系统死锁,确保平稳无冲突的操作。内核在维护系统稳定性和效率方面的这一基本功能与LLM在AIOS框架中的作用相似。在这里,LLM负责导航复杂的信息环境和管理外部资源。LLM的作用至关重要的是其规划能力,包括制定一系列行动来实现特定目标。规划能力的核心是推理能力。通过推理,LLMOS将用户指令中的复杂任务分解为更易于管理的子任务,并为每个任务制定适当的规划。接下来,将探讨几个有代表性的规划策略,以说明这种能力。

  • 单路径规划。在这种策略中,最终任务被分解为几个中间步骤,这些步骤以级联的方式连接,每个步骤只导致一个后续步骤。例如,CoT(思维链)提示,作为最近LLM的著名功能之一,在提供有限的例子时,是执行复杂多步骤推理的关键突破。例如,通过为模型提供“思维链”,即推理范例,或简单提示“让我们一步一步思考”,这些模型能够用明确的推理步骤回答问题。ReAct(推理+行动)是一种基于提示的范式,用于在语言模型中协同推理和行动。它用自我思考(或思维)丰富了行动空间,通过在当前背景下进行推理来构成有用的信息,以支持未来的推理或行动。RAFA(Reason for Future,Act for Now)研究如何在与外部环境的最小互动次数内完成给定的任务。

  • 多路径规划。在这种策略中,生成最终规划的推理步骤被组织成树状或图形结构。这反映了人类决策的本质,个人在推理过程的每一步都会遇到一系列的选择。例如,CoT-SC(自洽CoT)使用CoT方法为复杂问题产生多个推理路径和答案,选择最频繁出现的答案作为最终输出。思维树(ToT)假设,人类为了规划目的对复杂问题做出决策时,倾向于以树状结构进行思考,其中每个树节点都是一种思维状态。它用LLM生成思维的评估或投票,可用广度优先搜索(BFS)或深度优先搜索(DFS)进行搜索。这些方法提高了LLM在复杂推理任务中的性能。DFSDT(Depth-first search-based decision tree)采用树结构,每个节点表示一种状态,包括指令上下文、先前的API调用和观察。该模型不仅可以基于API调用推理并移动到子节点,还可以回溯以探索替代路径,确保更多样化的搜索并防止累积错误。思维图(GoT)进一步将推理路径从树结构扩展到图结构,以灵活的图形式表示LLM产生的数据,以单个信息单元作为节点。

(Valmeckam2022)得出结论,“LLM在不给人类带来问题的常见规划/推理任务上仍远未达到可接受的性能。”同样,(Wei2022)也承认了这一局限性,注意“我们认为,尽管思维链模仿了人类推理者的思维过程,但这并不能回答神经网络是否真的在推理。”因此,仍需要社区做出广泛努力来提高大语言模型的推理和规划能力。

自我改进

正如内核更新由人工反馈驱动,专注于错误报告和性能问题,从而提高功能、安全性和稳定性,LLMOS也需要不断增强以提高其性能。这个过程有LLM从交互中学习,并根据用户体验和反馈完善其算法。通过这样做,LLM可以开发新的能力和技能,以适应不断变化的需求和期望。这种迭代的改进过程确保LLM在处理各种任务和查询时保持有效、相关和高效,反映了技术和用户需求的演变性质。在LLM经过预训练后,LLM的学习策略可以大致分为两种主要类型:

  • 从反馈中学习。LLM可以从有关其行为对环境的后果的反馈中学习。例如,Reflexion是一个通过语言任务反馈而不是更新权重来增强语言主体的框架,使他们能够从以前的失败中学习。类似地,递归批评和改进(RCI,Recursively Criticize and Improve)是一种提示方法,包括提示LLM识别其输出中的问题,然后根据识别的问题进行增强。此外,这些学习过程可以在强化学习(RL)的范式中进行构建。在这种情况下,LLM被训练来选择最大化奖励信号的动作,这与RL的原理相一致。例如(Ouyang2022)提出了从人类反馈中强化学习(RLHF),以使LLM与来自人类用户的反馈相一致;OpenAGI(Ge,2023)提出了从任务反馈中强化学习(RLTF),它从执行LLM生成的任务解决方案的性能中学习,微调LLM的规划策略。

  • 从样本中学习。最近,人们对微调LLM以在有监督的方式执行任务的兴趣激增。例如,ToolLLaMA是通过收集各种真实世界的API并为其实际使用生成指令来创建的,解决方案使用语言模型(如ChatGPT和高效的DFS决策树)进行注释。这个过程产生了一个指令-解决方案对的数据集,在该数据集上,像LLaMA这样的大语言模型被微调为根据指令执行API。此外,Gorilla通过从API文档中提取关键场并使用GPT-4创建指令-API对来进行训练,然后以对话形式使用指令-API配对来微调模型,如LLaMA,结合了同时检索器-觉察和非检索器两种训练方法。

上下文窗口(作为内存)

在LLMOS中,存储器的功能类似于LLM中的上下文窗口,定义了LLM在产生输出时可以利用和学习的信息范围。增加存储器的数量是可取的,但总是以高成本为代价。

在LLM的框架内,上下文窗口的扩展导致了计算需求的增加。这种升级归因于二次计算复杂性,这是这些模型中注意机制的特征。在训练阶段,一种广泛采用的策略是使用相对有限的上下文窗口进行初始的预训练阶段,随后使用扩展的上下文窗口来进行微调阶段,以避免与长上下文相关的过高成本(Chen,2023b)。因此,出现了两个主要挑战:1)减少与处理长上下文相关的计算成本,以及2)开发适用于扩展上下文的灵活位置编码机制。

•高效注意:已经提出了各种方法来降低多头注意机制的复杂性,可分为三种主要类型:1)稀疏注意机制重新定义了注意权重的传统计算。在这种方法中,每个查询张量被限制为仅与关键张量的子集接触,而不是与整个集合接触。这种方法有效地将其他注意权重归零,从而稀释了计算量并减少了整体计算负担;2) 线性注意机制,它将张量乘法过程修改为相对于序列长度的线性,而不减少查询张量和关键张量之间的相互作用;3) 传统的多头注意使用多头来分割Q、K和V张量。另一种降低复杂性的方法旨在共享K和V的头,以优化内存使用。通过在多头注意设置中的K和V之间共享头,它减少了对KV缓存的存储要求,并提高了效率。

•位置编码:位置编码可分为绝对位置编码和相对位置编码。最初的Transformers论文使用了绝对位置编码,其中信息以sin/cos函数的组合进行编码,sin/cos函数的波长从嵌入的低维增加到高维。后来提出了各种方法,如RoPE,以强调tokens之间的相对位置信息。为了扩展上下文窗口大小,Alibi、LeX和XPos被提议启用长度外推,以便模型可以在长上下文上进行推理,同时只在短上下文上进行训练。为了增加上下文长度,可以使用基于RoPE的位置插值和NTK-觉察位置插值等方法。

即使从技术上讲,长上下文是可以处理的,但也不能保证LLM能够正确使用和学习长上下文中的信息。最近的研究发现,LLM在长输入上下文中不能稳健地利用信息。特别是,当相关信息出现在输入上下文的开始或结束时,性能通常最高,而当模型必须在长上下文的中间访问相关信息时,性能显著下降。在基于聊天的LLM中也发现了类似的发现,其中模型跟踪和枚举环境状态的能力令人不满意。对于长文档,已经提出了各种提示压缩方法,如LLMLingua(Jiang et al.,2023),通过从文本中删除不重要的标记来减少上下文长度。

智体作为App

在基于LLMOS的AIOS之上,可以开发各种各样的AI智体应用程序,类似于浏览器和照片编辑软件等传统的基于操作系统的应用程序。这些智体应用程序(AAP)通常包括三个组件:智体配置文件、可访问的外部数据库和特定于任务的工具。一方面,智体简介被写入提示中,并用于指示智体功能,影响LLM行为以表现出某些角色,如编码智体、教师智体或旅行规划智体。典型的智体档案可以包括基本信息,如年龄、性别和职业,或反映智体个性的心理信息,以及详细说明智体之间关系的社会信息。智体配置文件的性质是根据应用程序的上下文定制的;例如,专注于人类认知过程的应用程序将强调心理信息。此外,在提示中包含外部数据库和工具集增强了LLM与外部世界的交互,指定了文件位置和工具描述等元素。

如图所示,将LLMOS层与操作系统层、硬件层和智体应用程序层合并,可以建立一个基于LLMOS的自主智体系统。该系统将响应用户的自然语言指令,能够通过与环境及其固有知识的交互执行各种任务。


面向智体的自然语言程序设计

自然语言编程(NLProg)是AIOS智体生态系统中LLMOS和智体之间的重要中介。这种创新的方法允许普通用户使用自然语言轻松地对智体应用程序(AAP)进行编程。这一发展使计算机软件的创建和可访问性民主化,代表着与传统OS-APP生态系统的重大转变。传统上,桌面或移动应用程序(APP)需要熟练的软件开发人员使用专业编程语言进行编程。相比之下,NLProg甚至允许那些没有受过这些语言正式训练的人员开发应用程序。

这一趋势与编程语言的历史演变相一致,编程语言逐渐变得更加用户友好。从二进制代码到汇编语言,再到C、C++、Java和Python等各种高级语言的过程反映了这一趋势。自然语言作为编程接口的引入是这一发展过程中的一个自然过程。它简化了普通用户的编程,允许他们对智体应用程序进行编程并与计算机交互,而无需传统编程语言的专业训练。

此外,这种转变对计算机科学和技术领域有着更广泛的影响。它为创新和创造力开辟了新的可能性,因为更广泛的个人可以为软件开发做出贡献。这种包容性可以导致开发更多样化和定制的应用程序,因为来自不同背景和不同专业知识的人可以将他们独特的视角带到软件设计中。此外,AIOS生态系统中的NLProg促进了人类和计算机之间更直观的互动,增强了用户体验,并有可能在各个部门更高效、更有效地使用技术。随着这种方法越来越受欢迎,它可能会显著改变技术发展的格局,使其更容易获得,并与人类自然的沟通和理解方式保持一致。







请到「今天看啥」查看全文