为啥写这篇博客:因为导师喊我围绕 “大语言模型的个性化、风格化生成” 进行调研和研究,故而找到这篇论文,开始啃。
✅ NLP 研 1 选手的学习笔记
简介:王淋永,NPU,2023级,计算机技术
研究方向:文本生成、大语言模型
论文链接:https://arxiv.org/abs/2401.05459,2024年5月8日版本
代码连接:https://github.com/MobileLLM/Personal_LLM_Agents_Survey
导师喊我调研这些东西:
1、当前已有数据集;
2、现有研究方法类型;
3、当前存在的问题;
4、该方向的具体任务类型。
并说道:“调研内容这周四前发我。”
我经典回复:“好的老师”
文章目录
一、论文标题及作者等信息
● 标题叫《Personal LLM Agents: Insights and Survey about the Capability, Efficiency and Security》,来翻译翻译什么什么叫 “惊喜 ” ?
我来抛砖引玉地翻译一下哈:《个性化的大语言模型智能体:对于其能力、效率和安全的见解与调查》。也就是说,这篇论文的 主要研究目标是: 像 Agents 的个性化的LLM,其中 Agents 指的是大模型能像 “智能体或代理(人)或助理” 一样,服务于人。该研究的展开点主要为: 1) 个性化LLM的 Capability,即它能做什么? 2) 个性化LLM的 Efficiency,即它的性能怎么样?3) 个性化LLM的 Security,即它的安全性怎么样?最后,该研究的性质为: 1)Survey,即一篇综述罢了。2)Insights,即作者还提出了个人的一些(独道的)见解。
作者很多,很牛B ( ఠൠఠ )ノ
总体来说,就是 “清华、小米、华为、 vivo、理想” 等多机构联合写的一篇关于 “个性化LLM的智能体” 的综述。
二、摘要
● 我可能就对这个摘要好生翻译一下哈,后面全部翻要累死个人。
● 翻译:【研究背景】 自个人计算设备问世以来,智能个人助理(intelligent personal assistants,IPA)一直是研究人员和工程师关注的重点技术之一,旨在帮助用户高效地获取信息和执行任务,并为用户提供更加智能、便捷和丰富的交互体验。随着智能手机和物联网(Internet of Things,IoT)的发展,计算和传感设备已无处不在,极大地扩展了智能个人助理的应用边界。【目前存在的问题】 然而,由于缺乏用户意图理解、任务规划、工具使用和个人数据管理等能力,现有的智能个人助理在实际应用和可扩展性方面仍然有限。【目前已有的解决方案】 近期,以大型语言模型(LLM)为代表的基础模型的出现,为智能个人助理的发展带来了新的机遇。凭借强大的语义理解和推理能力,大型语言模型能够使智能体自主解决复杂问题。【本文研究目标】 在本文中,我们重点关注个性化大型语言模型智能体,这是一种与个人数据和个人设备深度融合、用于个人辅助的基于大型语言模型的智能体。【作者的见解】 我们设想,个性化大型语言模型智能体将在即将到来的时代成为终端用户的主要软件范式。为实现这一愿景,我们迈出第一步,探讨关于个性化大型语言模型智能体的几个重要问题,包括其架构、能力、效率和安全性。【论文的简要概述】 我们首先总结了个性化大型语言模型智能体架构中的关键组件和设计选择,然后深入分析了从领域专家那里收集的意见。接下来,我们讨论了实现智能、高效和安全的个性化大型语言模型智能体所面临的几个关键挑战,并对解决这些挑战的代表性方案进行了全面综述。
关键词: 智能个性化助理 · 大型语言模型 · 大型语言模型代理 · 移动设备 · 智能水平 · 任务自动化 · 感知 · 记忆 · 效率 · 安全与隐私
三、正文
● 注: 文中的“代理”、“助理”和“智能体”均为同一个意思。
1 前言
● 【研究背景】 科幻小说描绘了许多引人注目的智能个人助理(IPAs)角色,这些软件代理可以增强个人的能力,完成复杂的任务,甚至满足情感需求。这些智能代理代表了大多数人对人工智能(AI)的幻想。随着个人设备(如智能手机、智能家居设备、电动汽车等)的广泛采用和机器学习技术的进步,这种幻想正逐渐成为现实。如今,许多移动设备都嵌入了IPA软件,如Siri[1]、Google Assistant[2]、Alexa[3]等。这些智能代理与用户紧密相连,能够访问用户数据和传感器,控制各种个人设备,并访问与私人账户相关的个性化服务。
【目前存在的问题】 然而,今天的智能个人助理仍然受到灵活性和可扩展性的限制。他们的智力水平远远不够,特别是在他们对用户意图、推理和任务执行的理解上。今天的大多数智能个人助理都局限于执行有限领域内的任务(例如,内置应用程序中的简单功能)。一旦用户请求超出这些边界的任务,代理就不能准确地理解和执行操作。改变这种情况需要显著扩展代理的能力,以支持更广泛和更灵活的任务范围。然而,目前的IPA产品很难支持大规模的任务。今天的大多数IPA需要遵循特定的预定义规则来完成任务,例如开发人员定义的或用户演示的步骤。因此,开发人员或用户除了定义任务执行的触发器和步骤外,还必须显式指定他们希望支持的功能。这种方法固有地将可伸缩性限制在更广泛的任务范围内,因为支持更多的任务需要大量的时间和人工成本。一些方法试图通过监督学习或强化学习来自动学习支持任务[4,5,6]。然而,这些方法也依赖于大量的手工演示和/或奖励功能的定义。
【目前已有的解决方案】 近年来,大型语言模型(Large Language Models, LLM)[7]的出现为IPAs的发展带来了全新的机遇,展示了解决智能个人助理可扩展性问题的潜力。与传统方法相比,大型语言模型(如ChatGPT、Claude等)展示了独特的功能,如指令遵循、常识性推理和零概率泛化。这些能力是通过对大量语料库(超过1.4万亿单词)的无监督学习实现的,随后通过人类反馈进行微调。利用这些功能,研究人员已经成功地采用了大型语言模型来增强自主代理(又名,LLM代理),旨在通过自动制定计划和使用搜索引擎、代码解释器和第三方api等工具来解决复杂问题。
【LLM对IPA的影响】 作为一种独特类型的智能代理,IPA也有可能被LLM彻底改变,具有显著增强的可伸缩性、能力和实用性。我们把这种LLM驱动的智能个人助理称为 Personal LLM Agents。与普通的LLM代理相比,Personal LLM代理更深入地参与个人数据和移动设备,并且更明确地为帮助人们而不是取代人们而设计。具体来说,帮助用户的主要方式是减少用户日常生活中重复、繁琐、低价值的劳动,让用户专注于更有趣、更有价值的事情,从而提高工作和生活的效率和质量。个人化的LLM代理可以建立在现有的软件堆栈(例如,移动应用程序,网站等),同时带来耳目一新的用户体验与无处不在的智能自动化能力。因此,我们预计Personal LLM Agents将成为AI时代个人计算设备的主要软件范例,如图 1
所示。
【目前存在的挑战 与 文本的分析和解决方案】 尽管个性化LLM代理的未来前景令人期待,但相关研究仍处于起步阶段,面临着众多复杂性和挑战。本文旨在探讨实施个性化LLM代理的路线图、设计选择、主要挑战和可能的解决方案。 具体来说,我们主要关注个性化LLM代理中的“个性化”部分,包括对用户个人数据的分析和利用、使用个人资源、在个人设备上部署以及提供个性化服务。将LLM的通用语言能力直接集成到IPA中不在本文的讨论范围内。
【本文的调查分析方案】 我们首先对个性化LLM代理领域的专家进行了调查。我们邀请了25位来自领先公司的首席架构师、总经理或高级工程师/研究员,他们正在从事IPA或个人设备上的LLM工作。我们询问了专家关于将LLM集成到面向消费者的产品中的机遇和挑战的看法。根据我们对专家洞察力的理解和分析,我们总结了一个简单通用的个性化LLM代理架构,其中对个人数据(用户上下文、环境状态、活动历史、性格等)和个人资源(移动应用、传感器、智能家居设备等)的智能管理和利用扮演着最为关键的角色。能够管理和利用这些个人对象的能力使个性化LLM代理具备了智能。受自主驾驶的L1-L5智能水平的启发,我们还为个性化LLM代理提供了一个五级智能等级分类。
【本文的研究成果】 我们的研究成果还凸显了实现此类个性化LLM代理所面临的几个主要技术挑战,这些挑战可以归为三个方面,即基本能力、效率和安全性与隐私性。我们进一步深入探讨了这些方面,详细解释了这些挑战,并对可能的解决方案进行了全面的调查。具体来说,对于每个技术方面,我们简要解释了其对个性化LLM代理的重要性和相关性,然后将其分解为几个主要的研究问题。例如,个性化LLM代理的基本能力包括任务执行、上下文感知和记忆。代理的效率主要由LLM推理效率、定制效率和记忆检索效率决定。个性化LLM代理的安全性和隐私问题可以分为数据保密性、决策可靠性和系统诚实性。对于每个研究问题,我们总结了涉及该问题的主要技术,然后简要介绍了相关工作。由于个性化LLM代理技术的范围很广,我们只包含最相关或最新的工作,而不是试图涵盖所有相关的方法。
● 本文的主要内容和贡献可以概括为以下几个方面:
- 我们总结了现有智能个性化助理在产业界和学术界的现状,同时分析了它们的主要局限性和LLM时代的未来趋势。
- 我们收集了LLM和个性化代理领域的资深专家的见解,提出了一个通用的系统架构和个性化LLM代理的智能级别定义。
- 我们回顾了关于个性化LLM代理的三个重要技术方面的文献,包括基本能力,效率,安全和隐私。
2 智能个人助理(IPA)的简史
2.1 IPA历史的时间轴视图
● 智能个人助理(IPAs)有着悠久的发展历史。我们在图 2
中描述了IPA历史的大致时间线。开发过程可以分为四个阶段,每个阶段在图中都用独特的颜色标记。
第一阶段: 从20世纪50年代到80年代末,主要是关于语音识别技术的发展。语音识别的早期阶段是从基本的数字和单词开始的。贝尔实验室开发了“奥黛丽”,它可以识别数字 0-9
,准确率约为 90%
。1962年,IBM高级系统开发部门实验室推出了“鞋盒”[8]系统,该系统能够识别多达 16
个单词。从1971年到1976年,由美国国防部资助的语音理解研究(SUR)项目显著提高了语音识别技术。Harpy系统[9]尤其具有代表性,它可以理解由 1011
个单词组成的句子,相当于一个三岁儿童的熟练程度。1986年,IBM开发了Tangora语音识别打字系统[10],能够识别 20,000
个单词,并提供预测和纠错功能。Tangora系统使用隐马尔可夫模型[11],需要对单个说话人进行语音识别训练,每个单词之间有暂停。
第二阶段: 是从20世纪90年代到2000年代末,语音识别开始集成到软件中,以实现某些高级功能。1990年,“Dragon Dictate”软件[12]发布,这是第一款面向消费者的语音识别产品。它最初是为在Microsoft Windows上工作而设计的,支持离散语音识别。1993年,苹果公司推出了[13],使用户可以通过自然说话来控制他们的电脑。1996年,IBM为放射科医生推出了“MedSpeak”[14],这也是第一个支持连续语音识别的商业产品。微软在2002年将语音识别集成到办公应用程序中[15],谷歌在2008年将语音搜索添加到iPhone上的谷歌移动应用程序[16]。
第三阶段: 从2010年代初开始。在这一时期,始终在线的虚拟助理服务开始出现在智能手机和个人电脑等移动设备上。Siri[1]被广泛认为是现代智能手机上安装的第一个智能个人助理,于2011年被集成到苹果的 iPhone 4S 中。自发布以来,Siri一直是苹果设备(包括iphone、iPad、Apple Watch、HomePod和Mac)的关键内置软件,不断进行更新和迭代,以融入新功能。与Siri类似,许多其他虚拟智能助手也在这一时期开始出现。2014年,微软发布了Cortana[17],并逐步将其集成到桌面电脑等平台。同年亚马逊发布了Alexa[3],可以完成语音交互、音乐播放、设置闹钟等任务。除了语音搜索,谷歌助手[2]于2016年推出,支持用户与语音和键盘输入进行交互。
第四阶段: 始于最近,LLM开始受到全世界的关注。基于LLM,出现了许多智能聊天机器人(如ChatGPT[18]),以及一些安装在个人设备上的LLM驱动的IPA软件(如Copilot[19])。这一阶段的细节将在2.2.4节中介绍。
2.2 IPA的技术观点
● 由于能够体现个人助理智能的方面有很多,我们选择智能个人助理中最重要的能力之一,即任务自动化能力(听从指令和完成任务)作为重点关注的对象。在接下来的小节中,我们将介绍在IPA中实现智能任务自动化的 四种 主要类型的技术。请注意,这些类型的解决方案是同时开发的,它们之间没有严格的时间顺序。
2.2.1 基于模板设计的技术
● 【概述】 大多数商业IPA产品通过基于模板的方法支持任务自动化。在这些方法中,可以自动化的函数被预定义为模板,每个模板通常包含任务描述、相关操作、要匹配的示例查询、支持的
f
u
l
l
f
i
l
fullfil
fullfil 参数等。给定一个用户命令,代理首先将命令映射到最相关的模板,然后按照预定义的步骤完成任务。该工作流如图 3
所示。
比如:拼多多你要点退货时,往往有那种特定的文本按钮“如何退货退款?”,往往用手一点,智能客服就能输出“固定的退货退款流程”。
【该方法的介绍】 当使用此方法自动化任务时,应用程序开发人员需要遵循某些API的文档(例如,谷歌助理API [2], SiriKit[20]等),以创建他们想自动化的每个功能的模板。此外,还提出了一些方法使终端用户能够创建自己的任务模板,例如iPhone设备上的[21] “Shortcuts” 功能,实现了重复操作序列的自动化。类似的功能也在许多针对Android系统的产品和学术研究中实现,如Tasker[22]、Anywhere[23]、Epidosite[24]以及微软的uLink[25]系统等。
【优点】 这种基于模板的任务自动化方法的优点在于其可靠性和准确性,因为模板中的步骤是确定的,并经过精心编程。【缺点】 然而,由于支持新任务的机制相对复杂,它的可扩展性相当有限。因此,大多数应用程序,包括来自大公司的流行应用程序,不支持任何自动化任务或只支持一些基本的应用程序,导致非常不灵活的用户体验。在多次失败的尝试后,最终用户很容易放弃使用IPAs的想法[26,27,28,29]。这一限制是阻碍基于模板的智能个人助理进一步发展的主要障碍。
2.2.2 基于监督学习的技术
● 【概述】 为了解决基于模板的IPA方法的限制,研究人员正在积极研究增强 UI理解和自动化的 自动化方法。监督学习通过训练模型,根据任务输入和当前状态预测后续动作和状态,为任务自动化提供了一种直接的方法。主要研究的问题包括如何学习软件GUI的表示和如何训练GUI的交互模型。
【该研究点的相关工作】 Humanoid[30] 引入了从人类交互轨迹中学习交互模型的思想,旨在根据GUI布局信息生成类似人类的测试输入。Seq2act[4] 首先关注移动 UI 任务自动化领域,其中需要将自然语言指令映射为可直接执行的动作序列。该框架将问题分解为 动作短语提取部分 和 接地部分,均使用Transformer[31]网络。受NLP中预训练成功的启发,ActionBert[32] 使用自监督预训练来增强模型对 UI 的理解。具体来说,为了捕获 UI 切换动作的语义信息,该模型将一对 UI 作为输入,并输出 UI 和单个组件的嵌入。Fu等人将词/句的概念从NLP扩展到像素词/屏幕句。通过对视觉原子组件(像素-单词)进行预训练,PW2SS框架(句子转换器)可以完成各种下游GUI理解任务。为了更好地兼容移动设备上的受限资源,提出了通用 UI Transformer (VUT)[34],在单个小模型内学习不同的 UI 接地任务。它处理图像、结构和基于文本的数据类型,使用 3
个任务头支持同时执行 5
个不同的任务,包括 UI 对象检测、自然语言命令基础、小部件描述、屏幕摘要和 UI 可点击性预测。基于不同模态组件之间的自对齐特性,UIBert[35] 提出了一种精心设计的图像-文本联合模型,以利用对应关系,从未标记的数据中学习上下文 UI 嵌入。为了解决缺乏 UI 元数据(如DOM树和视图层次结构)的问题,SpotLight[36] 引入了一种纯视觉的方法,通过截图和一个感兴趣的区域(“焦点”)作为输入来理解移动UI。它由视觉编码器和语言解码器组成,可以根据提供的截图和提示完成任务。此外,提出了Lexi[37] 来利用基于文本的指令手册和用户指南来策划多模态数据集。通过将文本和视觉特征融合为co-attention transformer层的输入,对模型进行预训练,以在基于文本的指令和 UI 屏幕截图之间形成连接。UINav[38] 利用裁判模型来评估智能体的性能,立即将反馈信息告知用户。采用演示增强来增加数据多样性。
【该方法与上一个方法的对比,及优势】 与基于模板设计的方法相比,监督学习方法在经过充分的训练后,有潜力泛化到未见过的任务。【缺陷】 然而,训练模型通常需要大量高质量的人工标注数据。考虑到现实世界中任务和应用的多样性,获取涵盖不同用例的训练数据具有挑战性。
2.2.3 基于强化学习的技术
● 【该方法与上一个方法的对比,及优势】 与基于监督学习的任务自动化方法需要大量的训练样本不同,基于强化学习的方法允许智能体通过不断与目标界面交互来获得任务自动化的能力。在交互过程中,智能体得到指示任务完成进度的奖励反馈,并逐渐学会如何通过最大化奖励回报来自动完成任务。
【该研究点的相关工作一】 为了训练基于强化学习的任务自动化智能体,需要一个指示任务完成进度的奖励函数。Bits世界(WoB)[39] 被提出作为一个通用的平台,agent可以使用键盘和鼠标在Web上完成任务。该平台带有一个名为 “MiniWoB” 的基准,包含一组自创建的玩具网站上的任务,并具有预定义的奖励。Glider[5] 基于任务描述与 UI 动作序列的语义相似度,以及动作序列的局部性和方向性,定义了真实世界网站的奖励函数。
【该研究点的相关工作二】 基于强化学习的任务自动化的另一个挑战是巨大的动作空间和稀疏的奖励。一个典型的基于 GUI 的任务通常包含 5-10
个步骤,每个步骤包含 10-100
个候选动作,因此搜索空间大小为 105 -10010
。只有按照正确的操作顺序执行,任务才会完成。为了应对这一挑战,人们提出了许多框架。Liu等人在[6]中引入了使用高层“工作流”来约束每个时间步允许的操作的方法。工作流可以修剪坏的探索方向,加快智能体发现奖励的能力。Gur et al.[40] 将复杂的指令分解为多个较小的指令,并为智能体安排一个课程,使其逐渐设法遵循越来越多的子指令。此外,本文还提出了一个元学习框架来生成指令遵循任务。Jia等人将agent在web上的行为分为三类,即 DOM选择、token 选择和模式选择。在假定DOM选择和 token 选择独立的前提下,设计了分解 Q-值函数。Glider[5] 通过一个分层策略实现其减少操作空间的目标,该策略包含一个处理整体导航的主策略和处理特定小部件的子策略。Humphreys等人[42] 提出了直接使用鼠标和键盘来完成任务的框架,而不是依赖于专门的动作空间,简化了实际人机交互中行为先验的使用。
【该方法与上一个方法的对比,及缺陷】 与监督学习方法类似,基于强化学习的方法也存在泛化能力较差的问题。为了实现灵活和鲁棒的任务自动化,强化学习智能体需要在大量任务上进行训练,每个任务都需要一个设计良好的奖励函数。为大量不同的任务定义奖励函数可能很困难。
2.2.4 早期采用基础模型的技术
● 【概述】 近年来,以大型语言模型(LLM)为代表的预训练大型 基础 模型(pretrained large fundation models)得到了快速发展,并为个人助理带来了新的机遇。
【LLM卓越的基础能力的介绍】 语言模型的缩放律[43]揭示了增加模型参数对提高模型性能的重要性,随后是一堆具有数十亿参数的模型。LLM通常以无监督的方式使用大规模开放域文本数据进行训练,然后是指令微调[44]和人工反馈强化学习(RLHF)[45, 44],以提高性能和对齐。OpenAI在2022年底发布的 ChatGPT[18] 是LLM的一个里程碑,它展示了惊人的问答能力。通过将简单的任务描述作为输入提示提供给LLM,可以轻松定制LLM的任务和响应。此外,这些模型在各种语言理解和推理任务中也表现出了鲁棒的泛化能力。ChatGPT本身可以看作是一个智能的个人助手,帮助用户在文本回复中返回信息。
【学术界将LLM应用到IPA的工作】 受 LLM 能力的启发,研究人员试图让 LLM 自主使用工具[46]来完成复杂任务。例如,控制浏览器[47,48]来进行信息检索和摘要,调用机器人编程接口来进行机器人行为控制[49,50,51],调用代码解释器来进行复杂的数据处理[52,53,54,55]等等。将这些功能集成到智能个人助理中是很自然的想法,从而能够以更智能的方式操作个人数据、个人设备和个性化服务。
【工业界将LLM应用到IPA的工作】 已经有一些商业产品试图将 LLM 与 IPA 集成。例如,微软的 Copilot 系统[19]集成了 GPT-4[56] 的功能,帮助 Windows 用户自动起草文档、创建演示文稿、总结电子邮件,从而提高用户的工作效率。New Bing[57] 还改善了上网的体验,提供了一个强大高效的搜索引擎,更好地了解用户想要什么。同样,谷歌将 LLMs (Bard [58], Gemini[59])集成到搜索引擎中,使网络搜索体验更加方便。华为、小米、Oppo、Vivo等智能手机公司也将大型机型(盘古[60]、MiLM[61]等)集成到设备 IPA 产品中。值得注意的是,其中一些采用了基于本地部署的轻量级 LLM 的解决方案。到目前为止,大多数这些商业产品只是将 LLM 的聊天界面简单地集成到个人助理中。关于更深层次的功能集成的研究将在 4.1
节讨论。
【简单一句话,该研究点还有很多坑,还可以发很多论文】 尽管该研究方向具有巨大的潜力,但目前仍处于早期探索阶段。距离真正理解和帮助用户使用智能代理的最终目标还有很大距离。此外,许多与效率、安全和隐私相关的问题还没有得到充分的解决。本文的后续部分将对这一方向的关键问题进行系统的总结和讨论。
3 个性化LLM代理:定义和见解
● 见证了基于 LLM 的智能个人助理的巨大潜力以及学术界和工业界的广泛兴趣,本文迈出了第一步 【哈哈哈哈,经典第一步】,系统地讨论了与此方向相关的机遇、挑战和技术。
【对 Personal LLM Agents 的定义】 我们将个性化LLM代理定义为一种 基于LLM的特殊类型的代理,与个人数据、个人设备和个人服务深度集成。个性化LLM代理的主要目的是帮助终端用户,帮助他们减少重复和繁琐的工作,更多地专注于有趣和重要的事务。按照这个定义,一般的自动化方法(提示、计划、自我反思等)类似于普通的基于LLM的代理。重点关注与 “个性化” 相关的方面,如个人数据的管理、智能手机应用程序的使用、资源受限的个人设备的部署等。
我们猜想,个性化LLM代理将成为 LLM 时代个人设备的主要软件范式。然而,个性化LLM代理的软件栈和生态系统仍然处于非常早期的阶段。与系统设计和实现相关的许多重要问题尚不清楚。
【对 Personal LLM Agents 的分析方案】 因此,我们试图根据从领域专家收集的见解来解决一些问题。我们邀请了来自 8
家致力于 IPA 相关产品(包括智能手机个人助理、智能家居解决方案和智能驾驶舱系统)的领先公司的首席架构师、董事总经理或高级工程师/研究员 25
名专家。我们与他们随意谈论了个性化LLM代理的话题,并向他们提出了几个常见的问题,从应用场景到部署挑战。基于讨论和收集的答案,将见解总结为 三个小节: 个性化LLM智能体的关键组成部分、智力水平分类法和专家对常见问题的意见。
3.1 个性化LLM代理的关键组成部分
● 基于我们对个性化LLM代理所需特征的讨论,我们首先总结了支持这些特征的主要组件,如图 4
所示。
【Personal LLM Agents 的核心】 毫无疑问,个性化LLM代理的核心是一个基础模型(大型语言模型或其他变体,为了简单起见,我们称之为LLM),它连接所有其他组件。首先,LLM是支持为用户服务的不同技能的基础,包括根据用户请求直接执行任务的响应式技能(如问答、天气检查、事件调度等)和不需要用户明确命令即可提供服务的主动式技能(如生活记录、管理用户注意力、活动推荐等)。
【Personal LLM Agents 的支撑技术】 其次,为了支持这些技能,LLM管理各种本地资源,包括移动应用程序、传感器和物联网设备。例如,代理可以通过与智能手机天气应用程序交互来完成天气检查。同时,许多人提到了个性化LLM代理提供个性化和上下文感知服务的重要性。因此,LLM应该维护有关用户的信息,包括当前用户上下文(状态、活动、位置等)和历史用户记忆(配置文件、日志、个性等)。为了操作这些资源、上下文和记忆,还需要使用专用的管理系统,如向量数据库与LLM相结合。
● 这些关键组件的组合类似于操作系统[62],其中:
- 基础模型相当于传统操作系统的内核。它用于各种资源的系统管理和调度,从而方便 agent 的功能。
- 本地资源层类似于传统操作系统中的驱动程序。在传统的操作系统中,每个驱动程序管理一组专门的硬件。而在个性化LLM代理中,每个本地资源组件管理一种类型的工具并提供API供LLM使用。
- 用户上下文和用户记忆对应于传统操作系统运行过程中维护的程序上下文和系统日志。这些组件构成了agent支持个性化服务的基础。
- 顶层的技能类似于传统操作系统中的软件应用程序。与安装和删除应用程序类似,还应该允许灵活启用或禁用代理的技能。
这个想法也太棒了吧,用操作系统来类比,666 ( ఠൠఠ )ノ !!!
3.2 个性化LLM代理的智力水平
● 个性化LLM代理所需的特性需要不同类型的能力。受自动驾驶的六个层次的启发,我们将个性化LLM智能体的智能水平分为 5
个层次,记为 L1
到 L5
,如图 5
所示。表 1
列出了每个级别的关键特征和代表性用例。
在每个级别上,用户和代理负责不同的职责。在第 1
级(简单的步骤遵循),代理只负责步骤执行,其他职责由用户负责。例如,当用户发出命令时,代理会遵循开发人员定义的或用户给出的明确步骤来完成任务。L1
智能体不具有任何感知或规划能力。大多数基于模板的 IPA 产品属于这一类。
随着情报水平的提高,代理逐渐承担更多的任务。在第 2
级,支持的任务仍然是确定的(即,涉及要完成的固定动作序列),但不再明确给出执行每个任务的详细步骤。代理必须根据用户的任务描述自动完成必要的步骤。例如,给定一个用户查询 “今天北京的天气如何”,代理调用带有 “北京” 的天气 API 作为参数,并从响应中检索天气信息。与第 2
级的确定性任务不同,第 3
级的智能体可以完成更复杂的任务,这些任务需要战略规划和自我反思。例如,命令 “告诉Alice关于我明天的计划” 需要代理确定如何收集计划信息(例如,使用用户的日历和聊天历史)以及如何通知 Alice 有关信息(例如,总结日历事件并通过messenger应用程序发送)。在这些任务中,智能体基于中间反馈自主迭代地生成并执行执行计划,直至完成任务。
L1
-L3
层的代理被动地由用户的命令驱动工作,而第 4
层的代理能够了解用户的历史数据,感知当前情况,并在适当的时候主动提供个性化服务。
在 5
级的超级智能中,智能体扮演着一个自主的化身角色,可以完全代表用户完成复杂的事务,用户只需要专注于创造力和情感。智能体不仅能感知用户的当前状态,还能预测用户未来的行为并采取相应的行动。除了直接为用户服务外,自主化身还可以与其他智能体合作,以减轻其用户通信的负担。此外,L5
的代理应该能够通过自我进化不断提高自身。
3.3 个性化LLM代理对常见问题的观点
● 接下来,本文对几个常见问题的专家意见进行汇总,并进行报告。这些问题包括设计选择和部署个性化LLM代理的潜在挑战,如表 2
所示。
我们分析了问题的答案,并总结了以下主要收获:
- 观点1 (在哪里部署LLM): 边缘-云(本地-远程)协作部署 LLM 是首选,而现有的仅云(仅远程)(如ChatGPT)不是一个被广泛接受的解决方案。如图
6
所示,88%
的参与者更喜欢边云协同的架构,58.33%
的参与者支持本地部署,81.82%
的参与者对现有的纯云解决方案不满意。他们主要关注的问题有:1)远程 LLM 服务的高延迟;2)传输个人数据到云端的隐私问题;3)云端 LLM 服务的巨大成本。
- 观点2 (如何定制智能体): 将微调和上下文学习相结合是最可接受的实现定制的方法。在个性化LLM代理中,为不同的用户和场景定制代理是必要的。图
7
显示,66.67%
的参与者支持结合微调和上下文学习的优势来实现个性化(L4
智能)。43.75%
的学生不认为可以通过上下文学习实现L4
;一个可能的原因是,我们的参与者来自业界,因此他们更专注于特定垂直领域的 LLM,而在这些领域中,上下文学习没有受到太多关注。
在问题3~5
中,我们让参与者对选项进行排名,下表(表3~5
)总结了他们的排名。Rank1~4
表示参与者投票的这些选项的排名;例如,表3
中的72%
表示72%
的参与者将文本作为他们的首选模态。每个表中的 “分数” 是根据 Borda计数计算的[63],每个候选人得到的分数等于他们在每张选票中排名超过的候选人数量的平均值,排名最低的得到2
分,最高的得到n+1
分,其中n
是候选人的总数。例如,表3
中的4.56
等于5×72% + 4×20% + 3×0 + 2×8%
。
- 观点3 (使用什么模态): 多模态LLM,特别是文本和视觉模态,是个性化LLM代理所需的。在我们的统计结果中,文本是最受欢迎的模态,正如最流行的 LLM 使用(如GPT系列和LLaMA系列)。排名第二的图像选项和
20%
的参与者特别提到的视频模式表明,视觉模式在个性化LLM代理的未来发挥着有希望的作用。
- 观点4 (LLM能力对IPA产品最关键): 在工业界,语言理解被认为是 LLM 最重要的能力,而处理长上下文的能力被认为是最不重要的能力。相反,在学术界,处理长上下文的能力被认为是非常重要的,并被广泛研究。这种不同的观点源于我们参与者设想的特定垂直域 LLM 和学术研究人员的通用 LLM。在垂直域 LLM 中,用户的查询和任务不是很多样化,因此长上下文的容量不是那么关键。
- 观点5 (如何与智能体进行交互): 基于语音的交互是最流行的方式。不出所料,就像现有的虚拟助手 Siri 一样,模仿人类的交流方式——语音交互是最常见和最有效的选择。基于文本的聊天机器人和 GUI 排名第二和第三,因为大多数参与的专家都专注于移动设备,例如智能手机。虚拟现实只有
1.52
分,是所有问题中最低的;这可能源于 VR 设备的高价格和当前 VR 技术的用户体验不尽如人意。
- 观点6 (需要开发哪些agent能力): 在个性化LLM代理的未来发展中,“更智能和自主的决策能力” 被认为是参与者中最关键的特征;几乎一半的参与者(
47.83%
)认为它是第一名。“用户体验和交互方式的持续改进” 和 “个人数据的安全处理” 也备受关注,分别获得36.36%
和33.33%
的支持率,并列第二。尽管 “与物联网设备集成” 排名最后,47.63%
的参与者仍然认为它作为个性化LLM代理的基础设施很重要。 - 观点7(理想的IPA需要哪些特征): 根据参与者的回答,我们总结了以下 六个理想智能体的关键特征:
- 高效的数据管理和搜索: 代理充当外部大脑,通过高效的数据存储来记住用户的数据。它为用户提供了快速检索和精确搜索的能力。
- 工作和生活的助手: 当用户询问技术细节时,代理在工作中充当副驾驶。它还可以执行重复和繁重的任务,并为用户提供文档和内容生成。
- 个性化服务和推荐: 代理可以根据用户习惯发现用户的潜在需求,进而主动为用户提供服务。它可以作为个人和家庭健康经理、医疗服务器、购物比价助手、旅行助手等。
- 自主的任务规划和完成: 代理可以理解用户的意图,分解用户提出的任务并自动一步步执行(进一步形成自主的思维链功能),并通过明确的指令帮助用户完成需要手动完成的步骤。
- 情感支持和社会互动: 代理可以通过聊天理解并帮助用户调整情绪。它还可以了解用户与不同人的关系,并帮助他们以用户的声音编写反馈的草稿。
- 数字代表及其他: 代理可以代表用户参加会议,驾驶汽车,去工作,并执行任何授权的任务。它能够真正地理解用户,并以当前用户自己的身份与他人进行交流和社交。
- 观点8(最紧迫的技术挑战是什么): 根据参与者的反馈,最紧迫的挑战和技术问题分为以下 五类:
- 智能。1)多模态支持:LLM需要理解和处理不同的数据类型(如文本、图像和视频),因此它应该具有高级的数据对齐和解释能力。2)上下文理解和上下文感知动作:在各种应用场景中,LLMs必须准确理解用户需求并生成相应的控制指令。这需要LLMs的上下文理解能力以及将上下文转换为有效行动的能力。3)增强轻量级LLM的特定领域能力:由于资源有限的个人设备上的 LLM 的大小和复杂性限制,可能在复杂任务或理解深层上下文含义方面表现不佳。因此,如何提升轻量级模型的能力并处理特定领域的复杂任务受到广泛关注。
- 性能。1)有效的LLM压缩或紧凑的架构:在资源有限的移动设备上运行LLM需要平衡性能和任务完成质量。有效的模型压缩技术需要考虑到 LLM 的特点,以保持高质量的任务完成。2)实用的本地-远程协同架构:LLM的本地-远程协同架构被认为是有前景的,它希望既继承本地模型的快速/低成本响应能力,又能继承云模型的高质量生成能力。然而,如何实现准确高效的协同被广泛认为是一个重要的挑战。
- 安全和隐私。1)数据安全与隐私保护:在使用个人数据训练和执行 LLMs 时,确保个人数据的安全性和用户隐私的保护至关重要。因此,迫切需要开发新的数据匿名技术和隐私保护协议。2)推理的准确性和无害性:确保模型输出对用户是精确和无害的,特别是在用于决策或敏感场景时。
- 个性化和存储。个性化需要高效的数据存储解决方案来管理和利用与用户相关的数据,包括他们的偏好、历史行为和交互。
- 传统操作系统支持。对于基于移动端的LLM代理,一个关键需求是 LLM 友好的接口和对传统操作系统(如Android)的支持。这可能涉及操作系统级别的更新和应用程序编程接口(API)的开发,以便更好地集成和利用 LLM 的功能。
● 受领域专家宝贵意见的启发,本后后续部分将更详细地讨论所需的能力和潜在的挑战。
4 个性化LLM代理——基础的能力(Capabilities)
● 本文首先讨论了个性化LLM代理支持多样化特征所需的能力。除普通LLM代理的一般功能外,本文专注于个人助理的三种基本功能,包括任务执行、上下文感知和记忆。任务执行(§4.1
) 是将用户的命令或主动感知的任务转化为对个人资源的行动。上下文感知(§4.2
) 的目的是感知用户和环境的当前状态,为任务执行提供全面的信息。记忆力(§4.3
) 是记录用户数据,使代理回忆过去的事件,总结知识和自我进化。上下文感知和记忆是与用户查询信息相关的能力,而任务执行则是为用户提供服务的能力。图8描述了这些基本功能之间的关系。下面几节将详细讨论这些功能。
4.1 基础的能力→任务执行(Task Execution)
● 任务执行是个性化LLM代理的基本能力,使其能够响应用户请求并执行指定的任务。在我们的场景中,代理被设计为与各种个人设备(如智能手机、计算机和物联网设备)进行交互和控制,以自动执行用户的命令。
任务执行的一个基本要求是代理能够准确地解释用户传达的任务。通常,任务可能源于用户的口头或书面指令,智能代理从中识别用户的意图。随着语音识别技术的成熟,将语音信息转换为文本变得非常方便[64,65]。
个性化LLM代理应该在将用户的命令转换为文本后自动制定计划并采取行动。虽然规划对传统的 DNNs 提出了挑战,但基于 LLM 的智能体在这方面表现出了更大的能力。在之前的调查中[66,67,68]已经讨论了 LLM 智能体的规划和推理能力。本文主要关注个人数据的操作和与个人设备的交互。一个重要的考虑是,个性化 LLM 代理可能需要与可能缺乏全面 API 支持的应用程序或系统交互。探索了用户界面(UI)作为个人代理的重要工具,在存在 API 限制的场景中实现有效交互。
4.1.1 任务执行的自动化方法
● 根据交互方式的不同,任务执行方法可以分为 基于代码的方法 和 基于用户界面的方法。在基于代码的场景中,代理主要通过自动生成调用api 的代码来完成任务。在基于 UI 的场景下,代理通过自动模拟人类与 UI 界面的交互来与个人设备进行交互。
1.基于代码的任务自动化方法: 通常涉及生成适当的代码来与 api、数据库和 DNN 模型交互。传统的基于代码的个人助理通常基于 基于槽填充的以任务为导向的对话 (slot-filling-based Task-Oriented Dialogue,TOD)框架。然而在 LLM 时代,越来越多的研究人员试图直接使用 LLM 来直接生成调用 api 的代码,以完成更复杂的任务:
- 槽填充(Slot-filling)法: 常用于任务导向型对话系统(TOD)或聊天机器人中,它是一种旨在通过对话帮助用户完成特定任务的对话人工智能[69,70]。在面向任务的对话系统中,“槽”是完成任务所需的预定义信息类别。例如,在旅行预订应用程序中,“槽”可能包括目的地、旅行日期、乘客数量等。在对话过程中,系统提示用户提供这些信息,并调用相应的 api 来完成任务。对于移动设备,许多方法专注于通过允许用户演示所需的任务来促进任务自动化,这些任务可以通过对话界面执行[71,72,24,25]。这些方法通常假设用户的任务可以定义为槽值对的集合。该假设允许精确管理与可控单元的对话,执行任务是不断提示用户未识别槽的值。然而,这些方法没有考虑一个槽有多个值或槽之间存在关系的复杂情况[73]。此外,它们严重依赖定义良好的 api,并且对未见过的领域缺乏适应性。最近的研究论文利用 LLM 的理解和推理能力来完成更复杂和多轮的TOD任务[74,75,76,77],并提高了槽填充方法的效率。
不就是文本填空嘛,通过填充 [MASK] 来表达用户意图。 - 程序合成(Program synthesis)方法: 利用 LLMs 的代码生成能力与 api 进行交互。一种方法是微调 LLM 以使用特定的 api。WebGPT[47] 通过调用 Microsoft Bing Web Search API[79] 对 GPT-3[78] 进行微调,以回答冗长的问题。最近的一些工作[46,80,81,82]对 LLM 进行微调,以检索和调用 api,提高它们在各种任务中的性能,如数学推理和程序合成。Octopus V2[83] 在设备上引入了
2B
参数的 LLM 来调用 Android api 以实现任务自动化。另一种方法是利用 LLM 的链式推理[84,85,68]和上下文学习能力[78]。它们在上下文中显示工具的描述和演示(例如api、其他dnn等),并询问 LLM 如何使用它们来完成任务[86,87,88,52,89]。然而,微调 LLM 可能是昂贵的,并限制于预定义的工具集,并且当 api 数量增加时,上下文学习可能会失败。因此,ToolkenGPT[90] 的作者试图通过将每个工具(API)表示为 token 来解决这个问题。
【该方法存在的缺陷】 基于代码的方法可以完成从网络搜索到图像生成的数千项任务。然而,出于安全考虑或业务利益考虑,在现实生活中的应用程序中,并非代理开发人员可以使用所有所需的 api。此外,有些任务对于人类用户来说很容易执行,但调用系统 api 却很困难[73]。仅仅依靠公开可用的 api 可能无法完全满足移动任务自动化的高度多样化需求。
2.基于用户界面(UI)的任务自动化方法: 自主 UI 代理试图将用户的任务转换为智能手机或其他个人设备上的 UI 操作,通过直接的 UI 交互来自动化这些任务。与基于代码的任务执行相比,自主 UI 代理不依赖于公开可用的 api,可能允许更多功能的自动化功能。然而,由于任务和 UI 元素之间的隐含关系,传统 DNN 模型通过 UI 动作执行用户任务并不容易。最近,研究人员利用 LLM 的理解和推理能力来提高自主 UI 代理的性能。
UI代理的输入是用自然语言描述的任务,也是当前 UI 的表示,输出是要在 UI 上执行的 UI 操作。根据它们表示 UI 的方式,我们可以将自主 UI 代理分为基于文本的 GUI 表示和多模态 GUI 表示:
- 基于文本的GUI表示: 即将 UI 转换为纯文本。Seq2act[4] 训练一个基于 Transformer 的模型[31],将用户的指令映射到
<操作,对象,参数>
元组中描述的 UI 操作。研究人员还研究了移动 UI 的提示来完成 UI 指令映射的任务[91]。作者将移动用户界面转换为 HTML 代码,这对于 LLM 来说很容易理解,因为他们的训练数据的重要部分是从 Github 上抓取的。DroidBot-GPT[92] 是一个基于 LLM 的系统,在一系列 UI 动作中完成用户的任务。Mind2Web[93] 使用较小的 LM 过滤网页的原始 HTML,并使用 LLM 选择目标元素和动作。AutoDroid[94] 使用应用程序分析工具来获取应用程序特定领域的知识,并使用它来增强 LLM 以实现任务自动化。在 AXNav[95] 中,作者构建了一个使用 LLMs 和基于像素的 UI 理解来执行手动无障碍测试的系统。MemoDroid[96] 介绍了一个基于 LLM 的移动任务自动机,可以将任务分解为更小的子任务,并通过回忆以前的动作来完成它们。 - 基于多模态的GUI表示: 即使用 UI 的图像(和文本)描述作为个性化LLM代理的输入。早期的研究工作集中在训练多模态 Transformer,将用户命令传递给 UI 元素[97,98,38]。在 LLM 时代,一些方法试图将视觉编码器与 LLM 相结合来处理 GUI图像[99,100,101]。随着大型多模态模型(LMMs)的出现,越来越多的项目采用视觉语言代理来进行 UI 动作的引导和导航[102,103]。一个趋势涉及利用强大的 LMMs(如GPT-4V)来理解 GUI 并选择 UI 元素[104,105,106,107]。另一个研究方向是通过对 GUI 相关任务的大规模数据集进行微调来定制开源的 LMMs[108, 109, 110]。
【与上一个方法的对比,及缺陷】 虽然与基于 API 的自动化相比,基于 UI 的任务自动化有潜力实现更灵活的个人代理框架,但其研究仍处于早期阶段。完成更复杂的用户命令仍然具有挑战性。此外,隐私和安全问题还没有完全解决[94,99]。它在 UI 表示方面也存在争议。虽然多模态表示可以处理无法通过无障碍服务解析的元素,但它受到屏幕记录的繁重需求和当前视觉语言模型有限的推理能力的困扰[111]。
4.1.2 任务执行的自动化代理框架
● 【该研究的相关工作】 LLM 驱动的自主代理由 LLM大脑(制定计划和自我反思)、存储过去信息和知识的记忆以及与工具(如 API、UI、编程语言)交互的工具使用模块组成[112,67]。有很多流行的项目为用户提供了框架来创建由 LLM 驱动的代理[113,114,115,116,117,118,119, 120,121]。他们试图通过与其他外部工具交互和检索长短期记忆来增强 LLM 的能力。Auto-GPT[113] 是最著名的框架之一,它可以通过为 GPT 生成提示符并使用外部工具来执行用户的命令。LangChain[114] 是另一个流行的框架,它帮助开发人员使用 LLM 创建更复杂和上下文感知的应用程序。由于具有理解和产生自然语言的能力,由 LLM 驱动的智能体还可以毫不费力地相互参与,从而培养了一个多个智能体之间可以蓬勃发展的合作和竞争的环境[122,123,118,124]。这些自主代理框架在工程上做出了重大贡献,为 LLM 支持的应用程序提供了更友好的框架。
【该研究在移动设备上的相关工作】 对于移动设备,AutoDroid[94] 为开发移动代理提供了一个有效的框架。开发人员可以通过使用测试输入生成器或手动演示来探索应用程序,轻松地为移动任务创建自动化。AutoDroid 然后自动分析这些记录,并利用它们改进语言学习模型(Language Learning ModelsL,LLM),以更有效地实现任务自动化。Huang等人[125] 开发了一种新方法,可以有效地从用户-智能手机交互轨迹中提取宏(应用程序中用户活动的基本单位,如“登录”或“调用联系人”)。这些宏可以帮助代理自动完成任务。
4.1.3 任务执行的评估
● 任务执行的评估性能是一个具有挑战性的问题。对于基于 API 的任务执行,以前的调查已经提供了如何评估它们的全面总结[66,68]。本文主要关注基于 UI 的任务自动化的评估。
- 指标(Metrics): 基于 UI 的任务执行指标是完成率[4,97,94]和人工设计的奖励[126,127]。完成率是模型预测的所有动作与真实值完全一致的概率。然而,由于可能有不同的方法来完成一项任务,而真实值通常只代表这些方法中的一种,因此这种方法评估的准确性并不完全正确[94]。基于关键步骤手动设计奖励可以更精确[127],但由于复杂的注释过程,可扩展性较差。
- 基准(Benchmarks): 表
6
列出了基于 UI 的任务自动化的基准。一组基准是静态数据集,通常包括一组人工注释的任务、结构化 UI 数据(和屏幕截图)和完成任务的操作。一些任务是综合生成的[4,126,127]。早期的工作主要集中在具有明确说明的低级任务[128,35],例如,单击“设置”按钮,然后单击“字体大小”。后来的作品介绍了可以通过多个步骤完成的高级任务[4,129,97,130,93,131,132,133,134,135],例如,删除我的日历中的所有事件。另一组基准是使代理能够交互的平台。MiniWoB++[39,6]、WebShop[136] 和WebArena[137] 提供了 web 环境,代理可以通过点击、输入、关闭页面等方式在 web 上导航和操作。AgentStudio[138] 提供了一个全面的平台,支持与通用真实世界计算机的交互。AndroidEnv[126] 和 MobileEnv[127] 提供了一个动态环境,代理可以参与任何基于 Android 的应用程序和核心操作系统。该框架允许在不同的 Android 平台上进行广泛的交互和任务解决能力。
注:现有方法已经证明了LLM代理在任务推理和规划方面的显著能力。然而,要实现实用的个性化LLM代理还需要解决几个重要的问题:
- 如何准确高效地评估智能体在现实场景中的性能。由于完成同一任务通常有多种方法,因此使用静态数据集来衡量任务执行的准确性是不准确的。同时,在模拟环境中动态测试任务可能效率低下且难以重现。
- 如何稳健地确定任务是否已经完成。LLM 在执行任务时经常会出现幻觉,这使得很难确定当前任务是否已经完成。
- 关于 UI 代理,代表软件 UI 的最佳方式是什么? 基于视觉的表示(例如截图)通常是可用的,而基于文本的表示通常更轻量,对 LLM 代理操作更友好。
4.2 基础的能力→上下文感知(Context Sensing)
● 上下文感知是指代理感知用户或环境的状态,以便提供更定制化的服务的过程。本文对上下文感知进行了广泛的定义,将一般信息收集过程视为一种感知形式。基于硬件的感知符合传统的感知概念,主要涉及通过各种传感器、可穿戴设备、边缘设备和其他数据源获取数据。另一方面,基于软件的感知强调数据采集手段的多样化。例如,分析用户的输入习惯和常用短语构成了一种形式的软件基础感知。
在个性化LLM代理中,上下文感知能力可用于各种目的:
- 启用感知任务: 有些任务固有地要求智能体进行感知。例如,当用户要求代理在睡眠中检测打鼾时,代理必须具有主动获取、处理和分析音频数据的能力。
- 补充上下文信息: 感知到的信息可以帮助执行歧义或复杂的任务。例如,当用户想听音乐时,最好知道用户的当前活动来推荐合适的音乐。
- 触发上下文感知服务: 感知能力也是提供主动服务的基础。例如,代理可能会注意到用户保持专注于检测危险驾驶行为。
- 增强代理的记忆: 通过感知感知到的一些信息可以成为代理记忆的一部分,供代理进一步定制和自我进化使用。
4.2.1 上下文感知的感知源
● 硬件传感器。 现代个人设备配备了广泛的内置硬件传感器,包括加速度计、陀螺仪、磁场传感器、光传感器、温度计[139]、麦克风[140]、GPS模块、相机[141]等。其他一些模块如蓝牙和 Wi-Fi[142] 也可以用于传感目的。随着智能手表、蓝牙耳机[143]、智能家居设备[144]等可穿戴设备和物联网设备的日益普及,感知范围和感知方式得到了极大扩展。
最近,探索 LLM 与原始传感器数据深度集成的研究大量涌现。例如,一些研究将原始 IMU 数据直接嵌入 LLM 的提示中,从而实现人体活动识别(HAR)[145]或轨迹预测[146]。Zhang et al.[147] 为 LLM 提供了 3D 场景的鸟瞰图,并允许它迭代地选择视点来理解 3D 点云场景。此外,Zheng等人[148] 采用了可训练的双声道音频前端和微调的 LLM,使 LLM 能够理解空间声音。类似的前端和微调方法在各种领域中普遍存在,如激光雷达[149]和自动驾驶[150,151]。
● 软件传感器。 与从真实传感器设备中获取数据的硬件感知不同,软件感知侧重于从现有数据中获取信息,如应用程序使用[152]、通话记录[153]、打字习惯[154]、视频游戏[155]等。软件感知的范围非常广泛。例如,在自然语言处理或音频领域,存在大量基于文本或语音的感知研究。此外,在电子商务或短视频平台等推荐系统中,推荐过程通常涉及首先感知特定用户信息,然后推荐特定产品或内容。这些传感器让智能体更好地了解用户,使其能够提供更智能和个性化的服务。
● 多个传感器的组合。 多传感器协同感知是增强感知能力的有效方法。之前的工作已经证明了基于触摸屏和惯性传感器[156]的用户情绪、压力水平和情绪状态评估,通过屏幕捕捉和传感器数据[157]识别花费的时间,通过耳机麦克风[158]的呼吸检测,以及通过传感器和音频[159]的细微运动检测。
多传感器协作的重要性延伸到智能可穿戴设备和智能家居的普及。例如,利用从个人设备[160] (智能手表、笔记本电脑和智能手机) 收集的数据自动识别用户何时工作或休息,或者通过耳机和智能手机麦克风的组合进行动作检测[143]。此外,涉及家用电器融合的技术,如基于现有有线设备的用户动作感知[161]、智能家居环境下的动作识别[144]、基于 wi-fi 的动作检测[162]、多人检测[142]、睡眠监测[163]等。
有三种不同的方法使 LLM 理解和利用传感器数据:
- 选项1-传感器数据作为提示: 该方法直接将传感器数据作为文本提示输入LLM。该方法可应用于各种传感源,如 IMU[146]和蓝牙[164]。原始传感器数据和提示之间的映射可以通过规则创建,例如将物体表面的触觉感觉映射到“软”或“硬”等描述符[165]。该方法简单有效,已经有很多研究证明了这一点。然而,它也有重要的局限性,例如处理大量原始数据的巨大计算成本,以及 LLM 理解纯文本中复杂传感器数据的能力有限。
- 选项2-传感器数据编码+微调: 这种方法使 LLM 能够通过数据编码器来理解传感器数据。编码器使用一个学习的神经网络从原始传感器数据中生成 token嵌入,这些嵌入通常通过微调集成到 LLM 中。对于复杂的传感器数据,如激光雷达[149]和双通道音频[148],该方法产生了显著的结果。这种方法允许 LLM 有效地理解传感器模态,用于构建复杂的端到端系统,如自动驾驶[151,150]。其缺点在于训练难度高。
- 选项3-将传感器数据重定向到特定领域的模型: 这种方法不直接使用 LLM 处理传感器数据,而是使用 LLM 调用其他专门的小型模型来处理原始传感器数据。例如,Darvish等人[166]利用物体检测或姿态估计等技术来帮助化学实验机器人提高感知和理解能力,将额外的信息添加到原始数据流中,并转换为 LLMs 可以理解的形式。
【其他多传感器的相关研究】 在多传感器、多设备的应用场景中,数据源选择、数据融合和数据分析方法都需要考虑。现有方法包括 LLM 驱动的在人类行为理解中生成多传感器策略的策略[167]、与情绪无关的多传感器数据多任务学习框架[168]、传感数据的跨模态融合[169]、侧重于多传感器融合的可穿戴设备动作识别[170],以及数据缺失条件下传感器数据中的预测性焦虑[171]。此外,也有研究分析了跌倒检测中数据特征的重要性[172]。
【仍存在的挑战】 随着感知技术的发展,多传感器、多设备协同感知已成为感知复杂场景的主要方法。如何有效地整合不同的数据源以最大限度地提高准确性,以及如何从众多数据源中剔除不太重要的数据以节约资源是重要的研究领域。
4.2.2 上下文感知的感知目标
● 情境感知的目标可以分为 环境感知 和 用户感知。环境感知包括位置、场合、宗教和文化背景、国家和社会背景等因素。同时,用户感知包含用户活动、状态、个人信息、个性特征、情感、目标、身体状况等相关要素。
环境感知。进一步将环境感知分为 场景感知 和 场合感知 两个维度。场景感知主要涉及更有形的环境因素,如位置和地点。场合感知深入研究了更深层的环境信息,包括宗教和文化背景、民族差异和社会关系。
- 场景(Scene)感知: 通常很容易察觉,但具有重大意义,导致行为和侧重点的变化。例如,在图书馆中检测到用户时,会提示代理将手机调整到静音模式,而在酒吧中可能需要增加音量并激活振动。与强调类似,当用户在会议室时,代理应该更多地关注与会议内容记录和工作组织相关的任务,而在健身房,重点应该转向健身计划和心率分析。之前在场景感知方面的工作采用了各种技术[173],如基于位置的方法[174],音频或视频分析[175,176],以及传感器能力,通过智能手机麦克风分析气流以评估通风[140],或通过分析放置在表面附近的智能手机相机拍摄的微距照片实现的场景识别[141]。Zhang等人[147]通过 LLM 引导的多视点选择让 LLM 理解 3D 场景。
- 场合(Occasion)知觉: 在知觉中是比较难以捉摸的,它们的影响是相对谨慎的。早期的研究已经确定了不同国家[177]和地区[178]的行为和情绪识别任务的差异。当前用户和设置所隐含的国家、民族、宗教和文化背景至关重要。感知当前环境中的其他人和物体也同样重要。例如,之前的工作基于传感器数据检测社交场景,分析社交焦虑个体在不同社交环境中的行为[179]。其他研究使用多个传感器深入分析与饮酒相关的社交场景,甚至预测饮酒群体的规模和性别组成[180]。此外,研究还探讨了传感器数据、饮食习惯和社会环境之间的关系,揭示了暴食和社会环境之间的强烈关联,使其具有可预测性[181]。Liang等[182] 通过对公共事件的分析,使用 LLM 预测人流量。
环境感知是个体智能体的重要上下文信息。不同的环境导致不同的行为和焦点,超越了单纯的位置,包括社交场合、文化背景和更深层次的概念元素,所有环境中的个人和关系、互动,并预测对环境和用户的影响。这些考虑直接影响个人智能体所表现出的智力水平。
用户感知。用户意识是个性化LLM代理的主要特征之一。对用户的深入理解可以更好地体现个性化LLM代理的价值和意义。将用户感知分为两个时间维度,包括短期和长期。短时感知表现出更高的时间变异性和更多的随机性。另一方面,长期的传感需要长期的维护和校正,使其相对更稳定和可靠。
- 短期用户感知: 包括用户的日常行为[183],或诸如刷牙有效性[184]等专门活动,Ji等[145] 发现,即使直接将 IMU 数据提供给 LLM 也可以执行人体活动识别(Human Activity Recognition, HAR)任务。用户状态,如工作或休息[160,157],用户健康状况[185,139,186],以及用户情绪[187,156]和压力水平[188]。最近,许多研究试图探索LLMs在健康监测领域的应用[189,190,191]。短期感知通常涉及快速变化的浅层状态信息。有效地捕获这些信息可以显著增强个性化LLM代理的上下文感知。
- 长期的用户感知: 主要关注对用户画像和个性的分析。人们提出了各种各样的方法来了解用户的工作、学习和日常生活。例如,一项研究利用新智能手机的传感器数据来检测新生心理状态的延长[192]。另一项研究证明了基于感知数据预测学习表现和社会活动的能力[193]。Gao等人[194] 深入研究了基于体育活动强度预测性格的技术。还有研究考察了传感器数据与用户职业发展之间的关系[195],以及预测用户生活满意度的研究[196]。此外,用户的特定状态一直是一个重点,包括对精神疾病认知的研究[197,198],例如预测和分析精神分裂症[199],抑郁症[190],以及检测吸烟等习惯[200]的研究。Lifelo等[191] 利用 LLM 对一种非常罕见的非洲语言进行心理障碍分析。此外,Ouyang和Srivastava[201] 试图从简单数据中提取更高层次的感知信息。长期感知涉及深刻而抽象的信息,蕴含着用户行为背后深刻的逻辑。这些信息往往更加微妙,使感知和维护变得困难。然而,它们构成了高级个人代理的一个重要方面。
在用户感知方面,也有一些基于 LLM 的举措,如使用 LLM 进行推荐任务[202,203],使用 LLM 进行情感分析[204],以及开发具有查询和感知能力的私人医生[205]。
注:现有的方法通常局限于特定的传感器、单个应用程序或特定领域。在个性化LLM代理中,一个可能的机会是统一有关环境和用户的所有感知结果,以来自不同的来源。然而,实现这一目标涉及两个重要的研究挑战:
- 什么是感知信息的统一格式或本体? 智能体应该能够将不同的感知数据转换为这种格式,并方便地将数据用于各种下游任务。
- 考虑到广泛的感知范围,代理如何决定何时感知和感知什么,以便以最小的开销提供上下文感知服务?
4.3 基础的能力→记忆力(Memorizing)
● 记忆力表示在个性化LLM代理中记录、管理和利用历史数据的能力。这种能力使代理能够跟踪用户,从过去的经验中学习,提取有用的知识,并应用这些知识进一步提高服务质量。相关工作主要围绕 两个问题 展开,即如何获取记忆和如何利用记忆。
4.3.1 如何获取记忆?
● 【对个性化LLM代理的记忆的定义】 代理的记忆可以是各种格式。例如,基本的用户配置文件(如生日、地址、个性、偏好)通常以键值对的形式存储,便于基于键的检索。历史记录通常表示为时间戳索引的序列,它将随时间推移的用户服务访问、活动、系统事件等记录下来。用户的文档、照片、视频等以文件的形式存储,这些文件通常由其他应用程序生成。获取记忆主要有两种方法:直接记录原始数据(即日记记录) 和 间接从原始数据推断知识(即记忆推理)。
日志记录。获取记忆最直接的方法是通过日志记录,例如记录用户输入、系统事件和感知的上下文。日志数据通常相对简单。生活日志是一个经常被讨论的话题,它关注于跟踪和记录通过用户的活动和行为产生的用户数据,有助于全面了解个人的生活方式和偏好[206,207]。使用摄像机在特定时刻记录的数据可以提供日常活动的更深入概述[208]。此外,长时间记录数据可以为行为模式提供有价值的见解,这将支持智能代理的个性化[209]。
记忆推理。个性化LLM代理获取记忆的另一种方法是从原始数据中提取知识。随着机器学习和数据分析技术的发展,通过推断用户行为、模式和交互来了解他们的心理、偏好和其他高级信息成为可能。例如,可以从文本[210,211]中提取用户个性,可以从图像和文本数据[212,213]中读取情感,可以从历史交互信息中建模偏好[214],可以从智能手机推送通知中提取知识图谱[215]。这些提取的高级信息也将存储为代理的记忆并在服务中使用。
4.3.2 如何管理和利用记忆?
● 在获得记忆后,接下来的问题是如何管理和利用记忆,以便在个性化LLM代理中提供更好的服务。基于记忆利用目的,将相关技术分为以下 3
个部分,包括原始数据管理、记忆增强的LLM推理和智能体自进化。
-
原始数据的管理和处理。个性化LLM代理的一个基本能力是访问和处理原始记忆数据(例如,选择、过滤、转换为其他格式等),以方便其他高级功能。这方面的工作主要专注于实现更自然、更易于理解的数据访问、操作和修改。由于 LLM 的输入输出和推理过程基于自然语言,这样的接口更容易与大型模型的其他功能集成。在这一研究领域,许多工作探索了使用机器学习模型或基于模板的方法将用户数据请求映射到数据库SQL语句[216,217]。还有框架级别的工作,研究如何统一和简化数据接口。例如,PrivacyStreams[218]将所有个人数据访问和处理接口统一到一个基于流的框架中,这更有利于大型语言模型的理解和管理。
-
记忆增强的LLM推理。为了使个性化LLM代理能够基于用户相关的记忆提供定制化服务,通常希望在 LLM 推理过程中利用记忆数据。最近关于 LLM 代理的研究探索了利用记忆来增强决策和推理[85,219,220,221,222],这为个性化LLM代理可以通过记忆为用户提供个性化服务的解决方案提供了灵感。以下两个技术可以根据记忆类型的不同而不同:
– 短期记忆: 以符号变量的形式保存和保留相关信息,确保其在当前决策周期的可访问性和适用性。这包括知觉输入、主动知识(由推理产生或从记忆数据中检索),以及从上一个决策周期中携带的其他核心信息(例如,代理的主动目标)。CoT [84], scratchpad[223] 鼓励 LLM生成中间推理,使用 LLM 自己的上下文作为一种工作记忆形式。CoALA[224] 提出在长期记忆(long-term memory, LLM)调用期间,工作记忆应该是一个持久化的数据结构。每个调用从工作记忆的一个子集(例如,提示模板和相关变量)生成输入,输出随后被解析为其他变量(例如,操作名称和参数),这些变量被存储在工作记忆中,并用于执行相应的操作。此外,短时记忆具有与长时记忆和其他数据接口交互的能力,作为连接语言代理的不同组件的中心枢纽[225,226]。
– 长期记忆: 存储早期决策周期的经验。这可以包括历史事件流[219],以前章节[227,228]的游戏轨迹,用户和智能体之间的交互信息或智能体体验的其他表示。在决策周期的规划阶段,这些情景可能被检索到工作记忆中以支持推理。智能体还可以将从工作到情景记忆的新经验作为一种学习形式编写。其次,长期记忆存储智能体关于世界和自身的知识。传统方法利用外部数据库中的检索来进行推理或决策初始化记忆,以获得知识支持(例如,NLP[229, 230]中的检索增强方法,RL[231, 232]中的“阅读学习”方法)。智能体还可以将从 LLM 推理和用户中获得的新知识写入长期记忆,作为一种学习形式,以从经验中逐步建立世界知识。 -
代理的自我进化。为了更好地适应用户,个性化LLM代理可能还需要根据记忆数据动态更新自己。我们称之为“自我进化”。智能代理的基本功能主要依赖于LLM。因此,智能体自我进化的关键在于如何利用 LLM 来发现和探索新技能,以及 LLM 本身的不断更新。
– 学习技能。目前,许多努力正在进行,以使基于 LLM 的智能体能够进行持续的技能学习和获取[233,234]。这些方法的灵感来自程序的通用性和可解释性[235],将技能视为可执行代码,并通过策略性地使用提示来利用LLM的上下文学习能力来优化技能获取。它们还管理一个技能库,将新技能集成为api,使智能体能够在后续任务中不断学习和重用这些技能。之前的工作表明,现在的 LLM 可以捕获有意义的技能链的相关信息[51,49]。因此,智能体有能力 通过战略性地 将基础技能集合中的技能联系起来 来获得新的技能[236]。在技能链的过程中,智能体利用 LLM 中嵌入的先验知识和执行反馈,对后续有意义的技能进行有目的的选择,以允许语言模型调整其选择。这种有针对性的方法使智能体能够有效地吸收复杂的技能。
– 微调LLM。为了实现智能代理的自我进化,还需要LLM的不断微调。有几个原因:1) 当前的 LLM 不是专门为特定于智能体的用例设计的,如生成行动或自我评估,其中通过少次提示提供有限的学习支持。2) 由于移动设备的性能限制,智能代理的 LLM 组件的能力受到限制。这一限制使得模型很难通过先验知识和上下文学习能力获得新技能。3) 在智能体的运行阶段,材料(如最新语料库[237]、新知识[238]和工具[239])的一致出现会频繁地改变任务模式。这需要 LLM 的不断适应。在这种情况下,有必要对模型进行微调,以增强其处理新任务和生成适当动作的能力。研究表明,在特定推理[240,241]和行动[225]需求方面,微调的较小 LLM 可以胜过提示的较大 LLM,同时享受减少的推理时间和费用。参数高效微调(PEFT)[242]提出了一种有效微调 LLM 的有前途的方法。它只需要微调一小部分外部参数[243],使其对边缘设备友好,并且可以有效缓解灾难性遗忘问题[244]。还进行了一些初步尝试,利用来自多个任务的轨迹和提示方法对智能体[245]进行 LLM 微调的研究,启发了未来旨在开发更有能力和有用的个人 LLM 智能体的努力。
注:生成和利用关于用户的记忆的能力是个性化LLM代理中个性化的基础。本文强调了围绕个性化LLM代理的记忆机制的以下三个开放问题。
- 代理的记忆可能是巨大的、异构的和动态的。智能体组织和检索记忆最有效和高效的方法是什么?
- 人类有遗忘的能力。由于记忆中不恰当的数据会影响智能体的服务质量和效率,那么智能体如何决定记忆哪些信息呢?
- 智能体随着记忆自我进化的最佳方式是什么? 具体来说,使用什么数据,何时演进,以及如何演进(微调或其他)?个性化模型如何接受基础模型的更新?
5 个性化LLM代理——效率(Efficiency)
● 由于许多个人设备的硬件资源和电源有限,在部署阶段提高个性化LLM代理的效率至关重要。我们在第 4
节中讨论了个性化LLM代理的基本能力,包括任务执行(Task Execution)、上下文感知(Context Sensing)和记忆力(Memorizing)。如图 9
所示,这些功能由更基本的过程支持,主要包括LLM代理的推理(Inference)、定制(Customization)和记忆操作(Memory Manipulation)。每一个过程都需要仔细优化效率,如下所述。
推理(Inference)。LLM的推理是代理各种能力的基础。例如,代理可能首先在 LLM 的帮助下将复杂任务分解为几个步骤,然后通过 LLM 推理或调用个人工具(例如,安排会议)来解决每个步骤。感知上下文或生成记忆也可能依赖于 LLM 的推理能力。虽然由于多样性,使用工具或传感器的成本通常很难估计,但 LLM 推理是一个常见的过程,需要大量的计算和存储资源。因此,LLM推理成为个性化LLM代理的性能瓶颈,需要对其效率进行仔细的优化。
定制(Customization)。定制是个性化LLM代理的另一个重要过程,以适应不同的用户需求。当代理安装到不同的用户或在不同的场景中使用时,需要进行定制。个性化LLM代理的自我进化也是一个定制的过程。为了提供定制服务,代理可以向 LLM 提供不同的上下文token,也可以使用特定领域的数据调整 LLM。由于用户的频繁定制需求,这些过程可能会给系统的计算和存储资源带来较大的压力。
记忆操作(Memory Manipulation)。记忆操作是另一个开销很大的过程。为了提供更好的服务,智能体可能需要访问更长的上下文或外部记忆,如环境感知、用户配置文件、交互历史、数据文件等。因此,这引起了两个考虑。第一个问题涉及使 LLM 有必要处理较长的输入。第二个问题围绕着从外部记忆库中管理和获取信息。
我们将在下面的小节中深入研究每个组件的效率,如图 10
所示。
5.1 如何提升效率→高效的推理
● 由于个性化LLM代理的运行时成本主要由 LLM 推理决定,因此提高推理效率对提升代理的整体效率至关重要。尽管总推理成本会受到智能体设计的显著影响,包括智能体如何向 LLM 发送请求,使用什么提示等,但我们将只关注模型和系统级方法的效率。原因是代理的设计可能会根据实际应用而变化,并且不会直接影响 LLM 推理本身的效率。
许多模型级和系统级的方法被提出以提高 LLM 推理的效率。虽然其中一些对于整体性能和效率(例如,模型压缩)是通用的,但也有针对特定角度的效率的技术,如模型大小、推理延迟、内存消耗、能源消耗等。我们将在本小节,分以下 四个部分 分别讨论这些方面。
5.1.1 模型压缩技术
● 模型压缩技术直接降低了模型大小和计算量,是提高 LLMs 推理效率的通用优化技术,包括计算量、内存和能耗等。模型压缩技术进一步分为各种方法:量化、剪枝(稀疏)、蒸馏和低秩因子分解。
1. 量化(Quantization): 是LLM最重要的压缩方法之一。它使用更少的比特(bits)来表示模型参数,从而减少了模型的规模,并通过对量化核的系统级支持来减少计算量。根据量化后是否需要额外训练,量化方法可以进一步分为训练后量化(PTQ)和量化感知训练(QAT)。与QAT(例如LLM-QAT[248])需要不可忽视的额外训练工作不同,PTQ在不同硬件约束下的设备上部署更具可用性和灵活性。
【该研究点的相关典型工作】 最近的工作表明,LLM 量化的困难主要在于激活值,其中离群值很难量化[305,306]。现有工作提出了各种方法来应对这一挑战。一种典型的工作采用仅权值量化(WOQ)范式,仅对权值进行整数量化(如 INT4
和 INT8
),同时保留浮点格式的激活值(如 FP16
和 FP32
)。WOQ 实现了压缩率和模型困惑度之间的权衡。WOQ 的一种直接方法是在当前移动部署框架(例如 llama.cpp[307] 和 MLC-LLM[308] )中实现的分组统一量化。最近的工作还提出了不同的量化算法来增强模型的性能,如GPTQ[246] 和 AWQ[247]。
【该研究点的相关其他工作】 除了 WOQ 技术,另一项工作同时量化了权重和激活。例如,ZeroQuant[249] 对权重和激活执行 INT8
量化,对模型权重使用分组量化,对激活使用 token 量化。然而,由于离群点的存在,与模型权重相比,包括键值(KV)对在内的激活值通常更难量化。已经开展了大量工作来应对这一挑战。SmoothQuant[250] 通过额外的缩放操作将激活的量化难度迁移到权重上,这些操作 “平滑” 了激活中的异常值,从而在 W8A8 量化中实现了可忽略不计的精度下降。后续工作进一步尝试通过各种技术,包括信道重排序(RPTQ[309])、信道移位和缩放(异常值抑制+[310])和自适应信道重组(QLLM[311]),将可用的量化位宽降低到4位。值得注意的是,RPTQ 通过开发一种新的量化方案来解决 KV 存储问题,该方案在量化激活时只关注 KV 缓存,这是长上下文推理中的主要内存消耗。
【该研究点的研究趋势】 虽然 INT4
、INT8
等整数量化方法在当前部署实践中仍然是主流方案,但低位浮点量化已经出现了新的趋势,如 FP4
、FP8
等。一个原因是浮点量化可以达到与整数量化相当甚至更高的精度[312,313,314]。此外,浮点量化可以在云gpu(如具有专用计算支持的NVIDIA H100)和移动gpu[315]上实现更高的计算性能。
2. 剪枝(Pruning): 通过删除网络中不那么重要的连接来减少模型大小和计算量。修剪分为结构化修剪和非结构化修剪。结构剪枝通常会删除规则模式中的权重,例如矩阵中的矩形块或整个通道,而非结构化剪枝不会施加这种约束。因此,结构化剪枝(例如LLM-Pruner[251])对硬件更友好,但更难以保持模型精度。虽然传统的剪枝方法需要昂贵的保留过程来保留模型能力,但最近的工作,如 SparseGPT[252] 和 Wanda[253] 已经探索了一次执行非结构化或半结构化剪枝。
3. 知识蒸馏(Knowledge Distillation, KD): 即使用表现良好的教师模型(通常具有大量参数和高精度)来指导轻量级学生模型的训练(通常具有较少的参数和较低的精度)。通过蒸馏,学生模型与具有相对较小训练数据集的教师模型很好地对齐,并有机会在下游任务中表现得更好[256]。根据训练过程中是否需要教师模型的参数,蒸馏方法可以进一步分为白盒方法(如BabyLlama[254]和MiniLLM[255])和黑盒方法(如Distilling step[256]和SCoTD[257])。由于学生模型通常是轻量级的量化模型或剪枝模型,因此在 QAT 和剪枝技术中也采用了 KD 来提高训练性能。例如,LLM-QAT[248] 提出了一种无需数据的蒸馏方法,以保留量化模型中的原始输出分布。
4. 低秩分解(Low-rank Factorization): 是指用两个低秩矩阵的乘积近似原始权重矩阵,从而降低模型的参数规模和计算量。具体来说,形状为 m×n
的权重矩阵 W 被分解为
U
m
×
r
U^{m×r}
Um×r 和
V
n
×
r
V^{n×r}
Vn×r 的乘积,使得
W
≈
U
V
T
W≈UV^T
W≈UVT,
r
≪
m
,
n
r≪m, n
r≪m,n。低秩分解可以与量化(如ZeroQuant-V2[258])和剪枝(如LoSparse[259])方法相结合,以提高压缩比。此外,低阶适配器有效地降低了 LLM 的自定义开销,这个问题留在 5.2
继续讨论。
5.1.2 推理加速技术
● 除了在 5.1.3
节中讨论的使模型更紧凑外,还有各种其他技术可以加速 LLM 推理过程。
【LLM与传统LM的区别】 LLM 区别于传统非 Transformer 模型的一个主要特征是注意力机制[31]。由于注意力的计算成本随着上下文长度的增加而近似二次增长,因此提高长上下文推理的计算效率尤为重要。现有工作已经探索了减少上下文长度并优化注意力核,以更好地支持长上下文推理。我们将分别介绍以下 四种 技术。
1. KV缓存方法: 其是在移动端(如 llama.cpp[307] 和 mlc-llm[308] )和云端 LLM 服务框架(如 DeepSpeed[316] 和 vLLM[317] )中广泛采用的技术,以避免 LLM 推理中的冗余计算。具体来说,KV缓存涉及在每代 token 中存储(即“缓存”)和增量更新 Key-Value (KV) 对,它们是注意力计算的中间结果。因此,避免了 KV 计算中的重复部分,降低了计算成本。然而,在长上下文推断中,尽管跳过了 KV 计算,但注意力的计算成本仍然是一个系统瓶颈,因此在这种场景下压缩上下文长度至关重要。
2. 上下文压缩方法: 通过减少上下文特别是 KV 缓存的长度来提高推理效率。权重和激活值的联合量化(包括 KV 缓存)是一种压缩 KV 缓存的直观方法,我们在 5.1.1
节讨论过。除了量化之外,上下文修剪还删除上下文中不太重要的 token,以减少计算成本。这种方法的有效性基于这样的观察,token 对最终输出有不同的影响,删除不太重要的 token 不会导致模型的能力显著退化[263,318,264,265]。一个典型的工作是在预填充阶段根据 token 的不同重要性压缩上下文[260,261,262]。然而,这些方法是一次性的,不能在 token 生成过程中随着上下文长度的不断增长而修剪 KV 缓存。为了解决这个问题,动态上下文修剪[263]使用一种可学习的机制来不断确定和删除无信息的 token。虽然可学习机制引入了微调开销,但Zhang等人[264]提出了一种 token 回收策略,可以在不进行微调的情况下应用。
受 tokens 不同等重要这一观察的启发,其他工作也探索了减少不重要 token 的计算量,而不是直接删除它们。COLT5[319] 采用了一种条件计算机制,将更多的资源用于 FFN 和 Attention 中的重要 token。SkipDecode[320] 设计了一种 token级 提前退出方法,可以与批量推理和 KV 缓存无缝工作,以便在 token 不那么重要时跳过计算图中的一些操作符。
3. 核(Kernel)优化: 这是加速 LLM 推理的另一种方法。对小批量或单批量推理的优化对于包括本地部署的个性化LLM代理在内的边缘场景尤其重要。现有工作表明,当序列长度较长时,注意力计算成为瓶颈,因为注意力复杂度随序列长度的二次增长,而 FFN 的复杂度是线性增长的。因此,高效的注意力核包括 FlashAttention[266,267] 和 flashdeco++[268] 被提出以提高长文本推理的速度。一些工作还从算法方面降低了注意力的计算复杂度。例如,Linformer[321] 在预填充阶段实现了自注意力的线性复杂度。此外,减少去量化开销也提供了显著的性能提升,如 LUT-GEMM所示[322]。
4. 推测(Speculative)解码: 这[270,269]是小批量推理中提高延迟的有效方法。边缘 LLM 推理的批量大小小于云端,通常为 1
(即单个查询),这使得推理工作负载严重受内存限制。推测解码通过一个轻量级的 “草案模型” 来 “猜测” 几个后续的 token,然后使用大型 “oracle模型” 批量验证 token 草案,从而减轻了这一挑战。Miao等人[323] 以及 Spector 和 Re[324] 使用基于树的验证而不是顺序验证进一步增强了推测解码,以重用这些序列共享的中间结果。虽然这些方法确保了生成结果的零偏差,但 BiLD[325] 建议,只有在草案模型无法生成高质量内容时,才偶尔回退或回滚到 oracle模型。
5.1.3 内存压缩技术
● 【该研究点对应存在的问题】 LLM推理不仅计算密集型,而且内存消耗大,给个性化LLM代理的部署带来了挑战。因此,有必要对 LLM 推理的内存效率进行优化。KV 缓存和模型权重是造成这种内存开销的两个主要原因。在短上下文场景中,KV 存储所需的内存比模型权重所需的内存少得多,5.1.1
节中的模型压缩技术非常有效地减少了存储权重所需的内存。然而,在长上下文场景下,KV 缓存的大小随上下文长度线性增长,成为内存消耗的主要来源。
【该研究点目前已有的解决方法和缺陷】 解决这个问题的一种有效方法是使用 5.1.1
节和 5.1.2
节中提到的 量化 和 剪枝 技术来压缩 KV 缓存。虽然量化方法可以降低KV 缓存的内存占用,但并不是所有基于剪枝的方法都能直接提高内存效率。只有当连续删除上下文中的输入 token 时,对 KV 缓存中相应的行/列进行剪枝的方法才能防止 KV 缓存大小超过内存限制。例如,Anagnostidis等人[263] 和 Zhang等人[264] 提出在生成过程中识别和清除无信息 token。然而,仅在预填充阶段修剪上下文的单次方法在生成场景方面效果较差。
【该研究点针对精度问题的相关工作】 尽管基于压缩的方法被证明能够有效地降低 LLM 推理的内存需求,但在某些情况下,压缩引起的精度下降是不可忽视的。为了解决这个问题,FlexGen[271] 设计了一种卸载策略来充分利用 GPU、CPU 和磁盘,以及 zig-zag 调度方案,以支持在 GPU 内存受限情况下的高吞吐量推理。该方法与基于压缩的方法正交,因此可以联合使用,进一步减少 GPU 内存占用。另一项工作,包括 PowerInfer[272] 和Alizadeh等人[273],通过预测上下文稀疏性来减少低批量推理中的交换开销,如[326]所述。
5.1.4 能耗优化技术
● 【该研究点的意义】 考虑到 LLM 昂贵的计算和内存访问,能量消耗是影响 LLM 代理的实际部署的一个关键因素。高能耗的智能体不仅会增加运行时间成本和碳足迹,还会因温度升高而降低用户体验质量(quality of experience, QoE),缩短电池寿命。因此,优化LLM推理的能量效率非常重要。
【针对该研究点的前文出现过的工作】 由于计算和访存(主要是权重加载)是导致系统能耗过大的两个主要原因,已有大量工作从软件和硬件两方面对这两个方面进行了优化。在前面几节中,我们介绍了各种类型的软件优化。例如,模型压缩方法通过减少模型大小和计算量来节省能量;KV 缓存通过避免冗余计算来节省能耗;高效的注意力核还可以通过内存重用和局部优化来提高能量效率。
【该研究点的存在的挑战】 除软件优化外,利用节能硬件为提高代理系统效率提供了新的机遇。虽然 cpu 和 gpu 仍然是在边缘设备上运行 LLM 推理的主流选择,但它们是为支持通用任务而设计的,并没有对基于 Transformer 的模型进行专门的优化,特别是生成式LLM。研究人员已经探索利用更适合 LLM 推理工作负载的高效处理器,包括 npu[274]和 tpu[275]。然而,有限的算子和模型支持在现实世界的部署中仍然具有挑战性。此外,现有工作还设计了基于 FPGA 的解决方案,以更高的内存带宽和能效比(energy efficiency ratio,EER)来促进LLM推理[276,327]。
【该研究点的相关工作】 然而,由于硬件部署的复杂性和能量测量与分析的波动性,LLM 推断的能量效率研究还远远不够。已经有一些研究聚焦于这个主题,例如评估 gpu[328,329]、边缘设备[330]上的 LLM 的推理能量和数据中心[331]中的 LLM 的碳足迹。其他工作可以提出用于LLM推断的快速能量预测方法,如IrEne[332],对基于 Transformer 的 NLP 模型进行了层级能量分析,并给出了可解释和可扩展的能量预测系统。然而,这些预测模型仅适用于 GPU 主机后端,缺乏对其他硬件平台(如手机)的通用性,这些平台更可能部署个性化LLM代理。
注:如何提高 LLM 推理的效率是近年来的研究热点。尽管取得了显著的进展,但在普及和负担得起的个性化LLM代理部署方面仍有很大差距。开放问题有:
- 是否有可能进一步压缩或设计高度紧凑的模型而不降低精度,超越语言模型的缩放定律?
- 如果缩放律不可打破,我们如何通过动态推理(例如,大模型和小模型的动态协作)实现效率和质量之间的最佳权衡?
- 硬件和操作系统将如何发展以适应LLM和个性化LLM代理的高效部署?
5.2 如何提升效率→高效的定制
● 【概述】 个性化LLM代理可能需要使用相同的基础 LLM 服务不同的用户、不同的任务和不同的场景,这需要针对每种情况进行高效的定制。主要有两种方法来定制 LLM 的行为;一种是为 LLM 提供不同的上下文提示以进行上下文学习,另一种是使用特定领域的数据调整LLM。因此,定制的效率主要取决于 上下文加载效率 和 LLM微调效率。
5.2.1 提升上下文加载的效率
● 【概述、挑战和简单方法】 在个性化LLM代理的多任务服务过程中,频繁的上下文加载是不可避免的,其中每个任务或每个场景都可能需要一个新的上下文来进行 LLM 推理。然而,个人设备固有的严格资源约束对个性化 LLM 代理快速有效地处理繁琐的上下文信息提出了重大挑战。有多种方法可以提高上下文加载过程的效率。一种简单的方法是删减一些冗余 token 或缩短上下文长度,这已经在 5.1
节讨论过。
【其他相关方法】 另一种促进上下文加载的方法是 减少上下文数据传输期间的带宽消耗。在某些情况下,删除或丢弃一些 token 不可避免地会损害 LLM 的性能,而加载 KV缓存 则需要较高的带宽成本。CacheGen[285] 解决了上下文加载带来的挑战,并利用了 跨token和layer的 KV特征的不同特性,因此引入了一种新的 KV 编码器设计。该编码器将 KV缓存 压缩成紧凑的比特流,有效地减少了带宽需求,同时降低了处理延迟。此外,考虑到不同的输入提示可能具有重叠的文本段,Gim等人[333] 提出了提示(Prompt)缓存,以在不同提示之间重用注意力状态。通过对频繁出现文本的注意力状态进行预计算和存储,该框架可以在这些片段出现在新的提示中时有效地重用它们,从而加快推理过程。
5.2.2 提升LLM微调的效率
● 我们还希望对基础 LLM 进行微调,以更好地支持特定领域的任务,但由于 LLM 中的大量参数,对计算资源和内存占用提出了重大挑战。为了解决这些问题,人们做出了各种努力,这些努力大致可以分为参数高效的微调技术、高效的优化器设计和训练数据管理,以下 三个小节 将详细介绍。
- 参数高效微调(PEFT)。LLM 中大量的参数使得进行全参数微调的成本很高。为了减少 LLM 的训练开销,出现了许多关于参数高效的微调的工作。PEFT 的基本概念是冻结大部分参数,只专注于训练有限的一组参数,或引入一个参数少得多的适配器。一种常见的做法是在现有网络结构中引入一些适配器,即小型神经网络模块,包括调优隐藏状态[277,278,334],添加完整层[277],并在 Transformer 架构[335,336,337]中添加一些前缀向量。Liu等人[338] 还在输入层合并了可训练向量,其性能高度依赖于基础模型的能力。其中一些工作无法避免额外的适配器计算并引入推理延迟。LoRA[279] 冻结所有模型权重,并使用额外的秩分解矩阵增强每个 Transformer 层,大大减少微调期间的内存和存储使用,而没有任何额外的推理延迟。LoRA 的另一个优点是,用户可以简单地通过添加或减去适配器矩阵在不同的下游任务之间切换。 ( IA ) 3 (\text{IA})^3 (IA)3 [339]探索模型激活与学习向量的元素相乘。它引入了学习向量,对注意力机制中的键和值进行缩放,并在位置前馈网络中引入内部激活。通过只训练向量, ( IA ) 3 (\text{IA})^3 (IA)3 可以以更少的计算量保持性能。
- 高效的优化器设计。高效的优化器设计是另一组训练/微调策略,旨在加速训练或减少训练期间的内存开销。Sophia[281] 是一个轻量级的二阶优化器,与 Adam 及其变体等常用方法相比,它提供了一个更有效的优化过程,解决了 LLM 预训练所需的高成本和时间。另一方面,大量的参数需要存储更多的激活和优化器状态,特别是在更大的批量大小中,这对内存有很大的需求。与其他方法相比,LOMO[280] 详细分析了所提出的优化器的内存配置、吞吐量和下游性能,表明在保持训练效率的同时显着减少了内存使用。Zhao等人[340] 提出了HiZOO,旨在利用对角 Hessian 来增强零阶优化器,以对 LLM 进行微调。它避免了昂贵的内存开销,因为每一步多执行一次。
- 高效的训练数据监管。上述方法主要关注于 LLM 的训练过程,而也有一些研究旨在从一个不同的角度来提高 LLM 的训练性能,即训练数据的数量和质量。在 phi-1[282] 中已经证明,使用少量高质量数据训练 LLM 可以显著降低训练成本,并获得与大规模数据集和模型相当的能力。这挑战了深度学习中强调更大数据集和模型的传统缩放定律。此外,phi-1.5[283] 和 phi-2[284] 扩展了它们对许多其他类型任务的关注,如常识推理和语言理解,分别实现了与模型大
5
倍和25
倍相当的性能。类似地,TinyGSM[341] 引入了一个包含少量(12.3M
)小学数学样本的合成数据集,这导致了用该数据集微调小型语言模型时的显著准确性。
值得注意的是,这些方法通常假设 LLM 可以完全装入设备内存中,这对于部署在通常具有有限计算能力和内存容量的个人设备上的个性化LLM代理来说不是一个实用的假设。在这些设备上对 LLM 进行微调通常需要利用分层存储,如 CPU 内存甚至磁盘存储。因此,在个人设备上对 LLMs 进行微调时,务必仔细考虑当前系统的资源限制。
注:虽然高效的模型微调和上下文学习技术已经被广泛研究,但尚不清楚在不同情况下定制个性化LLM代理的理想机制是什么。本文强调了两个在个性化LLM代理的系统中可能特别重要的开放问题。
- 类似于为应用程序管理RAM的操作系统,代理系统应该如何有效地管理不同(可能是并行的)代理、任务和用户的上下文?
- 与 可以高效地在设备之间安装、卸载和移动的移动应用程序 类似,自定义(微调)代理如何有效地回滚到以前的版本或迁移到其他基本模型?
5.3 如何提升效率→高效的内存操作
● 【概述】 个性化LLM代理需要频繁检索外部内存,以实现更明智的决策,这可能取决于称为检索增强生成(RAG)的流行机制。考虑到外部内存数据形式多样,如用户画像、交互历史和本地原始文件(图像、视频等),通常的做法是使用嵌入模型[342,343]以统一的高维向量格式表示内存数据。向量之间的距离表示对应数据之间的语义相似度。对于每个给定的查询,个性化LLM代理需要在外部内存存储中找到最相关的内容。然后,检索知识将通过提示连接或中间层交叉注意力(cross-attention)注入到个性化LLM代理中[301],这两种方式都会使LLM推理的上下文复杂化。这使得 LLM 在长上下文上进行更有效的计算,并试图在进行推理时最小化内存占用,这类似于提高第 5.1
节中讨论的 LLM 的推理效率。
因此,在本小节中,我们主要关注高效的外部内存检索,可以从两个方面考虑:高效的搜索 和 高效的工作流。高效搜索侧重于向量索引和快速搜索内部结构,如向量库(如Faiss[344, 345, 346]和SCaNN[229]),向量数据库[347,348,349],或一些存储外部内存的自定义内存结构[350,351]。而高效的工作流旨在进一步优化检索的端到端效率,增强LLM推理。
5.3.1 提升搜索的效率
● 在比较查询向量 q q q 与外部内存中向量之间的相似性时,暴力方法的计算复杂度为 O ( D N ) O(DN) O(DN)。然而,这种方法在向量维数( D D D)和数据集大小( N N N)较大的场景下变得不切实际。为了缓解搜索开销,通常采用索引来通过减少所需的比较数量来加快查询搜索。
- 典型的索引算法。这是通过分区方案实现的[348],将数据集 S S S 划分为更小的子集,促进选择性比较和更快的搜索查询处理。然后将这些分区组织成数据结构,如表、树和图,以支持高效的遍历。常用的分区方法包括随机化(如 RPTree[287, 352] 和 E2LSH[286] )、学习分区(如SPANN[288])和可导航分区(如 NSW[353] 和 HNSW[289] )。这些分区方法可以与不同的数据结构结合使用。例如, Vamana[354] 是一个单调搜索网络,用于图索引并使用随机初始化。
- 硬件感知的索引优化。由于提高索引的可扩展性和效率已经成为一个关键问题,研究工作也集中在硬件感知的方法上,以在保持低延迟和高吞吐量的同时扩展外部内存容量。这是通过使用基于磁盘的索引或硬件和算法的联合设计来实现的[355]。例如, DiskANN[290] 通过采用混合 DRAM-SSD 方法来解决成本效益问题。它在 ssd 上集成了 Vamana 图索引,并在 DRAM 中使用了压缩点表示。这个配置允许精确的查询响应,延迟小于
10ms
,即使在处理十亿点的数据库时也是如此。diskann++[356] 通过引入动态入口顶点选择和优化 SSD 布局进一步提高了效率。这种增强导致每秒查询(QPS)增加1.5
倍至2.2
倍,同时在真实数据集上保持准确性。此外,CXL-ANNS[291] 提出了一种可扩展近似最近邻搜索(ANNS)的软硬件协同方法。通过利用 Compute Express Link (CXL), CXL-ANNS 将 DRAM 从主机解缠,并将基本数据集合并到其内存池中。FANNS[292] 是 FPGA 上的向量搜索框架,其特点是根据用户定义的召回要求和硬件约束自动协同设计硬件和算法。它支持基于硬件 TCP/IP 协议栈的横向扩展,与 FPGA 和 CPU 基准相比具有显著的性能提升。
在搜索本身的效率分析和优化方面,涉及搜索机制的设计,如相似性度量、搜索范围、查询类型、选择和优化等。另一方面,有些方面关注搜索过程的高效执行。 - 搜索机制设计。可以采用多种相似性准则来评估向量相似性,包括汉明距离、余弦距离和聚合分数[296]。然而,评分机制的选择缺乏严格的原则,往往依赖于经验规则[348]。在搜索类型上,可以采用近似 k(
≥1
)近邻[355]搜索和精确 k(≥1
)近邻[355]搜索以及距离范围搜索来检索相应的向量。为了优化搜索延迟,通常采用基于规则的方法[293,294]或基于估计代价的方法[295,296]来确定最优搜索计划。这些规则和成本模型通常是离线配置的,以避免不必要或耗时的搜索操作。为了进一步优化搜索过程,将向量搜索与元数据过滤器相结合的混合操作越来越流行。这涉及到诸如预过滤[295,296,354]、后过滤和单阶段过滤[297]等技术,以缩小向量搜索的范围。 - 搜索流程执行。可以采用多种硬件加速方法来提高搜索执行效率。例如,为了实现并行查询处理,Faiss[298] 使用 OpenMP 多线程,而 Milvus[296] 进一步减少 CPU 缓存缺失,并使用新颖的细粒度机制来最佳地利用多核并行。此外,Faiss 和 Quicker ADC[299] 还支持 SIMD shuffle 指令,以便在单个 SIMD 处理器内并行这些表查找。GPU 还用于快速查询处理[357,358,359],如 Faiss 和 Milvus 这样的向量数据库。许多矢量数据库管理系统也支持分布式集群以扩展到更大的数据集或更重的工作负载,如 Vald [300], Qdrant[293] 等。
5.3.2 优化工作流的效率
● 【该研究点的特点】 传统的 RAG 系统无论是单镜头还是迭代式的 RAG 系统,其工作流程都是顺序的,在进行检索/生成时,推理/检索阶段是空闲的。这个特性忽略了潜在的并行执行和请求检索局部性的优化机会。最近的研究致力于 流水线 和 缓存技术,以进一步提高 RAG 系统的效率。
- 流水线(Pipelining)。RaLMSpec[301] 是第一个通过启用本地缓存进行推测检索来利用管道优势的工作。为了保证正确性,使用了一个批量验证步骤来保证正确性。此外,采用缓存预取、最优推测步幅调度器和异步验证来进一步提升推测性能。PipeRAG[302] 也使用流水线,并通过两种不同的解决方案来提高其性能:灵活的检索间隔和一个性能模型,该模型根据流水线中即将到来的 token 的延迟预期动态调整向量搜索空间。PipeRAG 采用算法-系统协同设计,在优化搜索质量的同时,避免了端到端的生成延迟。
- 缓存(Caching)。选择缓存方法的原因是在不同的请求中检索到的文档具有时间和空间局部性,RaLMSpec[301] 已经利用了这一点。RAGCache[303] 进一步使用知识树在 GPU 和主机内存层次中组织检索文档的中间状态。提出了前缀感知的 PGDSF 替换策略和缓存感知的请求调度方法,以最小化缓存失效率。另一项工作,GRITLM[304],通过通过指令区分生成任务和嵌入任务来训练 LM 处理它们。由于 RAG 中常见的场景是用于为生成模型提供相关上下文以回答用户查询的嵌入模型,因此在 GRITLM 中,嵌入模型和生成模型是等效的,允许我们进行查询缓存或查询-文档缓存,从而节省计算开销。
注:使用外部向量存储管理内存数据并不是 LLM 代理的新需求。虽然许多基本的技术挑战已经充分解决,但本文指出了两个需要对个性化LLM代理进行具体考虑的问题。
- 个性化LLM代理可能会频繁更新内存。因此,外部内存被期望用于快速更新、维护和重新索引。
- 个性化LLM代理的内存可能存储在存储空间有限的个人设备上,而个性化代理的内存会随着时间的推移而积累。因此,有必要对内存进行有效压缩,以避免快速增长的空间和计算开销。
终于写到最后一个大点了,现在 2024年9月4日 22:07,争取凌晨之前写完…
6 安全和隐私
● 【概述】 敏感的个人数据和对安全至关重要的个人工具的广泛集成使个性化LLM代理有别于普通的LLM代理。因此,确保个性化LLM代理中用户数据隐私的保护和服务安全成为一个至关重要的问题。在个性化LLM代理的背景下,我们关注三个安全原则,包括保密性、诚实性和可靠性,如图 11
所示:
- 保密性:代表对用户数据隐私的保护,确保在用户与代理的交互过程中不会发生不必要和未经授权的敏感信息泄露。
- 诚实性:代表了智能体决策的弹性,确保智能体执行的行为与预期的行为一致,并且没有被恶意方故意修改或影响。
- 可靠性:旨在使代理的行为更加可靠和真实。与诚实性不同,不正确的答案是有意的外部操纵的结果,可靠性解决代理的内部错误。
6.1 保密性(Confidentiality)
● 在本小节中,我们将讨论在个性化LLM代理中保护用户隐私的可能方法。如前所述,对于能够访问大量用户敏感数据的个人代理来说,确保用户隐私至关重要。与用户显式输入文本的传统基于LLM的聊天机器人不同,个性化LLM代理具有在没有用户意识的地方自发发起查询的潜力,这些查询可能包含有关用户的敏感信息。同时,代理也可以将用户信息暴露给其他代理或服务。因此,用户隐私的保护变得更加重要。增强机密性的方法有多种,包括 本地数据处理、同态加密、数据屏蔽、权限访问控制等。
6.1.1 本地数据处理
● 【概述】 保护用户隐私的一种简单而有效的方法是在用户的个人设备上本地执行计算。虽然 LLM 服务提供商目前正在努力提高安全性和建立用户信任,但重要的是要承认,将私有数据传输到云本身会引入额外的潜在风险。因此,与将数据传输到云端相比,在本地处理所有数据被认为是与 LLMs 交互的更安全的方法。然而,由于个人设备的资源限制,在本地部署 LLM 对高效处理用户请求提出了挑战。这可能会导致推理速度慢,甚至由于可用内存的限制而无法执行推理。由于个性化LLM代理中的数据主要由 LLM 处理,因此实现本地计算的关键是在用户自己的设备上运行 LLM。有各种现有的轻量级模型[360,283]和部署框架[361,308,362]可用于在边缘设备上部署模型。此外,还提出了各种模型压缩技术[363,250,246]来减少模型大小,以进一步支持第 5.1.3
节中讨论的本地部署。
【目前存在的问题】 然而,尽管研究人员做出了各种努力,但使用本地部署的模型不可避免地面临模型精度有限[43]的挑战。大多数领域专家还建议采用云边协作的部署方法来实现更好的性能权衡。与此同时,像其他软件应用程序一样,许多个性化LLM代理也需要与云通信以提供在线服务。通常很难甚至不可能将私有数据完全保存在本地设备上。
6.1.2 安全远程处理(同态加密)
● 【概述】 要在保护隐私的同时调用基于云的模型推理服务,理想的解决方案是同态加密(homomorphic encryption, HE)[364,365]。该方法中,客户端对用户的明文请求进行加密,服务器对加密后的密文进行模型推理。随后,客户端收到加密格式的推理结果,解密后得到明文结果。已有几项研究[366]证明了将 HE 应用于深度神经网络的可行性,展示了将 HE 集成到模型中的潜力。
【存在的挑战】 在聘用它担任个性化LLM代理时,会遇到两个挑战。第一个挑战涉及到 LLM 中的所有操作都不能使用 HE 执行的限制。他最多支持无限次的加法(相当于布尔电路中的XOR)和乘法(相当于布尔电路中的AND)。然而,LLM 中的某些操作,如 max
、min
和 softmax
,不能使用 HE 精确执行。第二个挑战涉及与 HE 相关的缓慢的推理速度,考虑到 LLM 的大型计算复杂度。
【已有的解决方法】 有几种方法可以解决这两个问题。The-x[367] 提出了用可以使用 HE 计算的层替换原始非线性层的工作流程。当它不能执行某些操作时,例如 Max
操作,密文会被发送回本地设备。然后,本地设备将执行操作,并将重新加密的文本发送回云端。Cheetah[368] 包含了一组算法和硬件优化,旨在服务器端系统上进行推理。Cheetah 算法的主要目标是提高HE的计算效率,从而加快 HE 的运算速度。
【新出现的问题】 However,尽管在加速基于 HE 的 DNN 推理方面做出了许多努力,但同态加密目前的状态仍然远远不能满足智能体的延迟需求[369]。
经典的 “However”。
【一种加密的新思路及挑战】 与此同时,多方通信(Multi-Party communication, MPC)[370] 是传统应用密码学的一个重要组成部分,它是指涉及多方的通信过程,其中多个参与者需要在一个不可信的环境中进行通信。将 MPC 应用于 LLM 的挑战在于计算成本高以及从 MPC 的数学理论到 LLM 的实际实现的重大过渡。Crypten[371] 是一个框架,包括常见的 MPC 方法,支持标准的 PyTorch 张量操作,并支持 GPU 计算。
【另一种加密的新思路和可能存在的问题】 另一种实现机密远程数据处理的方法是使用可信执行环境(trusted execution environment, TEE)[372]进行模型推理。然而,TEE 可能受到各种攻击[373],也可能导致性能受限。
6.1.3 数据屏蔽
● 【概述】 另一种方法是使用数据屏蔽在发送到云端之前对信息进行预处理。其基本思想是将原始输入转换为对隐私不敏感的形式,同时保留对推理结果有关键影响的信息。
【简单点儿的方法】 数据屏蔽的一种直接方法是通过隐藏或替换敏感内容(如账号、地址和个人姓名)来转换明文输入。这些类型的信息通常被称为个人身份信息(Personally Identifiable Information,PII)。然而,由于其边界模糊和形式多样,准确定义 PII 可能具有挑战性,使其难以始终一致地识别并从原始内容中删除。美国国家标准与技术研究所(NIST)提供了一份指南[374],为保护 PII 的机密性提供了建议,有助于更安全地管理 PII。EmojiCrypt[375] 建议使用 emoji
代替用户敏感信息,然后使用修改后的句子进行生成。
【高级点儿的方法】 另一方面,研究人员提出了基于嵌入的数据匿名方法,客户端将原始用户请求编码为隐藏向量,并将这些向量发送给基于云的模型进行后续推理。其挑战在于如何保证隐私保护,如何保证推理精度不降低,以及如何保证推理速度不会下降太多。有几种解决方案。Coavoux等人[376] 提出了一种衡量标准来评估神经表示中的隐私泄露程度,并通过改变训练目标来开发一种防御方法,以实现隐私和准确性之间的权衡。Zhou等[377] 通过在中间表示中加入动态融合来保护用户隐私。TextObfuscator[378] 通过文本混淆技术保护用户隐私。在编码过程中,可以通过引入额外的约束来最小化编码向量中包含的隐私敏感信息[379],从而采用“对抗性表示学习”。虽然该方法在推理性能方面优于同态加密,但通常不能严格保护数据隐私,因为编码后的向量本身仍然存在敏感信息泄露的风险。此外,这种方法需要显式定义隐私特征,以便编码器学习如何在对抗性表示学习期间删除隐私信息。
6.1.4 信息流控制(权限访问控制)
● 【与之前技术的比较,及概述】 上述技术主要涉及模型输入数据的隐私,同时也可能存在模型输出的隐私泄露风险。这是因为模型的输出不仅可以直接返回给用户,还可以发送给其他第三方应用程序、模型、用户或智能代理。例如,当智能代理帮助用户进行餐厅预订时,它可以获取用户的基本配置文件和日程信息,并将它们输入餐厅预订软件。类似地,当企业旨在向用户推荐产品时,他们可能依赖于从某些个性化代理的输出中检索到的用户偏好信息。这种从 LLMs 输出中获取隐私信息的方法类似于传统操作系统中的个人数据访问接口,在这种方法中,通过权限管理系统确保隐私数据访问的控制和透明度至关重要[380]。透明性要求告知用户关于隐私数据的访问信息,包括访问实体(谁)、内容(什么)、时间(何时)、意图(为什么)、访问方法(如何)等。Evertz等[381] 提出了一种在集成 LLM 系统中评估隐私泄露的方法。
【可能存在的解决方法和作者的见解】 人们也可以直接要求 LLM 保留私人信息。然而,由于 LLM 是基于统计而不是基于明确的规则,因此其安全性无法严格证明。因此,在处理数据机密性问题时,不应将 LLM 视为可信计算基础(Trusted Computing Base,TCB)的一部分。因此,我们可能需要基于规则的权限控制来约束 LLM 可以做什么和 LLM 可以访问什么。权限机制允许用户配置是否允许不同实体访问不同类型的信息。在个性化LLM代理中,设计权限机制的挑战之一是描述隐私数据的类型,因为第三方应用程序获得的内容是由模型生成的。在传统系统中,研究人员提出了许多细粒度的隐私内容细分和权限控制方法,以及基于信息流传播的隐私数据溯源技术[382]。然而,为LLM代理生成的输出建立隐私数据可追溯性仍然是一个开放问题。
注:确保用户数据的机密性对于个性化LLM代理建立用户信任至关重要。然而,现有的隐私保护技术还不足以支持智能体的智能化水平。有以下开放问题:
- 现有方法面临着平衡效率和效果的共同挑战。例如,如何启用强大而高效的本地 LLM,如何将同态加密(HE)或可信执行环境(TEE)扩展到大型模型,以及数据屏蔽/混淆技术如何实现严格的机密性?
- 作为一种新的软件范式,针对个性化LLM代理的系统隐私保护机制尚不明确。我们还需要符号规则或权限来进行访问控制吗? 它们如何与 LLM 不可解释的性质无缝集成?
6.2 诚实性(Integrity)
● 【概述】 诚实性是指个性化LLM代理确保其能够正确输出预期内容的能力,即使面临各种类型的攻击。由于个性化LLM代理需要与不同的数据、应用程序和其他代理进行交互,存在试图通过非常规手段窃取用户数据和资产或破坏系统正常功能的敌对第三方的潜在存在。因此,系统必须能够抵抗各种类型的攻击。传统的攻击方法,如修改模型参数、窃取和篡改本地数据等,可以通过加密、权限、硬件隔离等措施进行防御。然而,除了防御传统的攻击方式外,还应关注LLM代理可能遇到的新型攻击:对抗攻击、后门攻击和提示注入攻击。
6.2.1 对抗攻击
● 【简介和解决方法】 恶意攻击主要通过对模型输入的专门定制或对模型的恶意篡改来实现其目的。有一类重要的攻击被称为 “对抗性攻击”,它通过自定义或篡改模型的输入数据来导致模型推理错误,这最初是在图像分类模型中发现的[383]。由于在图像中添加了难以察觉的噪声,这种类型的攻击可能会导致严重的分类错误。随后,研究人员将这种攻击方法扩展到文本数据、图形数据等[384]。这种攻击也持续存在于大型语言模型[385]中,这些模型还可以接受来自第三方的图像[386]、文本[387]和其他模式的数据[388]的输入。例如,在协助用户自动化任务时,攻击者可能会误导代理删除日历事件并泄露私人会话数据[389],因为 LLM 经常需要输入应用程序内部信息的内容以生成下一个交互决策。在这种情况下,如果第三方应用程序向 LLM 提供恶意定制的内容,它可能会驱使智能代理进行不安全的交互。深度学习模型中针对此类攻击的传统防御方法通常包括对抗性防御、异常输入检测、输入预处理、输出安全性验证等[384]。
【仍存在的问题】 虽然这些方法在理论上仍然适用于LLM和LLM代理,但参数的大规模和自回归生成的特点可能会使一些计算昂贵的方法(如基于中间层激活的形式化输出安全验证和异常数据检测)难以实现。此外,一些防御方法可能需要在 LLM 的背景下进行调整。例如,训练 LLM 可能会产生大量成本,因此通过 对抗性训练 来增强安全性是不切实际的。因此,探索如何通过参数高效的微调来实现良好的对抗防御效果是值得研究的。Zhu等人[390] 表明,目前的解决方案可能过于乐观:防御这些攻击是可能的,对抗性攻击生成无限但不可读的胡言乱提示,可由基于困惑度的过滤器检测;手动越狱攻击可以生成可读的提示符,但由于需要人类的创造力,它们的数量有限,因此很容易阻止。然后他们引入了AutoDAN,一种可解释的、基于梯度的对抗性攻击,融合了两种攻击类型的优势。在越狱和可读性这两个目标的指导下,AutoDAN从左到右一个一个地优化和生成令牌,生成了可读的提示符,可以绕过困惑度过滤器,同时保持较高的攻击成功率,这为竞争对手队(red-team) 的 LLM 提供了一种新的途径,并通过可解释性来理解越狱机制。
6.2.2 后门攻击
● 【简介和解决方法】 另一种常见的攻击形式是后门攻击(backdoor attack)。传统的模型后门攻击通常通过数据中毒(data poisoning)来实现[391],即将恶意修改的样本插入到模型的训练数据中,使模型能够学习蓄意隐藏的决策逻辑,例如 “当看到一个苹果图案时,模型输出一个错误的分类”。对于 LLMs 来说,由于训练数据量巨大且统一管理严格,数据中毒可能更具挑战性,但另一种后门攻击方法[392] 仍然有效,它通过在测试时修改模型输入,将不安全的逻辑植入到模型中。Kandpal等人[393] 在提示语言模型执行特定目标任务时引发了针对性的错误分类。ProAttack[394] 直接利用提示符作为触发器向 LLM 注入后门,这是首次尝试基于提示符探索干净标签文本后门攻击。PoisonPrompt[395] 是一种基于双层优化的提示后门攻击,针对基于软、硬提示的 LLM。由于 LLM 经常在某些场景中使用几个固定的提示符,这种通过修改提示符实现的攻击形式,本质上是对模型的参数进行微调,从而改变其决策逻辑。Han等人[396] 从中毒的预训练编码器中提取良性知识,并将其转移到新的编码器中,从而产生干净的预训练编码器,这可能会损害 LLM 的性能。Sun等人[397] 提出测试给定目标生成源的后向概率可以对不同类型的攻击产生有效的防御性能。
【仍存在的问题】 事实上,当攻击者模仿正常行为时,这种防御方法可能会失效。因此,目前还没有一个健壮的代理系统后门防御方案[398]。这凸显了对模仿合法行为的复杂攻击进行有效防御的要求。
6.2.3 提示注入攻击
● 【简介】 在 LLM 时代,出现了一种新的特别关键的安全风险,即提示注入攻击[399,400,401,402]。在这种形式的攻击中,模型本身通过对齐和提示包含某些安全保障措施。然而,第三方模型用户可以通过在提示中使用微妙或特殊的措辞绕过这些预设的安全保护措施。例如,智能个人助理可能被预设为不执行某些敏感操作,例如修改用户的帐户密码[403],但通过提示注入(例如要求 LLM “无视先前设置的限制” 或 “在授权的安全mod中进行操作”),可以诱导模型违反规定并执行这些敏感操作。
【已有的解决方法】 对于这类基于提示的攻击方法,目前还没有完善的防御机制。SmoothLLM[404] 是第一个用于提示注入的通用防御方法,它随机扰动给定输入提示的多个副本,然后聚合相应的预测以检测对抗性输入。然而,其防御效果高度依赖于模型的鲁棒性,因为某些模型的攻击成功率仅下降约 1%
。缓解这个问题的一个重要方法是确保 LLM 提示的透明度和安全性。例如,个性化LLM代理可以严格控制提示的模板和规格,要求所有请求都符合预设的模板和规格。此外,对来自第三方应用程序的输入内容(摘要、翻译、重述等)进行后处理或提示封装(例如在前后添加明确的文本以表明它们来自第三方),可以帮助模型清楚地区分它们与系统固有的提示。
注:确保决策过程的完整性对个性化LLM代理至关重要。对完整性的威胁是非常多样化的,并不断发展,而防御技术的发展滞后。在这里,我们强调两个适用于所有类型攻击的重要开放问题:
- 智能体如何知道他们的输入或决策过程是否被第三方篡改? 这需要智能体了解什么是正常的输入和行为,并具有识别异常的能力。
- 由于直接避免攻击可能具有挑战性,因此更实际的做法是考虑用户验证机制,即在代理不确定的情况下让用户进行验证。如何设计安全且用户友好的验证机制具有挑战性。
6.3 可靠性(Reliability)
● 在个性化LLM代理中,LLM 决定许多关键操作,包括一些敏感操作,如修改和删除用户信息、购买服务和发送消息。因此,保证代理决策过程的可靠性至关重要。我们从三个角度讨论了LLM的可靠性,包括问题(即 LLM 的可靠性问题从哪里来?)、改进(即如何使 LLM 的响应更可靠?)和检测(即如何处理 LLM 可能不可靠的输出?)。
6.3.1 问题——LLM 的可靠性问题从哪里来?
- 幻觉(Hallucination)。LLMs 可能会产生不正确的答案,这可能会导致严重的后果。与基于 LLM 的聊天机器人通过文本直接与用户交互相比,个性化LLM代理通过避免频繁的结果验证来最大限度地减少用户干扰,从而放大了产生不正确答案的严重性。研究人员发现了 LLM 生成连贯流畅但最终错误的文本的案例。这种现象被称为自然语言处理任务中的幻觉,也对个人智能体提出了挑战。Ji等[405] 深入探讨了幻觉在自然语言处理任务中的各种表现。Rawte等人[406] 进一步讨论了多模态基础模型中的幻觉,为感兴趣的读者提供了有价值的参考。
- 未识别的操作。与关注 LLMs 产生的 “错误答案” 的幻觉问题不同,在许多情况下,这些模型的响应 “甚至不是错误的”。例如,LLMs 被要求以 “call XXXXXX” 的格式发起呼叫。LLM 可能会回复 “I will make a call to XXXX”,该回复准确地传达了意图,但偏离了指定的格式,使其无法执行。我们知道,LLM 的本质是语言建模,语言模型的输出通常是语言的形式。与其他与人类直接交互的 LLM 相比,个性化 LLM代理需要执行操作。因此,他们对输出的格式和可执行性有更高的要求[407]。
- 连续的可靠性。LLM 最初是在序列数据(即语料库)和训练目标(即从左到右的语言建模任务)上进行预训练的。然而,现实世界中的问题可能不能完全解决顺序。实现顺序可靠性带来了一些挑战,包括上下文保持、一致性维护等。为了更好地与用户和个性化 LLM 代理保持一致和有意义的对话,我们需要激发 LLM 从全局角度思考的能力,而不是仅仅依赖之前生成的 token 或上下文。在增强 LLM 的思维和推理能力方面,Yao等[85] 提出了思想树(Tree-of-Thought)来在多个不同的推理路径上生成和归纳,Zhang等[408] 提出了累积推理,通过累积和迭代的方式来解决复杂任务。也有可能设计解决任务的总体计划[89]或从之前的工作[409,410]中吸取见解。
6.3.2 改进——如何使 LLM 的响应更可靠?
● 改进方法旨在提高 LLM 输出的质量,从而增强基于 LLM 的代理的可靠性。目前已有的改进方法有以下三种:
- 对齐(Alignment)。随着 LLM 的规模和复杂性的增长,人们开始担心它们可能产生有偏见的、有害的或不适当的内容。联合方法寻求减少这些风险,并确保 LLM 的行为符合道德和社会规范。一种常见的对齐方法是使用预训练和微调[411,412,413]。LLM 是在大量文本数据上进行预训练的,以学习语言模式和表示。在微调阶段,模型在更具体和精心策划的数据集上进一步训练,包括人工生成的示例和演示。这个过程通过将人的价值观和意图纳入他们的训练中,有助于使模型与所需的行为保持一致。另一种校准方法是奖励建模,它涉及定义和优化反映所需结果或行为的奖励函数。通过为特定行为提供明确的奖励或惩罚,可以训练 LLM 生成与这些预定义目标一致的输出。强化学习技术(如RLHF[44], RLAIF[414], C-RLFT[415])可以基于这些奖励信号来优化模型行为。监督和干预是关键的调整方法。人工审稿人或审查员在审查和过滤 LLM 的输出以发现潜在偏见、有害内容或不当行为方面发挥着至关重要的作用。他们的反馈和干预被用来迭代地改善模型的性能,并使其与所需的标准保持一致。
- 自我反省(Self-Reflection)。已有研究表明,语言模型可以生成提供正确答案的概率[416]。受 LLM 自主操作的启发,研究人员建议利用模型的自我反思来缓解不正确内容生成的问题。Huang等人[241] 和Madaan等人[417] 表明 LLM 能够利用未标记的数据进行自我改进,Shinn等人[418] 提出 Reflexion,让 LLM 通过其语言反馈进行更新。Chen等人[419] 提出自调试来迭代地改善几个代码生成任务的响应。SelfCheckGPT[420] 允许 LLM 多次提供相同输入问题的答案,并检查这些回答之间的一致性。如果答案之间存在矛盾,则模型生成不可靠内容的可能性更高。Du等人[421] 试图通过使多个大型模型智能体参与相互的讨论和验证来提高模型输出的可靠性。有各种各样的方法来组合模型,类似于人类世界中的各种协作方法。然而,就像更多的员工需要增加费用一样,拥有更多的模型需要更大的计算能力要求。上述工作展示了一种趋势,即 LLM 正在从单纯的文本生成器演变为智能代理,从原始的基于理解的推理过渡到迭代更新的反射推理。
- 检索增强(Retrieval Augmentation)。LLM 在各种任务中表现出强大的性能,然而,模型中存储的参数知识仍然可能是不完整的,难以有效更新。另外,检索增强方法[229,230,422] 提供了一种半参数的方式来提供互补的非参数信息,使 LLM 在生成内容时,如维基百科、文档或知识图谱[423],可以利用检索到的现实世界知识。该方法具有不需要模型修改、便于信息实时更新、生成结果可追溯至原始数据的优点,从而增强了生成信息的可解释性。检索增强已被证明对传统的预训练模型(如BERT)是有效的[424]。然而,对于已经具有强大推理能力的 LLM,由于不相关或噪声信息,增强上下文也可能产生负面影响[425]。为了解决这些问题,Guo等人[222] 提出了一种针对非知识密集型任务的提示引导检索方法,增强了更通用查询中检索段落的相关性。Yu等人[426] 提出了注意链(Chain-of-Note)来提高处理噪声和不相关文档的鲁棒性。Asai等人[427] 提出自我抹布,通过自我反思来增强事实性。Wang等[428] 提出了SKR,一种自知识引导的平衡外部知识与内部知识的检索方法。Wang等[429] 提出了FLICO来提前过滤上下文,提高检索片段的细粒度相关性。CRITIC[430] 框架通过与外部工具(如计算器、Python解释器和维基百科)的交互,利用 LLM 来验证和迭代地自修正其输出。Zhang等人[431] 提出RAFT,一种检索增强的微调,用于改进特定领域的问答。然而,这些方法仍然依赖于高性能的文本检索器,并且对于在外部知识库中难以找到匹配内容的用户请求的帮助有限。
6.3.3 检测——如何处理 LLM 可能不可靠的输出?
● 另一方面,基于检测的方法不会干扰 LLM 的生成过程。相反,它专注于如何基于已经生成的结果来增强或理解代理的可靠性。目前已有的检测的方法有以下三种:
- 验证(Verification)。考虑到在实际使用中部署 LLM 系统时无法完全避免此类系统生成不可靠内容的问题,仍然需要建立基于规则的安全验证机制。对于上述未识别的操作,“约束生成”是指生成格式化和约束输出的过程,可以利用该过程来解决这个问题。Kumar等人[432] 采用 Langevin 动力学模拟非自回归文本生成作为该问题的解决方案。另一方面,Miao等人[433] 提出了一种方法,在每次迭代时建议一个候选修改,并验证修改后的句子是否满足给定的约束,以生成约束句子。Li等人[434] 和Weng等人[435] 提出了自验证来帮助 LLM 的推理过程。责任任务自动化[99]是一个可以预测命令的可行性,确认执行体的完备性,增强大型语言模型安全性的系统。然而,如何提高识别敏感操作的准确率和召回率,减轻用户的决策负担,仍需进一步研究。
- 解释(Explanation)。虽然前面提到智能个性化助理应该尽量减少用户干扰,但融合用户意见或人工帮助可能是有价值的,特别是在做出重大决定时。在智能个性化助理出错的情况下,具有可解释的逻辑也可以在后续的调试过程中有所帮助。有一些调查[436,437,438] 讨论了可解释语言模型。传统上,基于理性的方法[439,440] 可以通过对人工标注的数据进行显式训练来解释模型输出。对于 LLM,思维链推理[84]方法也可以帮助模型生成文本解释。为了使推理过程更鲁棒和可靠,最近的研究进一步增强了多数投票[441]和迭代自助[442]机制的思维链推理。显然,研究人员非常重视可解释性,因为它不仅有助于可靠性,而且代表了一个有趣的研究方向。
- 中间特征分析(Intermediate Feature Analysis)。除了最后一层的表征(representation),一些工作涉及分析模型推理过程中的中间状态,以判断虚假信息的生成。Halawi等人[443] 发现模型的行为可能在某些层上存在显著差异,这突出了分析模型中间计算的重要性。Li等人[444] 发现中间层的模型激活可以揭示一些 “真实” 的方向,表明 LLM 可能已经捕获了知识,但没有生成,他们进一步提出在推理过程中改变模型激活,并改善 LLM 的响应。van der Poel等人[445] 提出了一种通过评估下一个 token 的置信度来利用互信息并缓解幻觉的方法,其根本原因是 LLM 在生成幻觉内容时的神经激活模式与正常输出不同。这些研究突出了仅依赖最终层表示进行语言建模的缺点,揭示了利用模型不同层的分层信息的潜在好处。
注:LLM生成的可靠性已经受到了相当多的关注,特别是围绕着幻觉问题。然而,避免不可靠的行为即使不是不可能,也是很困难的。开放问题包括:
- 如何评估 LLM 和 LLM代理 的可靠性? 现有方法要么依赖于黑盒LLM(如GPT-4),要么依赖于昂贵的人工标注。需要权威的基准和方法来评估和提高可靠性。
- 与保密性问题类似,在个性化LLM代理的决策过程中纳入严格的符号规则将是可靠性的实际解决方案。然而,在遵守规则的同时保持LLM代理的强大功能是具有挑战性的。
- DNNs 缺乏透明度和可解释性一直是一个长期存在的问题,这对个性化LLM代理的所有安全和隐私方面来说更加关键。如何解读和解释 LLMs 的内部机制是一个值得持续研究的方向。
7 结论与展望
● 大型语言模型的出现为智能个人助理的发展提供了新的机遇,具有彻底改变人机交互方式的潜力。本文聚焦于个性化LLM代理,基于领域专家反馈和广泛的文献回顾,系统地讨论了几个关键的机遇和挑战。
目前,关于个性化LLM代理的研究还处于早期阶段。任务执行能力仍然相对不足,支持的功能范围比较狭窄,还有很大的改进空间。此外,确保此类个人代理的效率、可靠性和可用性需要解决许多关键的性能和安全问题。LLM中实现更好服务质量的大规模参数需求与个人代理中资源、隐私和安全的约束之间存在着内在的张力。
展望未来,除了解决每个特定方向上的各自挑战外,还需要共同努力为个性化LLM代理建立整个软件/硬件堆栈和生态系统。研究人员和工程师也需要仔细考虑此类技术的责任,以确保个性化LLM代理的良性和辅助性质。
四、小结
终于写完啦!!!现在2024年9月5日13:43。累鼠辣!!!
● 回顾我写这篇博客的初衷:
导师喊我,围绕 “大语言模型的个性化、风格化生成” 进行调研和研究。
并接着喊我,调研这些东西:
1、当前已有数据集;
2、现有研究方法类型;
3、当前存在的问题;
4、该方向的具体任务类型。
并说道:“调研内容这周四前发我。”
我经典回复:“好的老师”
● 等我写完时发现,好像,关联度不是嘿大… 🙊 🙈 😇
● 不过写都写了,就发布出来吧…
五、补充说明
● 若有写得不对、欠妥的地方,或有疑问,欢迎评论交流。
六、参考附录:
[1] 原论文《Personal LLM Agents: Insights and Survey about the Capability, Efficiency and Security》
链接: https://arxiv.org/abs/2401.05459
[2] 《个人LLM智体的综述》
链接: https://blog.csdn.net/yorkhunter/article/details/139553647.
[3] 《Personal_LLM_Agents_Survey》
链接: https://blog.csdn.net/qq_29788741/article/details/135733486.
[4] 《【LLM安全】Personal LLM Agents: Insights and Survey about the Capability, Efficiency and Security(综述)》
链接: https://blog.csdn.net/qq_43543209/article/details/136317261.
⭐️ ⭐️