万字长文细说端侧大模型进展(综述)

大模型数据安全机器学习
  1. 引言 =======

树树皆秋色,山山唯落晖。

picture.image

小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖炒米粉的小男孩。最近,智谱AI推出的智能体AutoGLM引起了广泛关注。随着测试的深入,用户对该产品需要将屏幕数据上传至云端所带来的隐私安全问题愈发担忧。为此,今天小编将基于近期一篇关于端侧大模型的综述文章,介绍该领域的一些最新进展。随着端侧大模型的发展,这些隐私安全的顾虑有望得到有效缓解。鉴于篇幅较长,建议小伙伴们收藏以便后续阅读。更多关于端侧大模型、推理加速等欢迎关注本微信公众号《小窗幽记机器学习》::

论文地址:https://arxiv.org/abs/2409.00088

  1. 简介 =======

大型语言模型(LLMs)的出现彻底改变了自然语言处理(NLP)领域。由于其在边缘设备上的低延迟、数据本地化和个性化用户体验的优势,越来越多的研究关注在资源受限环境中部署LLMs的挑战与解决方案。本文综述了设备端语言模型的发展,包括高效架构设计、模型压缩技术及硬件加速策略,并通过案例研究展示其实际应用及潜在优势。

  1. 基础与准备工作 ============

2.1 端侧大模型的演进

设备端大型语言模型的演进与技术进步息息相关。图3展示了自2023年以来的发展时间线,生动呈现了这一领域的快速进步。2023年标志着边缘大型语言模型的正式探索,当时出现了几个参数量低于10B的模型,使其能在边缘设备上运行。值得注意的例子包括:

  • Meta的 LLaMA 系列
  • 微软的 Phi 系列
  • 智谱的 ChatGLM 系列
  • 阿里巴巴的 Qwen 系列
  • 01万物的 Yi 系列
  • Mistral 系列
  • 上海AI lab的InternLM 系列

除此之外,还有TII发布的Falcon模型和Mosaic ML发布的MPT模型。尽管这些小参数模型性能不如传统大参数模型,但它们使在边缘设备上运行大型语言模型成为可能,体现了对边缘应用场景的重视。混合专家、量化和压缩等技术的应用,进一步提升了小参数模型的性能。

图3还展示了自2023年以来多模态模型的出现,如LLaVa系列、QwenVL、Gemini Nano和Yi VL。这些模型尝试在边缘设备上部署多模态能力,以适应移动设备上更复杂的用户场景。

picture.image

Figure 3:端侧大语言模型的演变

进入2024年,创新步伐加快,图中右侧密集的新模型群体现了这一趋势。这一时期引入了:

  • Nexa AI 的 Octopus 系列
  • 面壁智能的 MiniCPM 系列
  • Google的 Gemma 系列
  • Apple的 OpenELM 和 DataComp-LM
  • AI2的OLMo

新模型同时提供文本和多模态功能,适应多样化的任务处理场景。设备端语言模型的多样性和进展,结合智能硬件和软件的成熟,使其在智能手机、联网汽车、计算机和机器人等终端设备中展示出日益增长的潜力和价值。

2.2 大语言模型架构基础

  1. 传统文本大型语言模型: 从Transformer架构发展而来,最初由编码器和解码器组成。如今,流行的模型如GPT和LLaMA主要使用仅解码器架构。GPT模型在自注意力机制后应用层归一化,而LLaMA在每个子层前应用归一化以提高训练稳定性。在注意力机制方面,GPT模型使用标准自注意力机制,允许模型在生成序列时考虑输入序列中所有位置的信息,而LLaMA使用分组查询注意力(GQA),优化计算和内存效率。混合专家(MoE)概念最早于1991年提出,在现代语言模型预训练中关键。MoE使用稀疏层减少计算资源,包含多个独立的“专家”网络和一个门控网络,以确定token的路由。
  2. 多模态大型语言模型: 依托Transformer强大的学习能力,这些模型可以同时处理文本、图像、声音等多种模态。。其内部运作机制如下: A) 使用标准交叉注意力层在模型内部层对多模态输入进行深度融合(如MultiModal-GPT) B) 使用定制设计的层在模型内部层对多模态输入进行深度融合(LLaMA-Adapter,MoE-LLaVa) C) 在模型输入阶段对多模态输入进行早期融合,使用特定模态的编码器(LLaVa,Qwen-VL) D) 在输入阶段进行早期融合,但使用tokenization技术(如分词器)处理不同模态。

2.3 端侧大语言模型训练

在资源有限的设备上部署大型语言模型面临内存和计算能力的挑战。为解决这些问题,采用协作和分层模型方法分配计算负载。在资源受限设备上进行训练的经典方法包括:

  1. 量化感知缩放:通过自动缩放不同位精度张量的梯度来稳定训练过程,解决量化图中不同位宽张量梯度尺度不一致的问题,使量化模型的训练精度与浮点模型相当。
  2. 稀疏更新:选择性地更新网络中部分层的权重,跳过不太重要的层和子张量的梯度计算,从而减少内存使用和计算成本。
  3. 微型训练引擎(TTE):包括反向图中的冗余节点,如冻结权重的梯度节点,并重新排序操作以实现原位更新
  4. 贡献分析:自动确定稀疏更新方案,即确定哪些参数(权重/偏置)对下游精度贡献最大,以便在有限内存预算下选择应更新哪些层或张量部分。

2.4 云端推理的局限性和端侧推理的优势

边缘-云协作部署是首选,而单纯云端部署(例如ChatGPT)并不广泛接受。如图4所示,88%的参与者倾向于边缘-云协作架构,其中58.33%支持本地部署,81.82%对现有的仅云端解决方案不满意。他们的主要担忧是:1)远程大型语言模型服务的高延迟,2)将个人数据传输到云端的风险,3)云端大型语言模型服务的成本。

picture.image

Figure4:个人对不同LLM部署策略的投票分布

