打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
太牛了!RU | 提出大模型Agent操作系统:AIOS,支持多Agent并行,稳定可靠!

引言

随着LLMs在自主Agent领域的应用日益增多,如何高效管理和调度这些Agent成为一项重要挑战。为此,「本文创新性的提出一个基于大模型的操作系统架构:AIOS」,该架构将LLM作为操作系统的“大脑”,优化Agent请求的调度,支持上下文切换,实现并发执行,并提供工具服务和访问控制,结果表明了AIOS在多Agent并行执行时的可靠性,展示了其在改善资源利用和提升Agent性能方面的潜力。

https://arxiv.org/pdf/2403.16971.pdf

背景介绍

对于自主Agent的研究,其终极目标是开发无需人为干预即可独立执行任务的系统,并且在指令理解、信息处理、决策判断等方面都能实现自主状态。大语言模型(LLM)的出现为自主Agent的开发带来了新的可能性。目前的LLMs在理解指令、知识检索、推理问答、人机交互等方面表现出了强大的能力。基于这些强大的LLM,新兴的LLM Agent将能够在多样化的环境中展示惊人的任务执行能力。

上图展示了LLMs Agent在旅行规划上应用案例。首先旅行Agent会根据用户请求,将旅行规划分解为多个可执行的任务;然后,它会根据用户的偏好按顺序执行预订航班、预订酒店、处理付款和更新日历的步骤。在计划执行过程中,Agent展现出了较强的推理决策能力。为了实现这种旅行助理场景,Agent需要将LLMs服务和传统操作系统服务整合到一块。

随着Agent数量和复杂性的急速增长,这对LLMs和操作系统的功能提出了更多的要求。例如,在有限的LLMs服务资源中,Agent需要优先调用LLMs服务就存在一定的挑战。此外,当LLMs面对长篇上下文时,生成速度会变慢,耗时增长,有时会导致生成被调度程序暂停。这就产生了一个机制问题,「即如何快照LLM当前生成结果」,从而即使LLM尚未完成当前请求的响应生成,也不会影响正常流程进行。

此外,一旦Agent获得了可用工具API的列表,确定调用这些工具的最优顺序就构成了另一个挑战,因为「多个Agent可能需要调用相同的工具」。此外,多个Agent的并发操作需要一个强大的内存管理系统,同时还要做好隐私、访问严格控制。

为了解决上述挑战,文章提出了AIOS,这是一个LLM Agent操作系统,将大语言模型嵌入到操作系统中,作为操作系统的“大脑”,使其成为一个“有灵魂”的操作系统——这是迈向人工通用智能(AGI)的重要一步。具体来说,「AIOS旨在优化资源分配,促进Agent之间的上下文切换,实现Agent的并发执行,为Agent提供工具服务,并维护Agent的访问控制」

操作系统与大模型Agent

「操作系统的发展」 包括了从批处理到多任务处理的转变,以及图形用户界面(GUI)的出现,这些都极大地提高了操作系统的交互性和易用性。同时,操作系统生态系统的发展为软件开发提供了丰富的工具和资源,促进了应用程序的高效开发和部署。如今,我们正处于一个变革阶段,即将看到智能操作系统。通过整合大语言模型(LLMs),这些先进的系统有望进一步缩小人机之间的交流差距,开启一个新的用户-计算机交互时代。

「大模型Agent」 关于LLM自主Agent的研究,这些Agent能够根据自然语言指令执行复杂任务。研究分为单Agent系统和多Agent系统两大类:

  • 「单Agent系统」:这些系统使用单个LLM Agent来完成如旅行规划、个性化推荐等任务。Agent能够分解任务并调用外部工具或与环境交互来完成任务。

  • 「多Agent系统」:利用多个Agent之间的交互来解决问题。多个Agent之间的关系可能是合作的、竞争的,或者是合作与竞争的混合。在合作型多Agent系统中,每个Agent获取并评估其他Agent提供的信息,从而共同解决复杂任务,如角色扮演、社会模拟和软件开发。

AIOS架构

如下图所示,「AIOS 架构共分为三个不同的层:应用程序层、内核层和硬件层」。这种分层架构确保了整个系统的职责划分清晰,促进了接口或者特定模块的交互,从而增强模块化并简化不同层之间的系统交互。

