将生成式人工智能集成到边缘设备本身就是一个重大挑战,我们需要在智能手机和计算机有限的计算能力和内存范围内高效地运行高级模型。确保这些模型运行迅速,而不会耗尽电池寿命或使设备过热,端上的局限增加了大模型应用的复杂性。此外,保护用户隐私至关重要,需要 AI 在不依赖云服务器的情况下在本地处理数据。
今年,苹果已经通过引入苹果智能来应对这些挑战。这个新系统将复杂的人工智能直接带到设备上,同时保持高隐私标准。透过苹果智能, 我们或许可以进一步探索端上大模型应用的实现路径。
1.苹果智能的核心特征
苹果智能的核心特征是为苹果设备赋能了高生产力的能力工具,并且提升了Siri 的AI 能力。
1.1 提高生产力的人工智能工具
像 iPhone、 iPad 和 Mac 这样的苹果设备现在配备了一系列以人工智能为动力的工具,旨在提高生产力和创造力。例如:
写作与沟通: 苹果的预测性文本功能已经进化到可以更好地理解上下文,并提供更准确的建议。这使得写电子邮件或信息更快,更直观。此外,人工智能与通信应用程序集成,根据收到的信息建议回应,节省时间,并提高了沟通的质量。
图像创建和编辑: 照片应用程序使用先进的机器学习来智能组织照片和建议编辑。对于创作者来说,像照片和视频中的实时文本这样的功能使用人工智能来检测图像中的文本,允许用户像输入文本一样与文本进行交互。这对于快速提取信息而无需手动输入数据特别有用。
1.2 让 Siri 具备先进的人工智能能力
Siri 的人工智能能力得到了重大提升,使其比以往更加智能化和多功能化。这些改进旨在使 Siri 成为各种苹果设备上更积极主动、更有帮助的助手。
丰富的语言理解能力: Siri 理解和处理自然语言的能力得到了显著的提高。这种改进使 Siri 能够处理更复杂的查询,并提供更准确的响应,模仿用户之间更自然的对话流程。
屏幕感知: Siri 现在能够根据屏幕上显示的内容来理解上下文。这个特性允许用户提出与当前正在查看的内容相关的请求,而无需过于具体,从而使交互更加顺畅和直观。
跨应用程序行动: 也许最重要的更新之一是 Siri 增强了在多个应用程序间执行操作的能力。例如,可以让 Siri 通过一个拼车应用程序预订车程,然后通过一个消息应用程序将预计到达时间发送给一个朋友,所有这些都是通过语音命令。
这种跨不同平台和服务的集成水平简化了复杂的任务,使 Siri 成为多任务处理的强大工具。
2. 苹果智能背后的技术创新
苹果在其设备上对人工智能能力的战略部署,得到了确保性能和用户隐私得到优化的重大技术创新的支持。这些进步在其双模型结构、新的后训练算法的应用以及提高效率和准确性的各种优化技术方面尤为明显。
2.1 双模型架构: 平衡在设备和基于服务器的处理
苹果采用了一种称为双模型架构的复杂方法,以最大限度地提高人工智能应用的性能和效率。这个架构巧妙地将任务划分为设备上处理和基于服务器的资源,利用每个环境的优势:
端上处理: 这是为需要立即响应或涉及必须保留在设备上的敏感数据的任务设计的。设备上的模型是一个约30亿参数的语言模型,经过微调可以有效地执行任务。这个模型擅长于书写和提炼文本,汇总通知,创建图像,以及其他任务,确保快速和负责任的人工智能交互
基于服务器的处理: 更复杂或者时间敏感性更低的任务在云中处理,苹果可以在云中使用更强大的计算资源。这种设置用于 Siri 基于深度学习的语音识别等任务,在这些任务中,可以快速分析大量数据集,以便更有效地理解和预测用户查询。
这两个处理之间的协同作用使苹果能够优化性能和电池寿命,同时保持强大的数据隐私保护。
2.2 新颖的后训练算法
在最初的模型训练之后,苹果已经实施了后训练算法,以增强其 AI 模型的指令跟踪能力。这些算法提高了模型更精确地理解和执行用户命令的能力,显著改善了用户体验。
Teacher Committee拒绝抽样微调算法(Rejection Sampling Fine-Tuning Algorithm )
在后训练阶段采用的创新算法之一是拒绝采样微调算法,这种技术利用多个专家模型(Teacher)的见解来监督人工智能的微调。这个committee 确保人工智能只采用最有效的行为和反应,提高了它准确和有效地遵循指令的能力。这导致了一个完善的学习过程,通过强化预期的结果来提高性能。
人工反馈的强化学习算法(RLHF)
另一个基石来自RLHF。这种技术将人类的洞察力集成到人工智能训练循环中,利用最小下降策略优化并采用留一法优势估计器。通过这种方法,人工智能直接从人工反馈中学习,不断地调整和完善自己的响应。这不仅提高了人工智能的准确性,而且确保其产出具有上下文相关性并真正有用。RLHF 算法有助于人工智能的输出与人类偏好保持一致,使每个交互更加直观和有效。
纠错算法
这些算法的目的是从识别部署后的错误中学习。通过不断分析交互,模型自我改进,随着时间的推移,对用户查询提供越来越准确的响应。
2.3 边缘器件的优化技术
为了确保人工智能模型在硬件有限的边缘设备上表现良好,苹果开发了几种优化技术,提高了效率和准确性:
Low-Bit Palletization: 这项技术包括减少人工智能模型所使用的数据的位宽度。通过将数据转换成低位格式,所需的内存量减少,从而显著加快计算速度,同时保持准确性。这对于处理能力或电池寿命有限的设备尤其重要。
共享嵌入张量: 苹果使用共享嵌入张量来减少人工智能模型不同部分相似数据的重复。通过共享嵌入,模型可以通过重用相似类型数据的学习表示来更有效地运行。这不仅减少了模型的内存占用,而且加快了边缘设备上的处理时间。
这些技术策略是苹果致力于平衡性能、效率和隐私的更广泛承诺的一部分。通过不断推进这些领域,苹果确保其设备不仅功能强大、智能化,而且在数据完整性和安全性方面得到用户的信任。
此外,苹果还特别强调了用户隐私。苹果的方法围绕着专利技术展开,这些技术可以在不损害隐私的前提下增强用户体验。通过采用双模型架构,苹果公司利用其 M 系列芯片的功能,确保面部识别和个人数据处理等敏感操作完全在设备上进行。这种方法不仅可以通过减少延迟来提高性能,而且还可以通过最小化数据公开来增强用户的信任。
苹果的战略还包括与其他合作伙伴整合,例如 OpenAI, 允许用户直接从他们的设备访问 ChatGPT。这种集成可以作为第三方设备上的AI应用生态,增强用户体验,并扩大苹果的生态系统。这个策略不仅仅是为了提高苹果设备的性能,也是为了确保你对你的数据处理方式感到安全和自信。
通过苹果智能可以看到,在智能手机、物联网设备和嵌入式系统等边缘设备上部署 LLM 应用程序可以带来显著的好处,包括减少延迟、增强隐私和离线功能等。那么, 在端设备上部署大模型应用有什么一般方法么?
3. 端设备的AI 应用考量
端设备是在生成数据的位置执行数据处理的硬件设备,例如智能手机、物联网设备和嵌入式系统。与云计算相比,边缘计算提供了几个优势,例如减少延迟、增强隐私以及离线操作的能力。然而,在边缘设备上部署应用程序存在挑战,包括有限的计算资源和功耗限制。
在部署设备上的 AI 应用程序之前,可能需要考虑以下两个因素:
应用用例和需求: 理解 LLM 应用的特定用例及其性能需求。这有助于选择合适的模型和优化技术。
数据隐私和安全: 确保部署符合数据隐私和安全规则,特别是在处理边缘设备上的敏感信息时。
为边缘部署选择正确的语言模型需要平衡性能和资源限制,以下是需要考虑的关键因素:
模型大小和复杂度: 较小的模型通常更适合于边缘设备。这些设备的计算能力有限,所以一个更轻的模型确保更顺利的操作。选择那些在尺寸和性能之间取得平衡的型号,使它们在不牺牲太多精确性的情况下有效率。
性能要求: 选择的模型必须满足应用程序的准确性和响应性需求,这意味着它应该能够迅速交付精确的结果。虽然边缘设备可能无法处理最大的模型,但是要确保所选的 LLM 足够有效,以便在目标设备上有效运行。优先考虑为速度和资源使用而优化的模型,同时不影响产出质量。
总之,用于设备上 AI 部署的正确语言模型应该紧凑而强大,并且适合应用程序的特定性能需求。平衡这些因素是成功部署的关键。
4. 端设备上的模型优化技术
对有效地在端上部署大模型应用而言,大模型优化技术举足轻重。
1. 量化
量化降低了模型权重的精度。通过使用较低的精度(例如,将32位浮点数转换为8位整数) ,内存使用和计算需求显著降低。这种减少导致了更快的推断和更低的功耗,使量子化成为在边缘设备上部署 LLM 的流行技术。
2. 裁剪
裁剪涉及删除模型中多余或不太重要的神经元和连接。通过消除这些部分,模型的大小减少,导致更快的推理时间和更低的资源消耗。修剪有助于维护模型性能,同时提高边缘部署的效率和可管理性。
3. 知识蒸馏
在这种技术中,一个较小的模型(学生)被训练来模仿一个更大、更复杂的模型(老师)的行为。学生模型学习复制教师模型的输出,保留大部分原始的准确性,同时更有效率。这种方法允许在边缘设备上部署紧凑、高性能的模型。
4. LoRA和 QLoRA
LoRA(解读LoRA)及其变体 QLoRA 是为了在保持性能的同时对模型进行自适应和压缩而设计的技术。LoRA 包括将模型的权矩阵分解为低维矩阵,减少参数的数量而不显著影响精度。QLoRA 进一步量化这些低维矩阵,提高效率。这些方法支持在资源受限的边缘设备上部署健壮的模型。
5. 端设备的软硬件要求
端上的大模型应用需要特定的硬件和软件能力,以确保顺利和有效的操作。
5.1 硬件要求
要顺利地在设备上运行 AI 应用程序,需要确保硬件符合某些标准:
计算能力: 设备应该有一个强大的处理器,有多个核,以处理 LLM 推理的需求。具有专门 AI 加速器的设备,如 GPU 或 NPU,是非常有益的。
内存: 足够的 RAM 是至关重要的,因为 LLM 需要大量的内存来加载和处理数据。内存有限的设备可能很难运行更大的模型。
存储: 需要足够的存储容量来存储模型和任何相关数据。闪存或 SSD 更适合于更快的读写速度。
5.2 软件工具和框架
正确的软件工具和框架对于在设备上部署 AI 至关重要。这些工具有助于模型优化、部署和推理。主要工具和框架包括:
TensorFlow Lite: 为移动和边缘设备设计的 TensorFlow 的轻量级版本。它对模型的大小和延迟进行了优化,使其适合于资源受限的环境。
ONNX 运行时: 一个开源运行时,允许在多个平台上有效地运行在各种框架中训练的模型。它支持广泛地优化,以提高边缘设备的性能。
PyTorch Mobile: 专为移动和嵌入式设备定制的 PyTorch 版本。它提供了优化和部署模型的工具,确保它们在边缘高效运行。
AI SDK: 许多硬件制造商提供专门的 SDK 用于在他们的设备上部署人工智能模型。这些 SDK 针对硬件进行了优化,并为模型部署和管理提供了额外的工具。
6. 端上的大模型应用部署策略
从AI工程师的角度来看,在端设备上部署大模型带来了独特的挑战和机遇。有效的部署策略对于确保最佳性能、资源管理和用户体验至关重要,可能有三种主要策略: 端上推理、混合推理和模型分区。
6.1 端上推理
端上推理涉及到直接在边缘设备上运行整个 LLM。这种方法提供了几个重要的优势,特别是在 LLM 应用程序的延迟、隐私和脱机能力方面。
端上推理消除了与远程服务器交互所需要的响应时间。这对于诸如语音助手和交互式用户界面等实时应用程序至关重要。通过在本地运行模型,应用程序可以在没有 Internet 连接的情况下运行。这对于远程地区或连接不可靠的场景非常重要。同时,减少了传输过程中数据泄露的风险。这对于医疗保健或金融服务等敏感应用程序尤其重要。
与云服务相比,端设备通常具有有限的计算能力、内存和存储空间。工程师必须优化模型以适应这些约束条件,同时不显著影响性能。密集的计算可以快速耗尽电池寿命,特别是在便携式设备上。
平衡性能和能源效率至关重要,诸如量化、裁剪和蒸馏等技术对于减少模型的大小和计算需求是必不可少的。利用类似 TensorFlow Lite 或 PyTorch Mobile 这样的框架,这些框架针对移动和嵌入式设备进行了优化,可以显著提高性能。
6.2 混合推理
混合推理利用端资源和云资源来平衡性能和资源约束。该策略包括在边缘设备上运行模型的一部分,以及在云服务器上运行模型的一部分。通过将资源密集型计算卸载到云中,混合推理减轻了边缘设备的负担,从而能够部署更复杂的模型。可以根据需求动态扩展云资源,为不同的工作负载提供灵活性和健壮性。即时的、对延迟敏感的任务可以在本地处理,而更复杂的处理可以由云处理。
混合推理的性能取决于网络连接的质量和可靠性。网络延迟或中断会影响用户体验。把数据传送到云端会构成私隐风险,要确保数据传输和储存的安全。
工程师需要从策略上对模型进行分割,确定哪些部分应该在边缘运行,哪些部分应该在云中运行。最小化边缘和云之间传输的数据量,以减少延迟和带宽使用。数据压缩和智能缓存等技术可能是有益的。需要实现降级机制,以优雅地处理网络故障,确保应用程序在连接丢失时仍能正常工作。
6.3 模型分区
模型分区涉及到将 LLM 分割成更小的、可管理的段,这些段可以分布在多个设备或环境中。这种方法可以提高效率和可伸缩性。通过将模型分布在不同的设备上,平衡了计算负载,使得在资源受限的边缘设备上运行更复杂的模型成为可能。模型的不同部分可以独立优化,允许基于每个设备的能力进行定制优化。模型分区促进了可伸缩性,支持跨不同硬件配置部署大型模型。
对模型进行分区需要仔细的规划和工程设计,以确保各部分之间的无缝集成和通信。不同模型段之间的通信会引入延迟。工程师必须优化段间通信以尽量减少这种开销。确保模型段之间的一致性和同步对于维护整个模型的性能和准确性变得非常重要。
一般地,需要确定模型中的逻辑点,在这些逻辑点中可以对模型进行分区,而不会造成显著的性能损失。这可能涉及根据计算需求分离不同的层或组件。使用有效的通信协议,以尽量减少延迟,并确保可靠的数据传输之间的模型段。根据每个设备的能力优化资源分配,确保每个段有效运行。
6.4 实现端上大模型的一般步骤
在端设备上部署大模型应用的一般步骤如下:
准备开发环境: 为开发建立必要的工具和框架。
优化模型: 应用优化技术使模型适合边缘部署。
与边缘设备软件集成: 确保模型可以与设备的软件和硬件交互。
测试和验证: 在边缘设备上对模型进行彻底测试,以确保其满足性能和准确性要求。
部署和监视: 将模型部署到端设备并监视其性能,根据需要进行调整。
7. 一句话小结
端上的 AI 应用可以通过提供快速、高效和私有 AI 功能来显著提高用户体验,利用优化技术和部署策略,我们可以尝试在端上成功地实现大模型应用,苹果智能为我们提供了有益的参考。
【关联阅读】
大模型应用的10种架构模式
7B?13B?175B?解读大模型的参数
“提示工程”的技术分类
大模型系列:提示词管理
提示工程中的10个设计模式
Chunking:基于大模型RAG系统中的文档分块
大模型应用框架:LangChain与LlamaIndex的对比选择
在大模型RAG系统中应用知识图谱
面向知识图谱的大模型应用
让知识图谱成为大模型的伴侣
如何构建基于大模型的App
Qcon2023: 大模型时代的技术人成长(简)
论文学习笔记:增强学习应用于OS调度
LLM的工程实践思考
大模型应用设计的10个思考
基于大模型(LLM)的Agent 应用开发
解读大模型的微调
解读ChatGPT中的RLHF
解读大模型(LLM)的token
解读提示词工程(Prompt Engineering)
解读Toolformer
解读TaskMatrix.AI
解读LoRA
解读RAG
大模型应用框架之Semantic Kernel
浅析多模态机器学习
深度学习架构的对比分析
老码农眼中的大模型(LLM)