虽然云端模型功能强大,但存在潜在延迟和数据安全隐患。设备端推理延迟低、保护用户数据。此外,移动设备上定制硬件加速器的普及使得直接在设备上运行数十亿参数的大型语言模型成为可能。

设备端推理在减少延迟方面提供了令人信服的案例,因为它允许模型直接在用户设备上运行,无需将数据发送到云服务器。这种方法对需要实时响应的应用尤其有益。以基于云的GPT-4为例,每个token的生成速度约为200毫秒,而常见的终端模型已经能够比这更快地生成token。

离线运行模型的能力减少了对网络连接的依赖,使应用程序在网络覆盖不佳的地区或其他离线环境中更易获得。例如,Google基于Gemini Nano的TalkBack功能使用多模态能力识别图像内容,为残障人士提供语音播报,即使在完全离线状态下也能正常工作。设备端推理还通过模型量化等技术优化了有限计算资源的使用,使语言模型能够在内存有限的设备上高效运行。

用户友好的界面进一步促进了大型语言模型在移动设备上的部署,这些界面抽象了AI的复杂性,使没有专业知识的用户也能使用这项技术。此外,这些应用不仅限于文本生成,还可以通过创新的文本到行为功能扩展其功能,与设备功能交互,如拨打电话、进行网络搜索和管理日历事件。

2.5 端侧大语言模型的性能指标

在评估设备端大型语言模型的性能时,有几个关键指标需要考虑:

  1. 延迟:是指从用户输入请求到系统开始响应所需的时间。通常使用TTFT(首次生成token时间)来衡量。延迟越低,用户体验越流畅。
  2. 推理速度:指模型基于已生成的所有token来预测下一个token的速度。由于每个新token都依赖于先前生成的token,因此推理速度对于用户对话的流畅性至关重要。
  3. 内存使用:使用的RAM/VRAM大小也是语言模型运行的性能指标之一。由于语言模型的运行机制,它们在推理过程中会根据模型参数的大小消耗相应的RAM。例如,在个人办公笔记本电脑上部署70B参数的模型是不切实际的。对于内存有限的设备,工程师需采用模型压缩技术来减少内存占用。
  4. 存储和能耗:模型占用的存储空间和推理过程中能耗对边缘设备尤为重要。在大多数情况下,大型语言模型推理会使处理器处于满负荷工作状态。如果运行时间过长,将严重消耗移动设备的电池。推理过程中的高能耗可能影响设备的电池寿命。 例如,一个7B参数模型推理每个token将消耗约0.7J。对于电池容量约为50kJ的iPhone来说,这意味着与模型的对话最多只能持续两个小时。 此外,模型推理引起的设备发热也是需要解决的问题。

通过优化这些性能指标,设备端大型语言模型能够在更广泛的场景中高效运行,为用户提供更好的体验。

3 高效的端侧大模型架构

3.1 架构设计原则和创新

设计用于设备端部署的语言模型需要考虑多项架构原则和创新,以克服移动和边缘设备的资源限制。主要策略包括:

  • 参数共享:在模型不同部分复用权重,减少总参数数量。
  • 模块化架构:将大语言模型拆分成可独立或并行处理的较小组件。
  • 紧凑表示:通过量化和权重剪枝等技术减少内存占用。

这些架构的性能、计算效率和内存需求比较总结于表1。

picture.image

3.2 模型压缩和参数共享

在资源受限设备上高效部署大语言模型,通常需要在不显著牺牲性能的前提下减小模型大小。模型压缩和参数共享 技术在实现这种平衡中发挥关键作用。

AWQ即激活值感知的权重量化(Activation-aware Weight Quantization),是一种针对LLM的低比特权重量化的硬件友好方法。AWQ是一种仅权重量化方法,专注于大语言模型中权重的重要性。AWQ保护了一小部分关键权重(0.1%-1%),减少量化损失,保持模型泛化能力。与传统方法不同,AWQ不需要反向传播或重建,从而保持效率和性能。提出的TinyChat推理框架实现了AWQ,在服务器和移动GPU上相比传统FP16实现获得显著加速(高达3倍)。

MobileLLM通过深而窄架构,解决了移动设备上高效大语言模型的需求。关键技术包括嵌入共享、分组查询注意力和分块立即权重共享。MobileLLM相比之前最先进的模型实现了显著的准确度提升(例如,125M和350M模型分别提高2.7%和4.3%的准确度)。增强版MobileLLM-LS进一步提高了准确度,同时保持较小的模型大小,非常适合设备端应用。

AWQ和MobileLLM展示了模型压缩和参数共享技术在使大语言模型适用于移动和边缘设备方面的潜力。AWQ专注于权重量化以减小模型大小并提高推理速度,而MobileLLM强调架构优化和权重共享以创建高效的十亿参数以下模型。这些为提高资源受限环境中大语言模型的性能和可访问性做出了重要贡献。

3.3 协作和分层模型方法

在资源受限设备上部署语言模型面临重大挑战,如有限的内存和计算能力。协作和分层模型方法通过分配计算负载并利用具有不同能力的多个模型,为克服这些限制提供创新解决方案。

EdgeShard引入了EdgeShard框架,将大型大语言模型分割成更小的分片,并战略性地将它们分布在边缘设备和云服务器上。这种方法通过同时利用多个设备的计算能力来减少延迟并提高吞吐量。动态规划算法优化分片放置,平衡计算负载并最小化通信开销。实验结果显示,与传统基于云的方法相比,延迟减少(高达50%)和吞吐量提高(高达2倍)。

LLMCad提出了一种结合较小内存驻留模型更大更准确模型 的推理引擎。较小的模型生成候选token,而较大的模型验证和纠正这些token。这种"生成然后验证"方法利用了较小模型的效率,并保持了较大模型的准确性。LLMCad在不影响准确性的情况下token生成加速高达9.3倍。

WDMoE提出了在无线通信系统中部署大语言模型的新范式。通过执行MoE层分解,在基站部署门控网络,并将专家网络分布在移动设备上,以优化性能并减少延迟。此外,提出的专家选择策略基于无线信道条件动态调整专家选择,以确保最佳性能。

