前言:
眼前咱们对“多线程在实际开发中的应用论文”都比较注意,大家都需要知道一些“多线程在实际开发中的应用论文”的相关文章。那么小编在网上收集了一些关于“多线程在实际开发中的应用论文””的相关内容,希望咱们能喜欢,小伙伴们快快来了解一下吧!论文地址:
个人LLM代理 被定义为一种特殊类型的基于LLM的代理,与个人数据、个人设备和个人服务深度集成。 它们最好部署到资源有限的移动/边缘设备和/或由轻量级人工智能模型提供支持。
个人LLM代理的主要目的是协助最终用户并增强他们的能力,帮助他们更多地关注并在有趣和重要的事务上做得更好。
1、关键部件
1.1.基础模型LLM就像传统操作系统中的内核。 它用于对各种资源进行系统管理和调度,从而方便代理的功能。
1.2.本地资源层类似于传统操作系统中的驱动程序。每个本地资源组件(包括移动应用程序、传感器和物联网设备)管理一种工具并提供API供LLM使用。
1.3.用户上下文和用户内存对应于系统操作期间维护的程序上下文和系统日志。 这些组件构成了代理支持个性化服务的基础。
1.4.顶层的技能类似于传统操作系统中的软件应用程序。 与应用程序的安装和删除类似,代理的技能也应该允许灵活地启用或禁用。
2、个人LLM代理人的智力水平
将Personal LLM Agent的智能级别分为五个级别,分别表示为L1至L5
L1 - 简单的步骤跟随
L2 - 确定性任务自动化
L3 - 战略任务自动化
L4 - 记忆和情境意识
L5 - 数字角色
L1-L3中的代理被动地由用户的命令驱动工作,而4级代理可以了解用户的历史数据,感知当前的情况,并在适当的时候主动提供个性化服务。凭借5级超智能,智能体扮演了数字角色的角色,可以完全代表用户完成复杂的事务,用户只需关注创造力和情感。 代理不仅可以感知当前状态,还可以预测用户未来的活动并采取行动来促进它们。5级智能体应该能够通过自我进化不断提高自己。
3、对常见问题的看法
意见1(在哪里部署LLM): LLM的边缘-云(本地-远程)协作部署是首选,而现有的纯云(仅远程)(例如ChatGPT)并不是一个被广泛接受的解决方案。
意见2(如何定制代理): 将微调和上下文学习相结合是最容易接受的实现定制的方式。 在个人LLM代理中,针对不同用户和场景定制代理被认为是必要的。
意见3(使用什么模式): 个人 LLM 代理需要多模式 LLM,尤其是文本和视觉模式。
意见4(对于IPA产品来说,LLM能力最为关键): 语言理解被认为是LLM最重要的能力,而处理长上下文的能力被认为是最不重要的能力。 相反,在学术界,处理长上下文的能力被认为非常重要并且得到了广泛的研究。
意见5(如何与坐席交互): 语音交互是最流行的方式。
意见6(需要培养哪些代理人能力): 在个人LLM代理人的未来发展中,“更智能、更自主的决策能力”被认为是我们参与者最关键的特征; “持续改进用户体验和交互方式”和“安全处理个人数据”选项也颇受关注,“与物联网设备集成”排名最后。
意见7(理想的 IPA 需要具备哪些功能):高效的数据管理和搜索、工作生活协助、个性化服务和推荐、自主任务规划和完成、情感支持和社交互动、数字代表及其他。
意见8(最紧迫的技术挑战是什么):
智力。 1) 多模式支持 2) 上下文理解和上下文感知动作 3) 增强轻量级LLM的特定领域能力
表现。 1) 有效的LLM压缩或紧凑架构 2) 实用的本地-远程协作架构:
安全与隐私。 1) 数据安全和隐私保护 2) 推理准确性和无害性:
个性化和存储。个性化需要高效的数据存储解决方案来管理和利用用户相关数据
传统操作系统支持。 应用程序编程接口(API)的开发
一、个人 LLM 代理基本能力
1、任务执行,
代理被设计为与智能手机、计算机和物联网设备等各种个人设备交互并控制,以自动执行用户的命令。
1.1.任务自动化方法,
1.1.1.基于代码的任务自动化,槽位填充方法 、程序合成方法。
1.1.2.基于 UI 的任务自动化,基于文本的GUI表示、基于多模态的GUI表示
1.2.自治代理框架,
用于制定计划和自我反思的LLM大脑、用于存储过去信息和知识的存储器以及用于与工具(例如API、UI、编程语言)交互的工具使用模块组成。Auto-GPT是最著名的框架之一,它可以通过生成GPT提示并使用外部工具来执行用户的命令。 LangChain 是另一个流行的框架,可帮助开发人员使用 LLM 创建更复杂和上下文感知的应用程序。
2、上下文感知,
代理感知用户或环境的状态,以提供更多定制服务的过程。 基于硬件的传感与传统的传感概念一致,主要涉及通过各种传感器、可穿戴设备、边缘设备和其他数据源获取数据。基于软件的传感强调数据采集方式的多样化。 例如,分析用户打字习惯和常用短语构成了一种基于软件的感知形式。多传感器、多设备场景需要在数据源选择、数据融合、数据分析方法等方面进行复杂的考虑。情境感知的目标可以分为环境感知和用户感知。 环境感知涵盖位置、场合、宗教和文化背景、国家和社会背景等因素。 同时,用户感知融合了用户活动、状态、个人信息、个性特征、情绪、目标、身体状况等相关方面的元素。
2.1. 启用感知任务 :有些任务本质上需要代理进行感知。 例如,当用户要求代理检测睡眠期间的打鼾情况时,代理必须具备主动获取、处理和分析音频数据的能力。
2.2. 补充上下文信息 :感知到的信息可以促进模糊或复杂任务的执行。 例如,当用户想听一些音乐时,最好了解用户当前的活动以推荐合适的音乐。
2.3. 触发上下文感知服务 :感知能力也是提供主动服务的基础。 例如,代理可能会注意到用户将注意力集中在检测危险驾驶行为上。
2.4. 增强智能体记忆 :通过感知感知到的一些信息可以成为智能体记忆的一部分,智能体可以使用这些信息进行进一步定制和自我进化。
3、记忆
个人LLM代理中记录、管理和利用历史数据的能力。 此功能使代理能够跟踪用户,从过去的经验中学习,提取有用的知识,并应用所获得的知识来进一步提高服务质量。
3.1.获取内存,
代理存储器可以采用多种格式。 例如,基本的用户配置文件( 例如, 出生日期、地址、个性、偏好)通常存储在键值对中,从而允许轻松地基于键的检索。 历史记录通常表示为按时间戳索引的序列,它随时间推移归档用户服务访问、活动、系统事件等。 用户的文档、照片、视频等被存储为文件,这些文件通常是由其他应用程序产生的。 获取记忆主要有两种方式:直接记录原始数据或间接从原始数据推断知识。
3.2.管理和利用内存,
原始数据管理和处理:侧重于实现更自然和人类可理解的数据访问、操作和修改。
记忆增强LLM推理:短期记忆 以符号变量的形式保存和保留相关信息,确保其在当前决策周期中的可访问性和适用性。长期记忆 存储早期决策周期的经验以及从经验中逐步建立的世界知识。
代理自我进化,利用LLM来发现和探索新的技能,以及LLM本身的不断更新,通过LLM的不断微调实现智能代理的自我进化。
二、个人 LLM 代理效率
提高个人LLM Agent在部署阶段的效率非常重要,LLM 的推理、个人LLM代理适应不同用户需求的定制、访问更长的上下文或外部记忆的内存操作。
1、高效推理
1.1.模型压缩 ,包括量化、剪枝(稀疏性)、蒸馏和低阶分解
1.2.推理加速 ,
KV Cache,是移动和云 LLM 服务框架和 vLLM中广泛采用的技术,以避免冗余计算在LLM推理中。
上下文压缩 方法,通过减少上下文的长度(尤其是 KV 缓存)来提高推理效率。
内核优化 ,包括FlashAttention和FlashDecoding++在内的高效注意力内核被提出来提高长文本推理的速度。
推测解码 ,通过轻量级“草稿模型”“猜测”几个后续令牌,然后使用大型“预言机模型”批量验证草稿令牌是小批量推理中改善延迟的有效方法。
1.3.内存减少,KV 缓存和模型权重是造成这种内存开销的两个主要原因。通过卸载策略来充分利用 GPU、CPU 和磁盘,并结合 zig-zag 调度方案来支持 GPU 内存受限下的高吞吐量推理。
1.4.能源优化,计算和内存访问(主要是权重加载)是导致能耗较大的两个主要原因。除了软件优化之外,还可利用节能硬件包括 NPU 和 TPU。
2、高效定制
定制LLM的行为主要有两种方法,一种是为LLM提供不同的上下文提示以进行上下文学习,另一种是使用特定领域的数据调整LLM。
2.1.上下文加载效率,
一种直接的方法是修剪一些冗余标记或缩短上下文长度,一种方法是减少上下文数据传输期间的带宽消耗。
2.2.微调效率 ,
参数高效微调(PEFT)。冻结大多数参数,仅专注于训练有限的集合或引入参数少得多的适配器。
高效的优化器设计。 Sophia通过提供更高效的优化过程,LOMO减少了内存使用量。
训练数据管理。提高训练数据的数量和质量 来提高LLM的训练绩效。
3、高效的内存操作,
关注操作外部存储器的效率,外部存储器可以动态检索并添加到上下文中。
3.1.搜索效率
从向量搜索的不同方面来进行效率分析和优化。
3.1.1.搜索机制设计
采用多种相似性标准来评估向量嵌入与搜索查询的相关性,包括汉明距离、余弦距离和聚合分数,将矢量搜索与元数据过滤器相结合的混合操作。预过滤技术 、 后过滤和单级过滤等 缩小矢量搜索的范围。
3.1.2.搜索流程执行
Faiss使用 OpenMP 多线程,Milvus利用多核并行性,持分布式集群以扩展到更大的数据集或更重的工作负载。
3.2.索引优化
采用向量索引来通过减少所需比较的次数来加速查询搜索。
3.2.1.典型的索引算法
常用的划分方法包括随机化RPTree 和 E2LSH , 学习划分SPANN ,可导航划分 NSW 和 HNSW。这些划分方法可以与不同的数据结构结合使用。
3.2.2.硬件感知索引优化
利用基于磁盘的索引或硬件和算法的协同设计,用于可扩展近似最近邻搜索(ANNS)的协作软件-硬件方法。
三、个人 LLM 代理安全和隐私
1、保密性,对用户数据隐私的保护,确保在用户与代理交互期间不会发生不必要的和未经授权的敏感信息泄露。
1.1.本地处理,
1.2.安全远程处理 ,客户端采用加密技术对用户的明文请求进行编码,服务器对得到的密文进行模型推理。
1.3.数据屏蔽,在发送到云端之前使用数据脱敏来预处理信息。 基本思想是将原始输入转换为对隐私不敏感的形式,同时保留对推理结果有至关重要影响的信息。
1.4.信息流控制,通过权限管理系统确保隐私数据访问的控制和透明度。
2、完整性,代理决策的弹性,确保代理执行的行为与预期行为一致,并且没有被恶意方故意修改或影响。
2.1.对抗性攻击 ,它通过定制或篡改模型的输入数据来导致模型推理错误,针对此类攻击的传统防御方法通常包括对抗性防御、异常输入检测、输入预处理、输出安全验证等。
2.2.后门攻击 ,通过数据中毒来实现的,在模型的训练数据中插入恶意修改的样本,使模型能够学习故意隐藏的决策逻辑。提出了开发针对模仿合法行为的复杂攻击的有效防御措施的要求。
2.3.即时注入攻击 ,第三方模型用户可以通过在提示中使用微妙或特殊的措辞来绕过这些预设的安全保护措施,它可能会导致模型违反规定并执行一些敏感操作。 个人LLM代理可以严格控制提示的模板和规范,要求所有请求都符合预设的模板和规范。 另外,对来自第三方应用程序的输入内容进行后处理(摘要、翻译、重述等)或提示封装(例如在前后添加明确的文本以表明其来自第三方)可以帮助模型清晰将它们与系统固有的提示区分开来。
3、可靠性,侧重于使代理人的行为更加可靠和真实。
3.1.问题
幻觉,可能会产生错误的答案,从而导致严重的后果。
无法识别的操作,它准确地传达了预期的含义,但偏离了指定的格式,使其无法执行。
顺序可靠性,现实世界中的问题可能无法完全按顺序解决。包括上下文保存、一致性维护等等。
3.2.改进
结盟,人工审阅者或主持人在审阅和过滤LLM输出中是否存在潜在偏见、有害内容或不当行为方面发挥着至关重要的作用。
自我反省,利用模型的自我反思来缓解内容生成不正确的问题。通过其语言反馈进行更新。自调试来迭代地改进对多个代码生成任务的响应。使多个大型模型代理参与相互讨论和验证来增强模型输出的可靠性。
检索增强,在生成内容时利用检索到的现实世界知识,从而增强生成信息的可解释性。提出Self-RAG通过自我反思来增强事实性。
3.3.检查
确认,“约束生成”是指生成格式化且受约束的输出的过程。
解释,拥有可解释的逻辑也有助于后续的调试过程。通过多数投票和迭代引导。
中间特征分析,分析模型推理过程中的中间状态,以判断错误信息的生成。
结论:
个人LLM代理人的研究还处于早期阶段。 任务执行能力还比较不足,支持的功能范围也比较窄,还有很大的提升空间。 此外,确保此类个人代理的效率、可靠性和可用性需要解决许多关键的性能和安全问题。 LLM 需要大规模参数以实现更好的服务质量,而个人代理的资源、隐私和安全性限制之间存在着内在的矛盾。
点评:
这篇论文对于个人LLM代理的部署应用的方方面面相关研究做了全面细致的分析和总结,特别是应用性能以及安全可靠方面,有很好的参考和借鉴价值。
标签: #多线程在实际开发中的应用论文