嘿 Siri、你好小娜、小爱同学、小艺小艺、OK Google、小布小布……
想必这些唤醒词中至少有一个曾被你的嘴发出并成功呼唤出了一个能给你导航、讲笑话、添加日程、设置闹钟、拨打电话的智能个人助理(IPA)。可以说 IPA 已经成了现代智能手机不可或缺的标配,近期的一篇综述论文更是认为「个人 LLM 智能体会成为 AI 时代个人计算的主要软件范式」。
这篇个人 LLM 智能体综述论文来自国内多所高校和企业研究所,包括清华大学、小米、华为、欢太、vivo、云米、理想汽车、北京邮电大学、苏州大学。
文中不仅梳理了个人 LLM 智能体所需的能力、效率和安全问题,还收集并整理了领域专家的见解,另外还开创性地提出了个人 LLM 智能体的 5 级智能水平分级法。该团队也在 GitHub 上创建了一个文献库,发布了相关文献,同时也可供 IPA 社区共同维护,更新最新研发进展。
论文地址:https://arxiv.org/abs/2401.05459
文献库:https://github.com/MobileLLM/Personal_LLM_Agents_Survey
论文标题:Personal LLM Agents: Insights and Survey about the Capability, Efficiency and Security
机器之心整理了这篇综述论文的内容主干,以飨读者。
科幻描绘了很多亮眼的智能个人助理(IPA),即可以增强个人能力、完成复杂任务甚至满足情感需求的软件智能体。这些智能体可以代表大多数人对人工智能(AI)的幻想。
随着智能手机、智能家居设备、电动车等个人设备的广泛普及和机器学习技术的进步,这种幻想正在逐渐变成现实。现在,很多移动设备都内嵌了 IPA 软件,比如 Siri、Google Assistant、Alexa 等。这些智能体与用户密切相关,可以读取用户数据和传感器数据、控制各种个人设备、使用与个人账户关联的个性化服务。
但是,当今的智能个人助理的灵活性和可扩展性都还有限。它们的智能水平还远远不够,在理解用户意图、推理和任务执行等方面尤其明显。现如今大多数智能个人助理都只能执行受限范围内的任务(比如内置应用的简单功能)。一旦用户的任务请求超出了这些范围,智能体就无法准确理解和执行这些动作。
要改变这种情况,就必须显著提升智能体的能力,使其支持范围更广、更灵活的任务。但是,当前的 IPA 产品很难支持大范围的任务。当今大多数 IPA 都需要遵循特定的预定义规则,比如开发者定义的规则或用户演示的步骤。因此,除了定义任务执行的触发器和步骤之外,开发者或用户还必须明确指定他们希望支持哪些功能。本质上讲,这种方法会限制这些应用被用于更广泛的任务,因为支持更多任务需要大量时间和劳动力成本。
某些方法在尝试通过监督学习或强化学习实现自动化学习,从而支持更多任务。但是,这些方法也需要大量人工演示和 / 或定义奖励函数的工作。
近些年出现的大型语言模型(LLM)为 IPA 的开发带来了全新的机会,其展现出了解决智能个人助理可扩展性问题的潜力。
相比于传统方法,ChatGPT 和 Claude 等大型语言模型已经展现出了指令遵从、常识推理和零样本泛化等特有能力。这些能力的实现基于在大规模语料库(超过 1.4 万亿词)上进行无监督学习以及后续通过人类反馈进行微调。利用这些能力,研究者已经成功采用大型语言模型来驱动自动智能体(即 LLM 智能体),其目标是通过自动进行规划和使用搜索引擎、代码解释器和第三方 API 等工具来解决复杂问题。
IPA 是一类特殊的智能体,有望通过 LLM 实现变革,毕竟 LLM 具备显著增强的可扩展性、能力和有用性。我们可以把 LLM 驱动的智能个人助理称为个人 LLM 智能体(Personal LLM Agents)。
相比于普通 LLM 智能体,个人 LLM 智能体会更深度地参与个人数据和移动设备,并且它们也有更明确的设计目的:辅助人类而非取代人类。
具体而言,辅助用户的主要方式是减少他们日常生活中重复、乏味、低价值的劳动,让用户能专注于更有趣、更有价值的事情,从而提高工作和生活的效率和质量。个人 LLM 智能体可基于现有软件栈(例如移动应用、网站等)构建,同时还能通过无处不在的智能自动化能力带来令人耳目一新的用户体验。
因此,该团队预计个人 LLM 智能体会成为 AI 时代个人计算的主要软件范式,如图 1 所示。
尽管个人 LLM 智能体未来潜力巨大,但相关研究仍处于起步阶段,仍有许多错综复杂的问题和挑战有待解决。
这篇综述论文率先讨论了实现个人 LLM 智能体方面的路线图、设计选择、主要挑战和可能解决方案。
具体来说,这篇论文主要关注的是个人 LLM 智能体中与「个人」相关的部分,其中包括分析和利用用户个人数据、使用个人资源、在个人设备上部署以及提供个性化服务。将 LLM 的通用语言能力简单直接地整合进 IPA 不在本文的讨论范围内。
首先,该团队对个人 LLM 智能体领域的专家做了一番调研。他们邀请了业内领先公司、研发用在个人设备上的 IPA 和 / 或 LLM 的 25 位首席架构师、管理者和 / 或资深工程师 / 研究者他们让这些专家谈了谈将 LLM 整合进面向消费者的产品的机遇和挑战。基于对这些专家意见的理解和分析,该团队总结了一套简单又普适的个人 LLM 智能体架构,其中最重要的部分是对个人数据(用户背景信息、环境状态、行为历史记录、个人特征)和个人资源(移动应用、传感器、智能家居设备)的智能管理和使用。
另外,管理和使用这些个人事项的能力不同于个人 LLM 智能体的智能水平。该团队从自动驾驶的 1-5 级智能分级获得灵感,提出了个人 LLM 智能体的 5 个智能等级。
另外,该团队的这项研究还突出强调了实现这类个人 LLM 智能体的一些主要技术挑战;他们将这些挑战分成了三类:基本能力、效率、安全和隐私。他们也详细解释了这三方面的挑战并全面总结了可能的解决方案。具体来说,对于每个技术方面,他们会简要解释其与个人 LLM 智能体的相关性以及对个人 LLM 智能体的重要性,然后再具体讨论其中的主要研究问题。
这篇论文的主要内容和贡献可以总结如下:
总结了产业界和学术界中智能个人助理的当前现状,同时分析了它们的主要局限和 LLM 时代的未来趋势。
收集了 LLM 和个人智能体领域资深专家的见解、提出了一个普适的系统架构并定义了个人 LLM 智能体的智能水平。
总结了个人 LLM 智能体三个重要技术方面的文献,包括基本能力、效率、安全和隐私。
智能个人助理简史
智能个人助理发展时间线
智能个人助理(IPA)的发展史已经很长。图 2 给出了 IPA 历史的大致时间线。其发展过程可以分为四个阶段,图中采用了不同的颜色标记。
第 1 阶段是从 1950 年代到 1980 年代末,这一时期的重点是开发语音识别技术。
第 2 阶段是从 1990 年代到 2000 年代末,此时语音识别已经开始被整合进一些软件实现一些高级功能。
第 3 阶段始于 2010 年代初。这时候,智能手机和个人计算机等移动设备上开始出现总是开启的虚拟助手服务。2011 年,Siri 被集成到了 iPhone 4S 中,也被广泛认为是首个安装在现代智能手机上的智能个人助理。
第 4 阶段则是始于近期 ——LLM 开始赢得世界瞩目。现在已经出现了很多基于 LLM 的智能聊天机器人(如 ChatGPT),还有一些安装在个人设备上的 LLM 驱动的 IPA 软件(如 Copilot)。
从技术角度看智能个人助理发展史
在观察智能个人助理时,我们可以选择很多不同视角,这里作者选择重点关注其最重要的一项能力,即任务自动化的能力(遵从指令并完成任务)。下面将介绍四种用于在 IPA 中实现智能任务自动化的主要技术。
基于模板的编程:大多数 IPA 商业产品都是通过基于模板的编程来实现任务自动化。这种方法是把要自动化的功能预定义成模板;通常来说,模板中会包含任务描述、相关动作、要匹配的示例查询、需要填充的可用参数等。用户给出指令后,智能体首先会将指令映射到最相关的模板,然后再按照预定义的步骤完成任务。其工作流程如图 3 所示。
监督学习方法:监督学习是一种实现任务自动化的直接方法,其做法是基于任务输入和当前状态预测后续的动作和状态。这方面的主要研究问题包括如何学习软件 GUI 的表征以及如何训练交互模型。
强化学习方法:不同于需要大量训练样本的基于监督学习的任务自动化方法,基于强化学习(RL)的方法允许智能体通过与目标接口持续交互来获得任务自动化的能力。在交互过程中,智能体会获得指示任务完成进度的奖励反馈,并逐渐学习如何通过最大化奖励回报来自动化任务。
对基础模型的早期使用:近年来,以大型语言模型(LLM)为代表的预训练大型基础模型发展迅速,为个人助理带来了新机会。
个人 LLM 智能体:定义和见解
我们正在见证基于 LLM 的智能个人助理的巨大潜力,也能看到学术界和产业界对这一技术的广泛兴趣。该团队通过这个研究项目率先系统性地讨论了与这一方向相关的机会、挑战和技术。
他们首先对个人 LLM 智能体(Personal LLM Agents)进行了定义:一类深度整合了个人数据、个人设备和个人服务的基于 LLM 的特殊智能体。
个人 LLM 智能体的主要目标是辅助终端用户,帮助他们减少重复性和繁琐的工作,让他们能更关注更有趣和更重要的事务。
按照这一定义,通用的自动化方法(prompt 设计、规划、自我反思等)类似于普通的基于 LLM 的智能体。这里重点关注的是与「个人」相关的部分,比如个人数据管理、对智能手机应用的使用情况以及部署到资源有限的个人设备等等。
该团队预计:在 LLM 时代,个人 LLM 智能体将成为个人设备的一个主要软件范式。但是,个人 LLM 智能体的软件栈和生态系统仍处于非常早期的阶段。与系统设计和实现相关的许多重要问题尚不明晰。
因此,为了了解这些问题,该团队做了一番调研,收集并整理了 25 位该领域专家的见解。这 25 位专家是来自 8 家研发 IPA 相关产品的领先公司的首席架构师、管理者或高级工程师 / 研究者。他们分享了对个人 LLM 智能体的看法,并解答了一些从应用场景到部署挑战等方面的常见问题。基于这些讨论和收集到的答案,该团队将这些见解分成了三个方面,包括个人 LLM 智能体的关键组件、智能水平分级、有关常见问题的专家意见。
关键组件
基于对个人 LLM 智能体所需功能的讨论,该团队总结了支持这些功能的主要组件,如图 4 所示。
个人 LLM 智能体的智能水平
个人 LLM 智能体应具备的功能需要不同的能力。受自动驾驶 6 个等级的启发,该团队将个人 LLM 智能体的智能水平分成了 1 级到 5 级共 5 个层级,如图 5 所示。
下表 1 列出了每一级的关键特征和代表性用例。
对常见问题的看法
接下来报告的是该团队收集整理的对一些常见问题的专家意见。这些问题包括部署个人 LLM 智能体的设计选择和潜在挑战,如表 2 所示。
该团队分析了所得答案,并总结出以下关键见解。
意见 1(将 LLM 部署在哪里):将 LLM 在边缘 - 云(本地 - 远程)协同部署是首选,而现有的纯云(仅远程,例如 ChatGPT)并不是一个被广泛接受的解决方案。
意见 2(如何定制智能体):在定制化方面,人们最接受的方法是组合使用微调和上下文学习。
意见 3(使用哪些模态):个人 LLM 智能体最需要的是多模态 LLM,尤其是文本和视觉模态。
意见 4(哪些 LLM 能力对 IPA 产品最重要):专家认为最重要的 LLM 能力是语言理解,而最不重要的能力是处理长上下文的能力。
意见 5(如何与智能体交互):基于语音的交互是最受欢迎的方式。
意见 6(需要开发哪些智能体能力):对于个人 LLM 智能体的未来开发,参与专家认为最重要的功能是「更智能和更自动化的决策能力」。
意见 7(理想的 IPA 需要哪些功能):根据参与专家的回答,可以总结出理想智能体应具备的六大关键功能:高效的数据管理和搜索,工作和生活辅助,个性化服务和推荐,自动化任务规划和完成,情感支持和社交互动,作为用户的数字代表等。
意见 8(最紧迫的技术挑战有哪些):根据参与专家的回答,可将最紧迫的技术挑战分为以下类别:智能(包括多模态支持、上下文理解和情境感知型行动、增强轻量级 LLM 在特定领域的能力);性能(有效的 LLM 压缩或紧凑架构、实用的本地 - 远程协作架构);安全和隐私(数据安全和隐私保护、推理准确度和无害性);个性化和存储;传统操作系统支持。
基本能力
为了让个人 LLM 智能体支持各种不同的功能,需要让其具备一些基本能力。除了普通 LLM 智能体都有的基本功能之外,这里重点关注的是个人助理应具备的三项基本能力:任务执行、情境感知、记忆。图 8 给出了这些基本能力之间的关系。
任务执行
个人 LLM 智能体的任务执行能力让其可以响应用户请求并执行指定的任务。在该团队设想的场景中,智能体需要与智能手机、计算机和物联网设备等各种个人设备交互并控制它们来自动执行用户指令。
任务执行功能的一项基本需求是智能体有能力准确理解用户下达的任务。通常来说,任务可能来自用户口头或书面下达的指令,智能体可以从中解读出用户的意图。随着语音识别技术的成熟,现在已经能非常方便地将语音信息转换成文本。
在将用户命令转换成文本后,个人 LLM 智能体应该能自动进行规划和采取行动。尽管规划对传统 DNN 来说很困难,但基于 LLM 的智能体在这方面却表现很好。之前已有一些综述论文讨论了 LLM 智能体的规划和推理能力。这篇论文关注的重点是操作个人数据以及与个人设备交互。一个需要考虑的重点是个人 LLM 智能体交互的应用或系统可能缺乏全面的 API 支持。因此,可以探索将用户界面(UI)作为个人智能体的重要工具,以在 API 受限的场景中实现有效交互。
情境感知
情境感知是指智能体感知用户或环境的状态的过程,如此一来便可提供更定制化的服务。
这篇论文对情境感知采用了更广义的定义,把一般的信息收集过程都视为感知。基于硬件的感知遵循传统的感知概念,其中涉及到通过各种传感器、可穿戴设备、边缘设备等数据源。另一方面,基于软件的感知则有各种各样的数据获取方式。举个例子,分析用户的打字习惯和常用短语就是一种基于软件的感知。
在个人 LLM 智能体中,情境感知能力有多种作用:实现对感知型任务的支持、补充情境信息、触发情境感知型服务、增强智能体的记忆。
记忆
记忆是指记录、管理和使用历史数据的能力。该能力让智能体可以跟踪用户、学习过去的经验、提取有用知识以及使用这些知识来进一步提升服务质量。相关的研究工作主要是想解答两个问题:如何获取记忆以及如何使用记忆。
效率
由于许多个人设备的硬件资源和能源供应有限,因此提升个人 LLM 智能体在部署阶段的效率是非常重要的。之前讨论的任务执行、情境感知和记忆等个人 LLM 智能体的基本能力都还有更基础的过程,主要包括 LLM 智能体的推理、定制化和记忆检索,见图 9。这些过程都需要针对效率进行精心的优化。
LLM 的推理能力是智能体的各种能力的基础。因此,LLM 推理可能成为个人 LLM 智能体的性能瓶颈,需要仔细优化其效率。
定制化也是个人 LLM 智能体用于满足不同用户需求的重要过程。由于定制化的需求很大,因此该过程可能会给系统的计算和存储资源带来较大压力。
记忆操作也是一个高成本过程。为了提供更好的服务,智能体可能需要访问更长的上下文或外部记忆,比如环境感知数据、用户配置文件、交互历史、数据文件等。
图 10 总结了可用于提升 LLM 智能体效率的技术。
高效推理
为了提升 LLM 的推理效率,人们已经提出了很多模型或系统层面的方法,其中包括:
模型压缩:直接降低模型大小或减少计算量,从而降低 LLM 在计算、内存和能量方面的需求,进而提升推理效率。模型压缩技术可以进一步分类:量化、剪枝(稀疏化)、蒸馏和低秩分解。
推理加速:除了下面会提到的让模型更紧凑之外,还有一些用于加速 LLM 推理过程的技术。LLM 与传统非 Transformer 模型的一大关键差异是注意力机制。由于注意力的计算成本会随上下文长度而近二次增长,因此增强模型在长上下文推理方面的计算效率就格外重要了。为了更好地支持长上下文推理,现有的研究工作主要集中于降低上下文长度和优化注意力核。
减少内存用量:LLM 推理不仅计算成本高,而且内存需求也大,这也是部署个人 LLM 智能体的一大挑战。KV 缓存和模型权重是内存开销的两个主要原因。研究者已经针对这两方面提出了一些优化方法,包括通过量化或剪枝技术来压缩 KV 缓存。
能耗优化:能耗高的智能体不仅会增加部署成本和碳足迹,而且还会因为温度升高和潜在的热节流而损害体验质量(QoE)。由于计算和内存访问(主要是权重加载)是高能耗的两个主要原因,因此有很多旨在优化这两个方面的研究,其中既有软件方面的研究,也有硬件方面的研究。
高效定制化
个人 LLM 智能体可能需要使用同一个基础 LLM 为不同用户提供服务,在不同场景中执行不同的任务,因此这需要针对每种情况进行高效的定制化。
定制化 LLM 行为的方法主要有两种:一是为 LLM 提供不同的上下文 prompt 供其上下文学习,二是使用特定领域的数据微调 LLM。因此,定制化效率的主要决定因素是上下文加载效率和 LLM 微调效率。
上下文加载效率:提升上下文加载效率的方法有很多。一种简单的方法是去掉冗余的 token,缩短上下文长度。另一种方法是降低上下文数据传输过程中的带宽消耗。
微调效率:这方面的技术大致可以分为这些类别:参数高效型微调技术、高效的优化器设计和训练数据组织管理。
高效操作记忆
为了给出明智的决策,个人 LLM 智能体需要频繁地检索内部或外部记忆。在 LLM 推理阶段,内部记忆会表示成上下文 token 并以 KV 缓存的形式存储。内部记忆的检索是由 Transformer 架构中的自注意力模块隐式处理的。这就需要 LLM 在执行推理时,在长上下文上执行更高效的计算,同时尽力最小化内存足迹。这些问题与之前讨论的 LLM 的推理效率类似。因此,这一小节主要关注的是操作外部记忆(可被动态检索并添加到上下文中)的效率。
考虑到外部记忆数据的多样性,比如用户配置文件、交互历史和本地原始文件(图像、视频等),常见做法是使用嵌入模型将记忆数据表示成一种统一格式的高维向量。向量之间的距离表示对应数据之间的语义相似度。对于每一次查询,智能体都需要在外部记忆存储中找到最相关的部分。这个过程以及对向量的维护工作可以通过向量软件库(如 Faiss 和 SCaNN)、向量数据库或某种定制的记忆结构完成。不管这些系统的功能有何差异,他们的效率优化目标基本都集中于两个方面:搜索和检索。
安全和隐私
个人 LLM 智能体不同于普通 LLM 智能体,会使用大量敏感的个人数据和安全性至关重要的个人工具。因此,保护个人 LLM 智能体用户的数据隐私和服务安全就成了一个至关重要的问题。在个人 LLM 智能体语境中有三大安全原则:保密性、完整性和可靠性;如图 11 所示。
保密性
这一小节讨论的是在使用个人 LLM 智能体时保护用户隐私的可能方法。前面已经提到,由于个人助理有权访问大量敏感的用户数据,因此确保用户隐私至关重要。
不同于用户需要明确输入文本的传统 LLM 聊天机器人,个人 LLM 智能体有可能在用户不知情的情况下自发启动查询,其中可能包含有关用户的敏感信息。另外,智能体也可能将用户信息暴露给其它智能体或服务。因此,保护用户隐私就变得更加重要了。
增强保密性的方法有很多,包括本地数据处理、同态加密、数据脱敏、访问权限控制等。
完整性
完整性是指让个人 LLM 智能体有能力确保正确输出用户期望的内容,即便在面临各种类型的攻击时也能做到。
由于个人 LLM 智能体必定会和不同类型的数据、应用及其它智能体交互,所以它有可能遇到恶意第三方的攻击,这些攻击的目的通常是通过非常规手段窃取用户数据和资产或破坏系统的正常功能。
因此,系统必须有能力抵御各种类型的攻击。通过加密、权限控制、硬件隔离等措施,可以防御模型参数修改、窃取、篡改本地数据等传统攻击方式。但是,除了防御传统的攻击方法外,还应该关注 LLM 智能体可能遇到的新型攻击:对抗攻击、后门攻击和 prompt 注入攻击。
可靠性
使用个人 LLM 智能体时,许多关键操作是由 LLM 决定的,包括一些敏感操作,例如修改和删除用户信息、采购服务、发送消息等。因此,确保智能体决策过程的可靠性至关重要。
该团队从三个方面探讨了 LLM 的可靠性,包括问题(即 LLM 的可靠性问题体现在哪里?)、改进(即如何让 LLM 的回答更可靠?)和检查(即如何处理 LLM 可能输出的不可靠结果?)。
更多技术细节请参阅原论文。