协作和分层模型方法,如EdgeShard和LLMCad提出的方法,为在资源受限设备上部署大语言模型的挑战提供了有效解决方案。通过在多个设备之间分配计算负载,并使用较小的模型进行初步任务,这些方法提高了大语言模型推理的可扩展性和效率。EdgeShard框架展示了协作边缘-云计算的优势,而LLMCad展示了分层模型协作在保持准确性和提高推理速度方面的潜力。这些方法对于在移动和边缘设备上实现先进的人工智能能力至关重要,提供实时性能和高效资源利用。

3.4 内存和计算效率

高效的内存和计算资源利用对于在移动和边缘设备上部署大型语言模型至关重要。

三星电子的研究人员提出了创新的内存解决方案,以解决大语言模型部署中的内存瓶颈,包括内存内处理(PIM)和近内存处理(PNM)技术:

  • Aquabolt-XL和LPDDR-PIM: 这些PIM设备在内存核心中嵌入逻辑,提高内部内存带宽并支持高性能计算任务,包括大语言模型加速。
  • AXDIMM和CXL-PNM: 这些PNM解决方案将计算逻辑放置在内存核心附近,增强内存带宽和容量。CXL-PNM将计算逻辑集成到CXL内存控制器中,显著提高内存容量和性能。

实验结果表明,与传统内存架构相比,这些内存解决方案实现了高达4.5倍的性能提升和71%的能耗降低。

MELTing Point引入了MELT基础设施,促进在移动设备上执行和评估大语言模型。MELT框架支持Android、iOS和Nvidia Jetson设备,并提供详细的性能、能耗指标和内存使用详情。MELT论文验证了模型量化对性能和准确性的影响,表明虽然量化减少了内存需求,但会牺牲一定的准确性。结果强调了在内存和计算效率与性能之间平衡的重要性。

内存和计算效率对于在移动和边缘设备上部署大语言模型至关重要。本小节回顾各种克服内存墙并优化资源使用的创新解决方案。三星的内存解决方案(如PIM和PNM)显著提高了内存带宽和容量,实现高效的大语言模型推理。MELT基础设施提供了全面的评估框架,提供了性能、能效和内存使用之间权衡的宝贵见解。这些进展对确保大语言模型能够在资源受限设备上有效运行至关重要,为移动和边缘环境中更实用、高效的人工智能应用铺平了道路。

3.5 混合专家(MoE)架构

混合专家(MoE)架构通过利用稀疏激活和动态路由来提高效率,为在边缘设备上部署大语言模型提供了一种有前景的方法。

EdgeMoE引入了一个在边缘设备上高效执行MoE模型的框架。通过专家级位宽自适应,使每通道线性量化以最小的准确性损失减小专家权重的大小。利用新颖的专家管理方法,将专家权重预加载到计算-I/O管道中,以减少I/O交换开销。实验结果表明,与基线解决方案相比,推理速度提高了高达2.78倍。

LocMoE引入了路由策略和通信优化方案,以提高基于MoE的大语言模型训练效率。采用正交门控权重方法来降低计算成本并促进明确的路由决策。此外,引入基于局部性的专家正则化,鼓励局部专家竞争,减少通信时间并避免训练不足。另外,还使用分组All-to-All和通信重叠,通过将计算与通信重叠来优化All-to-All操作,以掩盖延迟。

LLMaaS范式将大型语言模型作为系统服务 集成到移动设备上。在他们提出的设计中,有状态执行允许系统在多次调用中保持持久状态(KV缓存)以提高性能。统一接口通过将大语言模型及其基础设施作为系统功能暴露给移动应用,有助于减少内存使用。他们还引入了诸如分块KV缓存压缩和交换等技术,以最小化上下文切换开销。

JetMoE提出使用稀疏门控混合专家(SMoE)架构对大型语言模型进行高效训练。将稀疏激活应用于注意力和前馈层,显著降低计算成本同时保持高性能。JetMoE-8B使用1.25T个token和30,000个H100 GPU小时训练,成本不到10万美元,性能超过了Llama2-7B,且JetMoE-8B-Chat优于Llama2-13B-Chat。该模型总共80亿参数,每个输入token仅激活20亿参数,与Llama2-7B相比,减少了约70%的推理计算。

MoE架构为在边缘设备上部署大语言模型提供了创新解决方案。这些方法利用稀疏激活和动态路由来提高计算效率和资源利用率。

3.6 通用效率和性能改进

在边缘设备上高效部署大语言模型涉及一系列旨在提高整体性能同时管理计算和内存约束的策略。以下回顾引入提高设备端大语言模型效率和有效性的关键研究工作。

任意精度大语言模型(Any-Precision LLM) 提出了一种内存效率高的方法,部署具有不同精度的各种大语言模型。任意精度模型将任意精度深度神经网络扩展到大语言模型,允许单个n位量化模型支持多个低至3位的低位宽模型 。这在不显著损失性能的情况下减少了内存使用。训练后量化(PTQ)创建低位模型并将其逐步升级到更高位宽。这避免了每种精度的多次训练阶段,节省了时间和资源。针对任意精度支持优化的新软件引擎管理内存带宽并提高服务效率,确保大语言模型在边缘设备上的实际部署。实验结果表明,内存节省和服务效率显著提高。

LCDA框架探索了在软硬件协同 设计中使用大语言模型来优化内存计算(CiM)深度神经网络(DNN)加速器的开发。LCDA框架将大语言模型集成到硬件和软件的设计过程中,利用其在多样化数据集上的广泛训练来加速协同设计。通过结合预训练大语言模型的启发式知识,该框架绕过了冷启动问题,能更快地收敛到最优解。与最先进的方法相比,该框架在设计过程中显示出25倍的加速,同时在设计高效DNN模型和硬件架构方面保持了相当的性能水平。这种方法突显了大语言模型在增强协同设计 过程中的潜力,同时改善了先进人工智能应用的软件和硬件效率。