「应用层 (Application Layer)」  主要用来开发和部署Agent应用程序,如旅行Agent或数学Agent。AIOS在这一层提供了AIOS软件开发工具包(SDK),它提供了更高级别的系统调用抽象,简化了Agent开发者的开发过程,使开发者能够专注于Agent的核心逻辑和功能,从而提高开发效率。

「内核层 (Kernel Layer)」 该层主要由两个组件组成:OS内核和LLM内核。其中,这两个内核分别服务于非LLM操作和LLM特定操作的独特需求。

  • 「OS内核」:处理传统的操作系统功能,如进程调度、内存管理和文件系统管理。
  • 「LLM内核」:专注于LLM特定任务,如上下文管理和Agent调度。LLM内核配备了几个关键模块,包括LLM系统调用接口、Agent调度器、上下文管理器、内存管理器、存储管理器、工具管理器和访问管理器。这些组件旨在解决Agent应用程序的多样化执行需求,确保在AIOS框架内进行高效的管理和执行。

「硬件层 (Hardware Layer)」 该层包括系统的物理组件,如CPU、GPU、内存、磁盘和外围设备。LLM内核的系统调用不能直接与硬件交互,而是通过OS的系统调用来管理硬件资源。这种间接交互确保了抽象层和安全性,允许LLM内核利用硬件能力而无需要直接管理硬件,从而保持了系统的完整性和效率。

AIOS实现

关于AIOS的实现,作者首先概述了 LLM 内核中每个模块的基本设计和实现;然后介绍了 LLM 系统调用,其中包含每个模块的基本功能;最后讨论了AIOS SDK的探索,旨在方便Agent开发者的开发过程。

AIOS架构中的6个主要模块:

  • 「Agent调度器 (Agent Scheduler)」 优化LLM资源的使用,通过FIFO、RR等调度算法来优先处理和调度Agent请求。如下图所示:
  • 「上下文管理器 (Context Manager)」 支持LLM的上下文快照和恢复,以及管理LLM的上下文窗口。如下图所示:
  • 「内存管理器 (Memory Manager)」 为每个Agent的交互日志提供短期内存,并确保数据仅在Agent活跃时存储和可访问。如下图所示:
  • 「存储管理器 (Storage Manager)」 负责长期存储数据,通过本地文件、数据库或云解决方案来确保数据的完整性和可用性。
  • 「工具管理器 (Tool Manager)」 管理一系列API工具,这些工具增强了LLM的功能,涵盖了网络搜索、科学计算、数据库检索、图像处理等多个类别。
  • 「访问管理器 (Access Manager)」 通过为每个Agent管理专门的权限组来协调不同Agent之间的访问控制操作。

「LLM系统调用」 LLM内核内的LLM系统调用接口被设计为提供基本的LLM调用操作功能。这个接口作为复杂Agent请求和不同内核模块执行之间的桥梁。LLM系统调用提供了一系列基本功能,涵盖内核模块的各个方面,包括Agent管理、上下文处理、内存和存储操作以及访问控制。

「AIOS SDK」 为开发者提供了一个多功能工具包,用于在AIOS内开发复杂的Agent应用程序。SDK包括从初始化Agent和Agent生命周期管理到资源监控和Agent任务生成计划等一系列功能。

实验结果

「一致性分析」 使用BLEU分数和BERT分数作为评估指标来评估多个Agent并行运行与单个Agent依次运行时输出的一致性。结果显示,BLEU和BERT分数都达到了1.0,表明多Agent和单Agent配置下生成的输出之间完全对齐,证实了设计在有效促进并行多Agent操作方面的一致性。

「性能分析」 作者进行了AIOS使用FIFO调度和非调度方法(即顺序执行)的比较分析。结果表明,非调度方法对序列早期的Agent表现良好,但牺牲了序列后期Agent的等待时间和周转时间。相反,AIOS的调度机制有效地调节了等待时间和周转时间,特别是对于后续Agent的请求,当LLM较大时,这种优势尤为明显。这表明调度对于适应多个Agent的并行操作非常重要。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解读大模型(LLM)的token
蚂蚁开源,一个智能助手搞定软件开发全流程
【科普】什么是AI Agent(智能体)?
一文读懂未来趋势AI Agent:人工智能代理
大模型应用的 10 种架构模式
万字长文!何谓Agent,为何Agent?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服