通用效率和性能改进对于大语言模型在边缘设备上的部署至关重要。本小节回顾提高内存效率、计算速度和整体性能d的研究工作。任意精度大语言模型方法为部署具有不同精度的多个大语言模型提供了灵活且内存高效的解决方案,而LCDA框架则展示了将大语言模型整合到协同设计过程中以优化软件和硬件的好处。这些进展有助于使大语言模型在资源受限环境中更易获得且更有效,使移动和边缘设备上的人工智能应用范围更广。

  1. 端侧大模型压缩和优化 ==============

在大语言模型(LLMs)的领域,尤其是针对边缘设备的部署,在保持性能的同时提高计算效率至关重要。本节介绍四种关键的模型压缩技术:量化、剪枝、知识蒸馏和低秩分解 。这些方法通过平衡性能、内存占用和推理速度来提高大语言模型的运行效率,确保其在设备端应用中的可行性。

4.1 量化

量化是将神经网络中的高精度(浮点)权重和激活值转换为低位宽(整数)的过程。这种技术显著减少了模型大小和计算需求,实现了更快的推理和更低的内存消耗,同时保持了准确性。

  1. 训练后量化(PTQ): PTQ在模型训练后应用,无需重新训练,因此比量化感知训练 (QAT) 更快,资源消耗更少。有几种值得注意的PTQ方法。

(a) 仅权重量化 :在仅权重量化中,只对神经网络的权重进行量化。这种方法简化了量化过程,当激活值范围变化不大或计算资源严重受限时特别有效。

(b) 权重-激活联合量化 :权重和激活值都进行量化,进一步降低计算复杂度。由于高效的矩阵乘法,这种方法在硬件实现中具有优势,对神经计算至关重要。BitNet b1.58对每个参数使用三元量化(-1、0、1),显著改善了延迟、内存、吞吐量和能耗指标。

  • GPTQ:GPTQ利用二阶信息进行误差补偿,有效地将每个权重的位宽降至3或4位。该方法保持了高准确性,困惑度仅略微增加,使OPT-175B等语言模型能够在单个高端GPU上运行。
  • 激活感知权重量化 (AWQ):AWQ基于观察到一小部分(0.1%-1%)权重对大语言模型的性能至关重要。通过有选择地跳过对这些关键权重的量化,AWQ显著减少了量化损失。
  • 量化感知训练(QAT) :QAT将量化直接纳入训练过程,使模型能够本质上适应降低精度的约束。这种集成通常会在量化后产生更高的准确性,因为模型在训练阶段主动学习补偿潜在的量化误差。

4.2 剪枝

神经网络中的剪枝涉及有选择地移除权重或神经元,以减少复杂性并提高计算效率,同时保持性能不显著下降。

  1. 结构化剪枝 :移除整个参数子集,如层、通道或滤波器,由于更规则的内存访问模式和简化的计算,有利于硬件优化。"LLM-Pruner"采用结构化剪枝,基于梯度数据消除非必要groups,从而保持关键功能。它还通过LoRA等技术促进性能恢复,允许以最少的数据进行高效恢复。
  2. 非结构化剪枝 :移除模型中的单个权重,提供更细粒度的控制和更高压缩率。然而,这种方法通常会导致稀疏矩阵 ,可能与传统硬件架构不太兼容,影响计算效率。它最适合需要最大压缩而不受结构保留约束的情况。
  3. 上下文剪枝 :根据模型的操作上下文进行剪枝,仅保留特定条件下或特定任务中相关的权重或神经元。上下文剪枝确保减少与模型操作需求动态一致,从而在最重要的地方保持性能。

4.3 知识蒸馏

知识蒸馏 (KD) 是将大型模型(教师)的知识转移到较小模型(学生)的过程,使大型语言模型的能力浓缩而不显著影响性能。

  1. 黑盒知识蒸馏 :学生模型仅从教师模型的输出中学习 ,而不访问其内部机制或参数。当教师模型的细节是专有的或当教师和学生模型的架构显著不同时,此方法尤为有用。例如,Gu等人(2023)证明,黑盒KD可以有效地仅使用ChatGPT等LLM API的输出数据来训练模型。学生模型训练以模仿教师的输出分布,基于输入-输出对,这个过程虽然有效,但将学习限制在外部行为上,而不能深入教师的内部状态。
  2. 白盒知识蒸馏 :相比之下,白盒知识蒸馏允许学生模型访问教师的内部状态和工作原理,促进更深入、更精确的学习过程。这种方法使学生不仅能够模仿输出,还包括教师的内部状态分布,提高学习效果和深度。对教师详细工作的增加访问有助于指导学生的学习,产生更准确和健壮的模型。然而,这种技术需要谨慎地对齐模型架构以确保有效的知识转移,实现通常更为复杂。

4.4 低秩分解

低秩分解 (LRF) 是将矩阵分解为更小组件的技术,显著降低计算复杂度而不影响模型准确性。利用矩阵中普遍存在的内在低秩结构,LRF通过低秩因子的积来近似这些矩阵,这在图像处理、机器学习模型的降维和数据压缩等应用中已证明不可或缺。这种方法不仅保持了基本的数据特征,还确保了高效的存储和处理。进一步扩展其应用,Yao等人(2024b)的研究将LRF与大型语言模型中的训练后量化(PTQ)相结合。这种创新方法,称为低秩补偿(LoRC),通过显著减少模型大小并保持准确性来提高模型效率,有效缓解了激活量化的不利影响。LRF和PTQ的这种结合展示了在维持复杂模型性能的同时优化计算效率的重大进展。

  1. 硬件加速和部署策略 =============

硬件加速器如GPU、TPU和专用AI芯片在实现大语言模型的高效设备端推理中发挥着重要作用,提供强大的计算能力和高内存带宽。选择GPU、TPU、FPGA或其他AI专用芯片时,需要在性能、功耗和成本之间进行权衡。例如,GPU因其并行处理能力而被广泛使用,TPU擅长矩阵运算,而FPGA因其可定制性和节能特性适合特定任务。通过软硬件协同设计方法,如量化感知训练和模型压缩,可以进一步提高效率,使大语言模型能够在从高功率服务器到低功率边缘设备的各种设备上运行。参数共享和高级内存管理等优化策略对于减少模型占用空间至关重要,从而在不同计算环境中实现更快速且具成本效益的部署。这些策略共同提升了大语言模型的部署和执行能力,以满足各种应用需求和硬件限制。

5.1 端侧大模型推理框架

根据用例和可用基础设施,大语言模型的部署策略可能大相径庭,从完全基于云的解决方案到仅在边缘设备的部署。

  1. 仅边缘

(a) Llama.cpp

(b) MNN

(c) PowerInfer

(d) ExecuTorch

(e) MediaPipe

  • 描述:由Google开发的MediaPipe是一个用于构建和部署涉及视频、音频和其他时间序列数据的多模态机器学习管道的框架。
  • 训练:没有内置的训练功能。
  • 推理:支持包括Android、iOS、macOS、Windows和Linux在内的多个平台,利用CPU和GPU资源。
  • 描述:ExecuTorch是PyTorch Edge生态系统的一部分,适用于在移动设备和可穿戴设备上高效部署PyTorch模型。
  • 训练:没有内置的训练功能。
  • 推理:利用包括CPU、NPU和DSP在内的全部硬件功能,适用于各种计算平台。
  • 描述:PowerInfer和PowerInfer2是一个高速推理引擎,针对在配备消费级GPU的PC上部署大语言模型进行了优化,采用以局部性为中心的设计。
  • 训练:没有内置的训练功能。
  • 推理:支持包括x86-64 CPU和Apple M芯片在内的各种计算平台,针对Windows和Linux进行了优化。
  • 描述:MNN利用移动神经网络技术进行高效推理,优化了具有动态输入和多模态交互的移动设备。
  • 训练:支持设备上的全尺寸微调和LORA微调。
  • 推理:支持ONNX和MNN格式的模型部署,适用于CPU、CUDA和OpenCL等多种后端。
  • 描述:这是一个C/C++库,专为在多种硬件平台上高效推理大语言模型而设计,支持整数量化、GPU加速和CPU+GPU混合推理。
  • 训练:支持设备上的LORA适配器微调。
  • 推理:支持跨ARM和x86架构的CPU和CPU+GPU混合推理。
  • 边缘-云

(a) MLC-LLM

(b) VLLM

(c) OpenLLM by BentoML

  • 描述:OpenLLM使各种开源大语言模型能够部署为与OpenAI兼容的API端点,针对高吞吐量和精简云部署进行了优化。
  • 训练:没有内置的训练功能。
  • 推理:兼容各种模型架构和后端实现,适用于生产环境中的高效部署。
  • 描述:针对边缘-云环境进行了优化,支持高级量化方法,以在推理过程中高效管理key和value。
  • 训练:没有内置的训练功能。
  • 推理:支持多个GPU平台,并集成Vulkan、CUDA、Metal和WebGPU技术。
  • 描述:是一个机器学习编译器和高性能部署引擎,支持在边缘设备和云环境中部署大语言模型。
  • 训练:没有内置的训练功能。
  • 推理:支持ARM和x86架构的CPU和GPU上的推理。

5.2 硬件加速

硬件技术的持续进步显著影响了设备端大语言模型的部署和性能。

  1. GPU :凭借其大规模并行能力和高内存带宽,GPU已成为训练和加速大型语言模型的标准。NVIDIA的Tensor Cores在Volta架构中引入,并在后续几代中改进,为混合精度矩阵乘加运算提供了专门的硬件支持,这对基于Transformer的模型至关重要。最近的进展,如NVIDIA的A100 GPU,配备80GB HBM2e内存,使得在单个设备上训练具有数十亿参数的模型成为可能。框架如Megatron-LM中实现的张量并行和流水线并行等技术,允许大语言模型在多个GPU上高效扩展。使用混合精度训练,特别是FP16和BF16格式,显著减少了内存占用,并增加了现代GPU上的计算吞吐量。
  2. NPU :神经处理单元(NPU),也称为AI加速器,是专为机器学习工作负载设计的专用芯片。Google的张量处理单元(TPU)是一个突出的例子,最新的v4版本每个芯片提供275 TFLOPS的BF16性能。TPU利用脉动阵列架构进行高效的矩阵乘法,特别适合大语言模型中的Transformer层。TPU Pod配置允许扩展到数千个芯片,使得训练如GPT-3和PaLM等大规模模型成为可能。其他NPU,如华为的昇腾AI处理器和Apple的Neural Engine,也通过量化和剪枝等技术为较小的大语言模型的设备端推理提供加速。
  3. FPGA :现场可编程门阵列(FPGA)为加速大语言模型提供了灵活的硬件平台,尤其是在推理方面。最近的研究展示了在FPGA上高效实现Transformer层,利用稀疏矩阵乘法和量化等技术。例如,微软的Project Brainwave使用Intel Stratix 10 FPGA加速BERT推理, 实现了低延迟和高吞吐量。FPGA在能效方面表现出色,可以针对特定模型架构进行优化,使其适合较小大语言模型的边缘部署。然而,与GPU和ASIC相比,FPGA的计算密度较低,限制了其在训练大规模模型方面的应用。

通过这些硬件加速技术和策略,大语言模型可以在各种计算环境中实现高效的部署和执行,满足不同应用需求和硬件限制。

  1. 应用实例 ========

近年来,人工智能技术的迅猛发展和移动设备硬件的不断升级,使得在边缘设备上部署大型语言模型成为可能。作为人们日常生活中最常用的设备,智能手机上的语言模型引人注目。目前,全球主要手机品牌已开发并发布了多款先进的模型,这些模型采用设备端部署或设备-云协同策略,如表2所示。这些模型标志着移动计算的重大飞跃,为用户带来了传统云部署无法比拟的优势。

picture.image

6.1 端侧语言模型示例

  1. Gemini Nano : 该模型由Google提供,作为移动操作系统的系统功能开放给应用程序,类似于位置或通知服务。用户可通过Google AI Edge SDK访问AI核心,内部提供Gemini Nano模型。相比在云端运行的其他Gemini模型,该模型更小但速度更快,推理延迟更低。AI核心负责模型分发以优化内存管理,并利用设备硬件加速推理。Gemini Nano通过从更大的Gemini模型蒸馏而来,采用4位量化,提供最佳性能。
  2. Nexa AI Octopus系列模型: 这是一个在边缘设备上运行的20亿参数模型,在精度和延迟上超越了GPT-4,并将上下文长度减少了95%。通过标记化核心函数名并使用函数token微调,该模型可理解软件应用程序功能,并将函数描述映射到特定token。Octopus模型在移动设备上展示了快速响应时间,即使在标准Android手机上,对于典型的20到30个token的查询,也能在1.1到1.7秒内完成函数调用。
  3. 苹果OpenELM和Ferret-v2 : 苹果开发的OpenELM是集成在iOS系统中的大型语言模型,用于增强应用功能,类似于位置跟踪等系统服务。OpenELM采用分层缩放架构,拥有11亿参数,与先前模型相比,其准确率提高了2.36%,只需一半的预训练标记。它与MLX库兼容,便于在苹果设备上直接微调。Ferret-v2显著升级,整合任意分辨率定位、多粒度视觉编码和复杂三阶段训练方案等功能,提升了高分辨率图像处理和视觉理解能力,从而为iOS用户确保了强大的设备端功能。
  4. 微软Phi系列 : 微软的Phi-3-mini是一个紧凑而强大的38亿参数模型,训练于3.3万亿标记数据集。尽管规模小,Phi-3-mini在性能上可与Mixtral 8x7B和GPT-3.5相媲美,在MMLU上达到69%,在MT-bench上得分8.38。Phi-3-small和Phi-3-medium规模更大,在4.8万亿标记上训练,分别拥有70亿和140亿参数,表现更优(MMLU分别为75%和78%,MT-bench得分分别为8.7和8.9)。Phi-3-vision基于Phi-3-mini衍生,拥有42亿参数,专为增强图像和文本提示的推理能力设计。
  5. MiniCPM : MiniCPM-Llama3-V 2.5是开源MiniCPM-V系列的最新成员,由清华大学和ModelBest合作开发,拥有85亿参数。在Open-Compass评估平台上,该模型在11个多模态基准测试中平均得分65.1,超过了GPT-4V-1106(63.5分)、Gemini Pro(62.9分)、Claude 3和Qwen-VL-Max等领先模型。在OCR和场景文本理解的特定评估中,MiniCPM-Llama3-V 2.5表现优异,OCRBench得分超过700,超越了GPT-4和Gemini Pro。在TextVQA和DocVQA基准测试中,分别达到76.6%和84.8%的准确率。
  6. Gemma2-9B : Google的Gemma系列是轻量级、先进的开放模型。Gemma2版本有9B和27B两种规格,9B版本使用8TB的网络数据、代码和数学数据训练。其创新的注意力机制包括滑动窗口和全局注意力层,并使用知识蒸馏和模型合并技术。Gemma2-9B在推理、数学和编码等领域表现优异,超越了同类规模的Llama 3-8B等开放模型,并与HuggingFace、Keras 3.0、vLLM、Gemma.cpp和Llama.cpp等主要AI框架兼容。
  7. Qwen2-0.5B : 阿里云推出了Qwen2系列,其中Qwen2-0.5B为参数量最小的版本,具有32K的上下文长度。在多项测试中,该模型表现与Gemma-2B和Phi-2相当,但参数量更小,未来有望在智能家居中发挥重要作用。针对短上下文长度的问题,Qwen-Agent框架采用Agentic RAG思想,可将处理上下文扩展到1M,实现长文本理解。

6.2 设备端LLM的应用

设备端语言模型正开启一个智能、响应迅速、个性化应用的新时代。通过将先进的自然语言处理能力直接引入用户设备,这些模型正在改变人们与技术互动的方式。从即时消息建议到实时语言翻译,从保密医疗咨询到尖端自动驾驶汽车,说明设备端LLM是具有广泛影响的多功能工具。以下示例(如图5所示)展示了设备端LLM应用的广度和深度,展示了这项技术不仅在增强现有服务,还在各种领域中出现全新类别的智能、响应迅速和安全应用。

picture.image

  1. 消息文本生成 :过去,基于云端LLM的快速回复功能受限于生成速度和网络延迟 。借助设备端LLM,Google的键盘应用Gboard可以使用Google的设备端LLM Gemini Nano。当检测到用户正在在线聊天时,Gemini Nano可以根据聊天内容快速生成符合对话语境的快速回复供用户选择,从而提升即时聊天效率。
  2. 翻译 :LLM在语言翻译领域得到广泛应用。这种方法可以使用特定领域适用的术语和风格进行翻译,这是传统机器翻译方法无法实现的。然而,云端LLM仍面临响应速度慢和需要上传信息等问题。设备端LLM更好地解决了这些问题,参数更小、响应更快,还可以在离线环境中运行。这也为许多场景提供了数据安全保障。在翻译质量方面,使用小型模型并不会显著降低翻译准确性。T5-small模型的token生成精度仅比T5语言模型低4%。此外,更快的响应速度意味着设备端模型将更适合同声传译等需要即时翻译的场景。
  3. 会议总结 :亚马逊发布的基于云的解决方案Distill-CLI使用Anthropic的Claude 3 Sonnet模型和亚马逊Transcribe技术生成实时会议摘要。类似的应用还有使用GPT-4o模型的Plaud Note、Zoom-IQ等。然而,使用云端模型的缺点是会产生订阅服务费用,以及网络连接导致的延迟问题。采用设备端模型可以使数据保持本地化,无需上传到云端服务器。
  4. 医疗应用 :当前的医疗模型,如Med-Palm Multimodal可以结合并分析患者陈述、电子病历信息、X光和其他医学图像,生成高准确度的回复。边缘部署可以帮助患者离线回答问题,从而确保模型在紧急情况下的可用性,并保持患者病情的本地化。令人兴奋的是,基于预训练模型在专业医疗领域微调的模型已经出现,如BioMistral-7B、HuatuoGPT-7B-II等。这些低参数模型有望部署在终端设备上。
  5. 科研支持 :传统的研究支持LLM如GatorTronGPT使用大量特定专业数据进行训练。这使它们能够生成高质量的专业文本,从而加速科学研究的进展,尤其是在数据稀缺或敏感的研究领域。改用设备端LLM后,可以降低使用语言模型辅助科研任务的硬件成本,获得更快的响应,并保护科研信息的机密性。
  6. 陪伴机器人 :已经有一些研究案例使用语言模型增强机器人或物联网(IoT)设备的能力。LLM强大的规划和推理能力可以将人类指令分解为一系列子任务,使机器人更好地理解自然语言指令。例如,基于OpenAI多模态语言模型的Figure 01机器人 可以与人深入交流,并根据对话内容独立决策和行动。随着小型模型的兴起,部署设备端语言模型的机器人在响应生成速度方面可以超越传统的基于云端模型的机器人。同时,客户端模型可以确保机器人在离线状态下仍能保持智能能力。
  7. 残障支持 :对于视障用户来说,将图像转换为文本是一项非常基本和重要的功能。目前,许多设备端大型多模态模型,如Octopus v3、MiniCPM-Llama3-V 2.5等, 可以通过多模态能力实现这一功能。借助这些模型,盲人也可以轻松了解对话中的图片和视频信息。Google即将推出基于Gemini Nano的Talkback功能,帮助盲人或视力低下的人更丰富、清晰地介绍图像中的内容。由于Gemini Nano是部署在边缘的模型,这些图像的描述结果将快速出现,即使在没有网络连接的情况下也能工作。类似的能力也可用于手语识别 ,已有项目使用ChatGPT模型进行手语翻译。相比之下,设备端模型可以以更低的延迟生成对应手语的文本翻译,并确保其离线可用性。
  8. 车辆自动驾驶 :使用语言模型驱动汽车自动驾驶可能是一个理想的未来,且现在已经有了范例。DriveVLM Dual是一个将自动驾驶技术与大规模视觉语言模型(VLM)相结合的系统,旨在提高对城市环境中复杂和长尾场景的理解。该系统使用语言描述驾驶环境并识别场景中的关键对象。它从元动作和决策描述逐步发展到路径点,制定计划。DriveVLM在公共基准测试和研究人员自己的基准测试上都超越了现有的最先进方法,特别是在处理复杂和动态场景方面。更令人兴奋的是,DriveVLM可以在车辆本地部署,这也为其即时响应提供了便利。

这些设备端LLM的应用展示了其在增强现有服务和实现新型智能、响应迅速、安全应用方面的潜力。

7 未来方向和挑战

设备端LLM的快速发展主要由三个因素驱动:数据安全需求、低延迟要求和边缘设备上个性化AI 体验的需求增加。近期出现的TinyLlama、MobileVLM和OpenELM等方法体现了这一进展。然而,在资源受限设备上部署LLM面临独特挑战,这些挑战与传统的基于云的实施有显著不同。这些挑战涉及多个领域,包括模型压缩、高效推理、安全性、能源效率,以及与多样化硬件平台的无缝集成。此外,边缘环境的动态性质和持续适应的需求带来了额外的复杂性,需要考虑。

以下概述了推进设备端LLM领域最紧迫的挑战和机遇。需要注意的是,这里讨论的挑战和机遇是相互关联的:一个领域的进展通常会对其他领域产生影响。深入研究当前的研究状况,识别关键挑战并提出未来工作的潜在方向,总结如图6所示。

picture.image

通过解决这些挑战,研究人员和实践者可以推动设备端LLM的可能性边界,最终在各种应用和领域中带来更智能、高效和以用户为中心的计算体验。

7.1 数据安全技术

设备端语言模型可能提供固有的数据安全优势,因为所有数据都可以保持本地化。未来的工作应关注:

  • 开发高效的隐私技术,包括查询混淆、提示调优和高级随机化技术,在数据安全保证与模型效用和计算约束之间取得平衡。
  • 加强风险评估和监控,通过创建复杂的基准测试系统,实施实时监控,以及设计系统来检测和缓解推理过程中潜在的个人身份信息泄露。
  • 优化模型架构和通信策略,重点关注高效的模型分片、增强安全性的架构,以及最小化数据传输。
  • 解决协作和分布式学习场景中的安全挑战,通过安全多方计算、长对话的数据保护,以及扩展PFID等框架以支持更广泛的LLM架构和任务。

7.2 自适应边缘-云协作

随着设备端语言模型的不断发展,边缘计算和云基础设施之间的协同作用既带来机遇,也面临挑战。未来在设备端LLM的自适应边缘-云协作研究中应探索:

  • 发明先进的缓存和请求分析技术,包括复杂的向量数据库缓存策略、多样化LLM请求的特征提取模型,以及不确定性引导的token采样方法,以优化边缘设备和云服务器之间的数据传输。
  • 设计智能调度和资源分配算法,包括个性化推理调度、异构基础设施的自适应资源分配,以及批量大小感知的优化技术,以有效地在边缘-云环境中分配LLM组件和工作负载。
  • 创建高效的知识转移和模型压缩方法,如多模态LLM的基于适配器的知识蒸馏、各种LLM架构的动态量化技术,以及自适应权重更新压缩策略,以实现在资源受限设备上有效部署语言模型。
  • 通过开发token级协作的自适应控制机制、实时决策的高效约束满足算法,以及创新技术来减少延迟并提高混合边缘-云系统中的pipeline执行效率,从而改进协作系统的性能优化。

7.3 多模态和跨模态学习

随着大型语言模型(LLM)逐步扩展到多种模态,对适合在设备上部署的高效多模态架构的需求日益增长。主要研究方向包括:

  • 开发高效的多模态处理和压缩技术,包括先进的不确定性引导的token采样方法、用于云到设备模型更新的动态权重更新压缩策略,以及创新方法来高效结合音频、文本和视频等多种模态用于设备上的模型。
  • 增强知识迁移和适应能力,如探索adapter-based的高级知识蒸馏方法,将知识从较大的云端模型转移到较小的设备上模型,提高跨模态的少样本和零样本能力,并研究结合生成和检索方法的混合方法用于多模态内容生成。
  • 扩展模态支持并改进多模态理解,通过开发非图像模态的大规模数据集,设计新的编码器用于高分辨率图像、长视频序列和复杂音频输入的细粒度多模态理解,并纳入对网页、3D视觉、热图和表格/图形等额外模态和任务的支持。
  • 提升时间和上下文处理能力,通过研究更长的上下文窗口来纳入先前交互的特征,开发复杂的技术来处理和理解跨模态的时间和序列信息,并探索在与虚拟助手交互时有用的任务,如音频字幕和声学场景分类。

7.4 资源效率解决方案

在边缘设备上部署LLM引发了对能耗和环境影响的担忧。未来研究应优先考虑:

  • 创建高效的模型压缩和执行算法: 为LLM开发先进的剪枝、量化和知识蒸馏技术。探索优化大于内存模型执行的方法。研究动态和自适应推理技术,根据输入和可用资源调整模型复杂度。
  • 利用模型稀疏性: 研究利用语言模型运行时激活稀疏性的技术,其中只有模型的一小部分为给定任务激活。这可能会显著减少推理时间和内存占用,从而实现更高效的模型规模扩展。
  • 开发能源感知的训练和部署策略,包括节能算法和运行时优化。探索自适应的参数高效微调方法,在边缘设备上平衡安全性、能源效率和性能。

7.5 硬件-软件协同设计

硬件和软件开发的更紧密集成对优化设备上LLM性能至关重要。未来研究方向包括:

  • 推进各种内存类型的PIM/PNM架构,包括基于CXL系统的优化和边缘设备的低功耗解决方案。
  • 开发硬件感知优化技术,如剪枝感知量化、上下文稀疏性利用和动态稀疏注意力优化。
  • 增强AI专用编译器和运行时系统,以自动识别和优化PIM/PNM硬件的操作,同时考虑图级和硬件特定优化。
  • 设计高效的边缘计算和多设备系统策略,包括动态稀疏树优化、自适应位宽技术和能源感知的协同设计方法。

7.6 稳健性和可靠性

确保设备上语言模型在各种操作条件下的稳健性和可靠性对其广泛应用至关重要。未来工作应解决:

  • 研究检测和缓解设备上LLM输出中潜在偏见和幻觉的方法,特别是在安全关键应用中。
  • 探索用于评估设备上语言模型在真实场景中可靠性的形式化验证和验证框架。
  • 利用集成方法减少方差和偏差。探索概率推理方法来量化和传播LLM管道中的不确定性。

7.7 可扩展性和部署优化

有效扩展设备上LLM以支持不断增长的用户和应用数量带来了重大挑战。未来研究应探索:

  • 开发动态资源分配和负载平衡技术,用于异构边缘设备上的分布式LLM推理。
  • 研究优化策略,以减少协作边缘计算场景中的延迟并提高吞吐量,可能利用模型分片和流水线推理等技术。
  • 探索高效管理和更新不同边缘设备上多个LLM版本的方法,考虑网络限制和设备能力等因素。构建网络基础设施以提高模型和数据集的可重用性和可重复性。

7.8 持续学习和个性化

设备上LLM的部署为个性化AI体验提供了前所未有的机会。然而,它也在保持模型相关性以及随时间适应新信息和用户偏好方面带来了独特的挑战。未来研究应关注:

  • 实施可控的知识保留和遗忘,例如在模型遇到新数据流时有选择地保留或遗忘信息。这对管理错误信息和确保持续准确性至关重要。增强模型基于用户交互和本地数据自主学习新技能和改进现有能力的能力。开发有效的历史跟踪机制,以了解LLM通过各种学习阶段的演变。
  • 推进理论基础和实际优化,为理解和预测设备上持续学习LLM的行为开发稳健的理论基础。这还包括进行大规模用户研究以完善个性化框架,并确定跨不同用户群体和场景的有效服务交付,以及改进关键生成和检索过程,以更好地表示向量空间中的任务分布。
  • 开发高效的持续学习机制,包括复杂的数据混合策略和高效的重放样本选择。这包括探索可控的内存系统和设计自适应微调机制以实现持续模型适应。

这些研究方向的进展将推动设备端LLM的发展,有望在移动计算、物联网、汽车和医疗保健等领域带来重大变革。通过解决这些挑战,我们可以实现更智能、高效和以用户为中心的计算体验,为AI驱动应用开创新时代。

  1. 总结 ======

本综述全面阐述了设备上语言模型(LLMs)的最新进展,重点分析了模型压缩、高效架构设计和硬件-软件协同优化等领域的突破。这些进步推动了复杂语言模型在资源受限设备上的部署,为各行业提供了更好的数据保护、低延迟和普及先进AI能力的机会。

从云端到边缘的LLM部署转变标志着人机交互范式的革新,开辟了个性化、情境感知和即时AI体验的新途径,促进了各领域的智能化发展。然而,设备上LLM仍面临平衡性能与资源限制、确保模型鲁棒性及开发持续学习机制等挑战。此外,能源效率、可持续性和负责任的部署问题也日益突出。

实现设备上LLM的潜力需要多学科的协作,包括模型压缩、硬件加速和边缘-云协作策略的探索。随着技术进步,设备上LLM正处于突破边缘,通过解决当前挑战并把握机遇,有望实现AI能力的无缝融入,增强人类能力的同时尊重个性化。

总之,本综述深入分析了设备上LLM的现状,明确了未来研究方向,为相关人员提供了宝贵的资源。在这一快速发展的领域中,持续创新和跨界合作将是推动变革性技术发展的关键。

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论