【文献阅读】A Survey Of Resource-Efficient LLM And Multimodal Foundati ...

打印 上一主题 下一主题

主题 832|帖子 832|积分 2496

发表时间:二〇二四年九月二十三日 
择要

大型底子模子,包括大语言模子(LLMs)、视觉Transformer(ViTs)、扩散模子以及基于大语言模子的多模态模子,正在革新整个机器学习的生命周期,从练习到部署都受到影响。然而,这些模子在通用性和性能方面的明显提拔,是以大量的硬件资源为代价的。为了以一种可扩展且环境可持续的方式支持这些大型模子的发展,开辟资源高效的计谋成为了研究重点。本综述深入探讨了此类研究的关键重要性,从算法和系统两个方面进行研究。它综合分析了现有文献中的相关内容,并从中获取了有代价的看法,涵盖了从前沿模子架构、练习/服务算法到实际系统设计与实现等广泛主题。本综述的目标是全面阐述当前方法怎样应对大型底子模子带来的资源挑战,并为该范畴将来的突破提供潜在的启发。
 关键词
底子模子;大语言模子;视觉Transformer;扩散模子;多模态大语言模子;模子压缩;机器学习系统;服务系统;预练习;微调;边缘智能
 1 弁言

在快速发展的人工智能(AI)范畴,一场范式转变正在发生。我们见证着从专门的、碎片化的深度学习模子,向通用的、“一刀切”的底子模子的转变。这些先辈的人工智能系统可以或许在开放天下环境中运行,与开放词汇表和图像像素进行交互,以完成未见的人工智能任务,即具备零样本学习本领。它们的代表包括:(1)像GPT系列[41]这样的大语言模子,险些可以将每一个天然语言处置惩罚任务以提示的情势进行处置惩罚;(2)像掩码自编码器[141]这样的视觉Transformer模子,可以或许处置惩罚各种卑鄙视觉任务;(3)像稳定扩散模子[336]这样的潜在扩散模子,可根据任意基于文本的提示天生高质量图像;(4)像CLIP[321]和ImageBind[123]这样的多模态模子,将差别模态的数据映射到相同的潜在空间,广泛用作图像检索/搜索和视觉问答等跨模态任务的骨干网络。这种机动性和通用性,标志着与早期人工智能时代的重大区别,为人工智能与天下的交互设定了新的尺度。
这些底子模子的成功,深深植根于它们的可扩展性:与之前的模子差别,这些模子的正确性和泛化本领,可以或许随着更多的数据或参数不停提拔,而无需改变底层的简单算法和架构。一个令人印象深刻的证据是缩放定律[177]:它描述了基于Transformer的模子性能,怎样随着模子规模和数据量的增长而可推测地提高;直到今天,缩放定律仍旧成立。这种可扩展性不但体现在模子规模上,还延伸到它们处置惩罚日益复杂任务的本领上,使其成为迈向通用人工智能(AGI)征程中的基石。然而,可扩展性是以巨大的资源需求为代价的。底子模子本质上在练习和部署过程中都非常斲丧资源。这些资源不但包括像GPU和TPU这样的计算处置惩罚器,还包括内存、能源和网络带宽。例如,练习LLaMa-2 70B模子必要170万个GPU小时,斲丧 \(2.5×10^{12}\)焦耳的能量,估计总排放量为291吨二氧化碳当量。根据Meta AI的研究[416],除了练习之外,数据处置惩罚、实验和推理阶段斲丧的电量与之相称,甚至更多。最近的一项分析[81]表现,为了满足当前人工智能本领和应用的发展趋势,到2027年,英伟达每年必要交付150万台人工智能服务器。这些服务器在满载运行时,每年至少斲丧85.4太瓦时的电力 —— 这比许多国家(如新西兰和奥地利)一年的用电量还要多,如图1所示。由于底子模子在规模和复杂性上不停增长,它们的资源需求每每呈指数级上升,这对其开辟和部署构成了重大挑战。
图1:各国与AI的电力斲丧对比。数据来源:[81]
大型底子模子巨大的资源占用,也拦阻了其民主化进程。停止2023年底,只有少数重要到场者有本领练习和部署最先辈的底子模子,他们因此对公众拥有强大的控制权,并有可能以自己偏好的方式利用这些模子。与许多轻量级深度神经网络(DNN)差别,这些模子在云端提供服务,而不是在设备上运行[434, 476];这使得数据隐私保护险些变得不可能。尽管最近智能手机厂商一直在吹嘘在本地运行大型底子模子,而且为设备端大语言模子开辟了一些开创性的引擎[121, 11, 10],但展示的模子规模相对较小(例如,小于100亿参数)[266],而且尚未在实际中部署。
因此,大量研究致力于提高这些底子模子的效率。这些努力涵盖了广泛的方法,从优化算法到系统级创新,专注于在不影响性能的前提下淘汰这些模子的资源占用。本综述旨在深入研究这些研究工作,探索使底子模子更具资源效率的各种计谋。我们将研究算法效率的提拔、系统优化、数据管理技术,以及资源斲丧较低的新型架构的开辟。该综述还涵盖了从云端到边缘设备的应用场景,在这些场景中,大型底子模子也备受关注。通过这次探索,我们旨在全面了解底子模子范畴中资源高效算法和系统的现状及将来发展方向。
本综述的范围重要由以下几个方面界说。(i)我们仅综述算法和系统创新;我们排除了大量在硬件设计方面的工作,固然硬件设计同样重要,但已有很好的综述[192, 185]。(ii)本综述中资源的界说重要限于物理资源,包括计算、内存、存储、带宽等;我们排除了练习数据(标签)和隐私,尽管它们也可被视为资源。(iii)我们重要综述发表在顶级计算机科学会议上的论文,即CSRankings中收录的论文。我们还手动从arXiv上挑选了相关且可能具有高影响力的论文。(iv)我们重要综述2020年以后发表的论文,由于人工智能范畴创新敏捷,旧的知识和方法经常被颠覆。
 组织结构
图2展示了本综述的组织结构。

  • 底子模子概述(第 2 章)

    • 语言底子模子(2.1 节)
    • 视觉底子模子(2.2 节)
    • 多模态底子模子(2.3 节)

  • 高效架构(第 3 章)

    • 高效注意力机制(3.1 节)

      • 稀疏注意力
      • 近似注意力
      • 无注意力方法

    • 动态神经网络(3.2 节)

      • 专家混淆
      • 早退机制

    • 扩散模子特定优化(3.3 节)

      • 高效采样
      • 潜在空间扩散
      • 扩散架构变体

    • 视觉 Transformer(ViT)特定优化(3.4 节)

  • 高效算法(第 4 章)

    • 预练习算法(4.1 节)

      • 练习数据缩减
      • 神经架构搜索
      • 渐进学习
      • 混淆精度练习

    • 微调算法(4.2 节)

      • 加法微调
      • 选择性微调
      • 重参数化微调

    • 推理算法(4.3 节)

      • 机会解码
      • 输入过滤和压缩
      • 键值缓存
      • 长上下文优化

    • 模子压缩(4.4 节)

      • 剪枝
      • 知识蒸馏
      • 量化
      • 低秩分解


  • 高效系统(第 5 章)

    • 分布式练习(5.1 节)

      • 弹性
      • 并行性
      • 通讯
      • 存储
      • 异构 GPU
      • 专家混淆(MoE)

    • 联邦学习(5.2 节)

      • 框架和基准
      • 基于参数高效微调(PEFT)的方法
      • 模子分解
      • 无反向流传方法

    • 云端服务(5.3 节)

      • 推理加速
      • 内存节省
      • 新兴平台

    • 边缘服务(5.4 节)

      • 边缘 - 云协作
      • 仅边缘


 完全开源
本综述的所有质料均可在以下网址免费获取:https://github.com/UbiquitousLearning/Efficient_Foundation_Model_Survey
 2 底子模子概述

 2.1 语言底子模子

本节讨论基于文本和基于语音的语言模子,重点介绍它们的关键架构和具有里程碑意义的模子。
 2.1.1 模子架构

Transformer流水线。Vaswani等人[388]提出了基于注意力机制的Transformer架构,这是大多数大型底子模子发展的底子元素。如图3所示,该过程首先通过嵌入层将输入单词转换为高维向量。在处置惩罚过程中,注意力机制为这些输入向量的差别部分分配差别的权重。注意力计算之后,对输出应用层归一化,以确保激活值的稳定和尺度化。随后,每个位置向量通过前馈网络进行变换,引入非线性,使模子可以或许捕捉复杂的数据模式。通过包含这些组件的多个层,Transformer学习输入数据的条理表示。在末了阶段,末了一个Transformer层的输出被输入到线性层,终极得到推测结果。我们简要概述大型底子模子的关键组件如下:

图3:底子模子的进化轨迹
嵌入

最初,输入单词由分词器转换为一系列标志。常用的分词器,如wordpiece和字节对编码,在这个过程中经常被利用[380]。分词之后,通过学习得到的嵌入层将这些标志转换为向量序列。在这样的序列中,单词的序次对于语义至关重要。为了解决这个问题,位置编码被融入到嵌入向量中,为其注入位置信息。这种添加对于捕捉输入的序次性至关重要,确保模子可以或许正确解释单词序次和上下文。
注意力

注意力机制在捕捉序列中单词之间的关系方面起着至关重要的作用。注意力的计算可以表示为: \[A(Q, K, V)=\text{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V (1)\] 其中,\((Q)\)、\((K)\)和\((V)\)分别表示查询、键和值,它们分别通过将输入向量与差别的权重矩阵相乘得到,\((d_{k})\)表示这些向量的维度。自注意力是注意力的一种特殊情势,其中查询、键和值都来自同一输入序列,它使模子可以或许在每个位置关注输入的差别部分。相比之下,多头注意力是自注意力的一种变体,它允许在差别位置同时关注来自差别表示子空间的信息。其他变体,如稀疏注意力[36]和多查询注意力[346],是为了提高效率或适应各种卑鄙任务而设计的。这些变体将在§3.1、§4.3.3和§4.3.4中进一步详细介绍。
编码器 - 解码器架构

尺度的Transformer架构由两个重要组件构成:编码器和解码器。编码器通过自注意力机制处置惩罚输入序列,使模子可以或许根据输入序列差别部分的相对重要性为其分配差别的权重。这一特性对于识别输入数据中的复杂模式和依赖关系至关重要。相比之下,解码器负责天生输出序列。解码器利用自注意力机制来理解到现在为止天生的输出之间的关系。别的,解码器还结合了交织注意力机制,关注输入序列,为输出序列中的每个标志提取相关信息。这部分架构是自回归的,即逐个天生标志。每个标志的天生取决于之前天生的标志,这与编码器的并行处置惩罚方式差别。
自回归解码和键值缓存

在自回归解码中,解码器函数 \(F_{Decoder }\) 根据输入标志序列 \(X={x_{1}, x_{2}, ..., x_{i}}\) 推断出一个新的标志 \(x_{i+1}\) 。随后, \(x_{i+1}\) 被添加到 \(X\) 中,用于下一个推理步骤,这就是自回归解码的过程。键值(KV)缓存[76]通过在每个步骤存储注意力机制的中间状态来提高效率。这种方法避免了对先前步骤中已处置惩罚标志的重新计算。固然键值缓存淘汰了重新计算,但它会引入额外的存储或内存开销,这将在§2.1.3中详细介绍。
 2.1.2 代表性模子和卑鄙任务

仅编码器的底子模子

BERT[88]是一种仅编码器的Transformer模子,在预练习期间采用双向掩码语言建模方法。在这种方法中,句子中的随机单词被掩码,模子通过考虑上下文线索来学习推测这些被掩码的单词。对BERT进行微调以适应各种卑鄙任务,在鉴别任务(如情感分析和文天职类)中取得了最优性能。DistilBERT[340]是BERT的蒸馏版本,模子巨细比BERT小40%,速度快60%,但仍保存了BERT 97%的语言理解本领。RoBERTa[256]通过强大的优化技术提高了BERT的效率,包括延伸练习时间、增长批次巨细和利用更大的数据集。Sentence-BERT[332]对BERT进行了修改,以天生语义有意义的句子嵌入。它采用连体和三元组网络结构,这些嵌入可以利用余弦相似度直接进行比力。该模子已经发展成为广泛利用的句子 - 转换器工具,专门用于句子嵌入。
编码器 - 解码器底子模子

T5[325]采用编码器 - 解码器架构,是一种自监督模子,在C4数据集上进行预练习。该模子引入了一个统一的框架,将各种基于文本的语言问题转换为文本到文本的格式,使其适用于总结、问答等任务。BART[210]在预练习阶段充当去噪自编码器,通过任意噪声函数对文本引入干扰,重要目标是学习重修原始文本。
仅解码器的底子模子

GPT系列[323, 324, 41]采用仅解码器的架构进行无监督练习。GPT-1[323]是该系列的首个模子,具有1.17亿个参数,展示了在各种互联网文本上进行预练习的有用性。GPT - 2[324]是GPT - 1的扩展版本,在包含数百万网页的WebText数据集上进行无监督练习。GPT - 3[41]的模子规模大幅增长,到达1750亿参数,凸显了模子规模扩大的优势,它显现出杰出的零样本学习性能。指令调优[300]通过利用人类反馈进一步提拔了模子正确遵照指令的本领,推动了包括LLaMA[383]在内的多个开源底子模子的创建。GLM[95]通过添加2D位置编码并允许以任意序次推测跨度来改进填空式预练习,在天然语言理解任务上的性能优于BERT和T5。PaLM[70]利用Pathways在6144个TPU v4芯片上进行练习,以进一步探究模子规模对少样本学习的影响。别的,还有许多闭源的天生式大型底子模子,包括GPT - 4 、Claude2和PaLM 2 等。
|模子名称|架构|参数数量|练习方式|练习数据集|典型任务|
表1:具有里程碑意义的语言底子模子及其典型任务
语音底子模子。语音大型底子模子[322, 28, 148]旨在从原始音频信号中提取有意义的表示。Wav2vec 2.0[28]初次展示了从未标志数据中获取强大的语音表示,可以明显提高后续语音相关任务的性能。这些模子通常采用卷积神经网络来提取序列特征,并利用Transformer来捕捉上下文信息。这种方法对各种卑鄙任务有用,包括语音识别和口语理解。例如,HuBERT[148]利用基于Transformer的架构进行语音表示的自监督学习,在960小时的LibriSpeech音频数据集[305]上进行练习。Whisper[322]代表了一种最先辈的开源主动语音识别系统,在从网络获取的680,000小时多语言和多任务监督数据的巨大语料库上进行练习。
 2.1.3 成天职析

如图4所示,我们分析了大型底子模子重要组件的计算和存储成本 。嵌入组件在存储成本中占很大比例,约为总成本的25%。然而,在推理过程中,嵌入层就像一个查找表,计算成本极低。前馈网络(FFN)层是计算量最大的组件,重要是由于每个FFN块中存在两个全连接层。lm head表示模子的输出层,其情势因任务而异。对于像BERT这样的鉴别任务,它是一个带有softmax激活函数的分类层,而对于像GPT/T5这样的天生任务,它体现为一个线性层。该组件的巨细与词汇表巨细直接相关。

图4:差别语言底子模子的权重存储和FLOPs成本(输入序列长度为128)(floating - point operations,即浮点运算数 ,常被用来权衡模子的计算量)

图5:差别token长度下GPT - 2的推理FLOPs
差别token长度下的成天职析

大型底子模子中的注意力机制面临明显的计算瓶颈,重要是由于其与序列长度的二次复杂度。这种复杂度源于对输入序列中每个位置对计算注意力分数,这在处置惩罚长序列时带来挑战,并影响练习和推理效率。别的,除了注意力机制,FFN的计算复杂度随输入长度线性增长,但随模子维度呈二次增长。如图5所示,输入序列长度的增长会导致计算需求大幅上升,这归因于注意力机制的二次特性。从定量角度来看,注意力的计算复杂度为\(O(T^{2}D)\),而FFN的计算复杂度为\(O(TD^{2})\),其中\(T\)表示序列长度,\(D\)表示模子的隐蔽状态维度[244]。解码器的注意力机制与编码器类似,也随token长度呈二次缩放。这在自回归解码任务中尤为重要,由于每个token的天生依赖于前面的token,加剧了计算需求。在解码器中实现键值缓存可以通过跨差别位置重用键和值向量来大幅降低计算成本。然而,这是以增长内存需求为代价的[199]。假设\(B\)表示批次巨细,\(S\)表示序列长度,\(D\)表示隐蔽维度巨细,\(L\)表示Transformer解码器中的层数,以单精度格式存储键值缓存所需的内存可以计算为\((B\times S\times D\times L\times 2\times 4)\)字节。这个公式考虑了批次、序列和隐蔽层的维度,以及解码器中的层数,其中因子2表示缓存中的键和值,因子4表示单精度浮点表示的字节巨细。
语音特定考虑因素

在语音处置惩罚应用中,CNN编码器块在计算复杂度中起着重要作用。CNN块的初始层必要大量的计算本领,通常比单个Transformer层高出一个数量级。这种增长的需求归因于CNN块固有的卷积运算,其中必须为每个输入token执行大量计算。例如,尽管Transformer的参数数量是wav2vec 2.0模子[28]中CNN块的19倍,但wav2vec 2.0模子的计算负载仅比CNN块高1.8倍[117]。
 2.2 视觉底子模子

 2.2.1 模子架构

Transformer的发展推动了计算机视觉范畴底子模子的出现。视觉Transformer流水线。视觉Transformer(ViT)是最经典的基于Transformer的视觉模子。它受到像BERT这样的自监督预练习天然语言处置惩罚模子日益增长的趋势启发,BERT是仅编码器模子。对于输入图像,ViT首先通过卷积嵌入层将图像分割成固定巨细的补丁(即token)。例如,一个尺度尺寸的RGB图像输入(即3×224×224)将被分割成14×14个巨细为16×16像素的补丁。与后续计算密集型的Transformer编码器相比,这种嵌入开销险些可以忽略不计(例如,小于5%)。别的,为了进行分类,会向token序列中添加一个额外的可学习分类token([CLS])。之后,将位置嵌入添加到每个token中,然后将token输入到尺度的Transformer编码器中,图3和§2.1中对此进行了描述。根据详细的卑鄙任务,Transformer编码器天生的隐蔽状态终极会被输入到差别的头部,如分类、检测、分割等头部。
 2.2.2 代表性模子和卑鄙任务

仅编码器模子

大多数视觉底子模子采用仅编码器架构。ViT[92]是第一项成功在ImageNet上练习Transformer编码器的工作,在参数数量上与BERT相称。它在大规模ImageNet - 21k数据集上进行监督式和自监督式预练习。尽管它展示出具有竞争力的正确性和可扩展性,但与传统的卷积神经网络(CNNs)相比,其对练习数据的需求仍旧是一个障碍。为此,DeiT[382]的提生产生了很大影响。DeiT采用蒸馏增强的预练习方法,提高了ViT练习的数据效率。
另一个研究方向是推动自监督ViT预练习的边界。BEiT[33]将预练习目标转变为基于粉碎的图像补丁恢复原始视觉token。作者称BEiT是“计算机视觉范畴的BERT时刻”。MAE[141]在编码器练习中引入了一个轻量级解码器,用于重修被掩码的补丁。MAE可以有用地掩码掉大部分补丁(甚至高达80%)。因此,编码器的练习可以非常高效,为大型预练习视觉模子的发展铺平了蹊径。
YOLOS[102]是一个基于ViT构建的目标检测模子(但是是小模子?)。它展示了在中等规模的ImageNet - 1k上预练习的普通ViT,在更具挑战性的COCO目标检测基准测试中的可迁徙性。ViTDet[228]使一个普通的、非分层的ViT可以或许作为目标检测的骨干网络。ViTDet允许对原始ViT架构进行微调以用于目标检测,而无需为MAE风格的预练习重新设计分层骨干网络。Swin Transformer[260]是优化注意力机制的代表性工作。该模子是一个分层ViT,其表示是通过移位窗口计算得到的。DINOv2[297]对一个具有10亿参数的ViT模子进行练习,然后将其蒸馏成一组较小的模子,这些小模子在大多数图像和像素级别的基准测试中,性能优于领先的通用特征,如OpenCLIP
编码器 - 解码器模子

DETR[49]是早期利用Transformer构建端到端检测管道的尝试。DETR的架构是级联的:它由一个CNN骨干网络和一个编码器 - 解码器Transformer构成。DETR通过监督练习支持目标检测、实例分割和全景分割。DETR的参数数量与Faster - RCNN[334]相称,约为4000万。SegFormer[427]是一个语义分割模子,它将Transformer与轻量级多层感知器(MLP)解码器相结合。LVM[30]通过图像序列建模,采用纯粹的视觉方法实现了对视觉信息的有用学习,无需任何语言数据.
 2.2.3 成天职析

由于ViT的架构与BERT对齐,其资源斲丧也相似。然而,与像BERT这样的语言模子差别,视觉模子通常具有固定长度的输入。对于尺度图像输入,如14×14或16×16的补丁,计算瓶颈在于FFN中的全连接层和注意力层。更多细节请参考§2.1。
 2.3 多模态底子模子

多模态现在是底子模子研究中的一个热门研究方向。一个大型底子模子通常在跨模态理解、转换和天生方面体现出强大的本领。一般来说,多模态底子模子的研究有两条主线:一是将差别模态的数据编码到相同的潜在空间,大多采用Transformer编码器;二是天生差别模态的数据,通常利用Transformer解码器。详细而言,多模态天生重要围绕基于文本的图像天生睁开,这是一个具有挑战性且实际的机器学习任务,近年来取得了明显进展。这两条研究主线存在融合,例如多模态到多模态(甚至任意到任意)的天生。
 2.3.1 关键架构

为了摄取和对齐多模态输入数据,现有模子架构通常由多个编码器构成,每个模态都有自己的一组Transformer编码器。值得注意的是,这些编码器通常是重新开始练习的,利用具有对齐模态和当前模态的配对数据。在接收到来自差别模态的输入后,它们首先将这些数据编码为归一化的、固定维度的嵌入。通过将这些嵌入映射到高维空间并设计损失函数,研究职员旨在最小化差别模态在联合语义空间中的距离。这种方法对齐了差别模态,并增强了它们表示的一致性。
在多模态数据对齐后,现有研究要么(i)重用在纯文本语料库上练习的大语言模子来天生文本;(ii)要么利用扩散模子来天生高质量的图像像素。在第一种环境下,大语言模子模块被设计为基于与文本模态对齐的输入数据进行理解、推理和天生输出。该模块通常采用仅解码器架构。由于在浩繁大规模语料库数据集上进行了广泛的预练习,大语言模子被赋予了丰富的语义知识。这使得它们可以或许有用地理解嵌入在文本模态中的数据,并在执行特定任务时以自回归方式天生基于文本的输出。在第二种环境下,扩散模块旨在通过消除输入图像中存在的冗余噪声来天生高质量图像。在练习阶段,模子向图像中引入噪声,将其转换为随机状态。相反,在推理阶段,这个过程被反转,逐渐去除噪声。这种去噪过程对于提高图像清晰度至关重要,可以或许天生具有高分辨率和细节清晰度的图像。稳定扩散模子在这项技术上取得了明显进展,展示了在天生符合特定文本和图像描述的高质量图像方面的独特本领。除了多模态嵌入输入外,扩散模块重要由两个组件构成:图像编码器/解码器和去噪网络。
图像编码器/解码器

扩散模子是文本到图像天生的最先辈方法。编码器将输入图像压缩为低维潜在表示。这种压缩对于降低计算负载和提高模子效率至关重要。解码器则相反,它将潜在表示重构回高分辨率图像。这个过程对于模子天生详细视觉内容的本领至关重要。变分自编码器(VAE)[189]是一种天生模子,用于学习图像的潜在空间。VAE由编码器和解码器构成:编码器负责将图像映射到潜在空间,而解码器负责将潜在空间映射回图像空间。编码器和解码器网络通常由卷积神经层构建。VAE通过最小化重修损失和KL散度损失进行练习。重修损失确保解码器天生的图像与原始图像相似,而KL散度损失确保潜在空间与尺度正态分布相似。VAE被用于扩散模子中学习图像的潜在空间。另一种常用于扩散任务的VAE模子变体是VQ - VAE [387],它通过向量量化层学习图像的潜在空间。向量量化层应用向量量化技术,将图像的每个像素量化为最靠近的码本向量。通过这种方式,VQ - VAE模子可以更高效地对图像进行编码和解码。
去噪网络

去噪网络通过推测噪声分布并利用采样算法(如DDPM [144]和DDIM [356])逐步去除编码图像中的噪声。最初,在练习阶段,模子向图像中添加噪声,逐渐将它们推向纯随机状态。然后,去噪网络在推理阶段学习反向这个噪声添加过程,一步一步地进行。这种渐进式去噪对于提高终极图像输出的清晰度和质量至关重要。U - Net [337]通常被用作扩散模子中的噪声推测网络,它是一个卷积神经网络模子,由收缩路径和扩展路径构成。收缩路径负责通过将图像映射到高维空间来捕捉图像中的上下文信息,而扩展路径通过上采样促进准确的定位。为了保存收缩路径上的信息,扩展路径通过跳跃连接与收缩路径相连。U - Net模子是图像分割任务的常用选择,也被用于扩散模子中推测图像中的噪声。
融合解码器(FD)

别的,FD模块旨在基于图像本身和相关图像提示增强对图像的理解,并根据任务要求天生输出。该模块通常涉及设计一个融合解码器,并在图像和文本数据集上进行预练习,使其可以或许联合处置惩罚图像和文本表示。该模块通常包括设计一个融合解码器,并在图像和文本数据集上进行预练习,使其可以或许共同处置惩罚图像和文本表示。
|年份|模子名称|模子架构|面向任务|参数数量|预练习方法|预练习数据集|测试数据集|

表3:具有里程碑意义的多模态底子模子及其典型任务
 2.3.2 代表性模子和卑鄙任务

多编码器底子模子:CLIP [321]、ALBEF [216]和ALIGN [164]是最早提出跨模态对齐的一些工作,旨在通过建立图像和文本之间的接洽,从文本中学习更丰富的图像表示。固然这些模子最初展示了多模态的潜力,但它们的性能受到图像和文本编码器的本领以及图像 - 文本对数据的数量和质量的限制。随后的工作,如ImageBind [123]和LanguageBind [492]进一步扩展了模态对齐。这些模子采用各种中间模态作为对齐模态,有用地将来自差别来源的表示映射到中间模态的特征空间中,从而便于在联合向量空间中进行跨模态转换。然而,在将多模态表示与中间模态对齐时出现了重大挑战,这重要归因于编码器本领的限制。这些限制反过来又影响了模子的整体性能。
编码器 - 解码器底子模子利用嵌入模块进行模态转换,使转换后的模态与天生器兼容。
(1)编码器 - 大型底子模子:PandaGPT [361]利用多个单模态编码器将输入对齐到中间模态。PandaGPT将中间模态输入到大型底子模子中进行天生,然后由目标模态的解码器进一步转换。别的,BLIP - 2 [215]和MiniGPT - 4 [494]专注于文本和图像的跨模态天生,通过设计图像模态编码器并利用Q - Former将这些图像模态与文本模态融合,然后输入到多模态大型底子模子中进行跨模态天生。同时,mPLUG [453]和LLaVA [248]专注于提高模态转换的本领,以增强天生结果的可用性和可靠性。MobileVLM V2 [71]是为资源受限设备设计高效视觉语言模子,它利用基于CLIP的编码器和基于MobileLLaMA的解码器,在保持快速推理速度的同时实现杰出的性能。别的,Flamingo [19]和LLaMA - Adapter [478]探索了怎样以更低的成本调整多模态大型底子模子,从而天生更高质量的多模态输出。PaLM - E [93]和HuggingGPT [349]专注于具身智能,通过利用大型底子模子作为核心组件,将具身数据纳入多模态输入中。这些模子进一步设计智能体来分解任务,并利用天生本领完成复杂任务。
(2)编码器 - 扩散底子模子:稳定扩散 [336]可以或许通过学习的过程逐渐消除图像中的噪声,天生高质量的图像,从而产生清晰和详细的视觉输出。该模子应用于各种卑鄙任务,如从文本描述天生详细图像(文本到图像天生)、恢复或完成图像的部分内容(图像修复)、修改现有图像的特定方面(图像编辑)以及提高图像的分辨率(图像超分辨率)。稳定扩散在这些范畴的适应性使其成为图像处置惩罚和天生范畴的宝贵工具。一致性模子 [358]的开辟是为了提高扩散模子在天生高质量图像、音频和视频方面的效率。这些模子有助于快速的单步天生,降服了传统扩散模子采样速度慢的问题。它们展示了执行零样本数据编辑任务的本领,如图像修复、着色和超分辨率,而无需针对这些任务进行特定的练习。DALL - E [327]重要用于图像天生,展示了根据文本描述创建多样和复杂图像的本领。该模子集成了天然语言理解和计算机视觉的元素,使其可以或许天生忠实代表广泛文本提示的图像,从简单描述到复杂场景。
除了稳定扩散,还有对“任意到任意”天生模子的明显关注,这些模子旨在将各种类型的输入转换为广泛的输出。CoDi [372]被设计为从差别的输入组合中天生各种输出模态,如语言、图像、视频或音频。它的独特之处在于可以或许同时天生多种模态,而不受特定输入类型的限制。CoDi在输入和输出空间中对齐模态,从而便于天生练习数据中不存在的组合。NExT - GPT [419]展示了感知输入并在各种模态(包括文本、图像、视频和音频)中天生输出的本领。NExT - GPT将大型底子模子与多模态适配器和扩散模子集成。该系统通过最小的参数变革进行微调,便于经济高效的练习和简单的模态扩展。通过采用模态切换指令调整并利用专门策划的数据集,NExT - GPT增强了跨模态内容天生和理解,目标是对通用模态进行建模。同样,M4 [462]引入了一种可扩展的移动人工智能底子模子,通过采用多模态嵌入和基于Transformer的骨干网络,统一了各种人工智能任务,用于理解和推理文本、图像、音频和运动数据等输入,提高了移动人工智能的效率和可扩展性。
(3)编码器 - FD底子模子:UNITER [64]是最早提出在多模态设置中通用融合图像和文本的工作之一。它旨在通过Transformer组合图像和文本特征以获得联合特征。在此底子上,随后的工作,如FLAVA [354]、CoCa [459]和GLIP [219]更深入地研究了怎样利用解码器更好地融合和对齐图像和文本表示,从而增强多模态推理。
别的,SAM [190]和SAM 2 [331]更进一步,利用解码器融合与图像对应的提示嵌入,实现了仅基于文本提示的图像/视频零样本主动分割
 2.3.3 成天职析

多编码器模块:多编码器模块是为模态对齐而设计的专用编码器模块。该模块适应各种模态输入,利用差别的编码器架构有用地将这些输入对齐到统一的语义空间。详细而言,重要的编码器模块包括图像编码器、文本编码器、音频编码器和IMU编码器。如图6(a)所示,编码器模块平均有0.27B个参数,平均占用1.1G内存,处置惩罚一个样本的总GFLOPs为65.9。值得注意的是,图像编码器是最斲丧资源的组件,有0.63B个参数,占用2.4G内存,处置惩罚单个样本时执行167.59 GFLOPs
解码器模块:在多模态模子中,除了多编码器模块外,还有一个由大型底子模子、扩散模块和FD模块构成的解码器模块。
(1)大型底子模子模块:该模块接收来自差别模态对齐的输入,实现自回归天生。该模块的成本重要取决于大型底子模子参数的巨细。如图6(b)所示,以集成的Vicuna - 7B为例,该模子由70亿个参数构成,占用14G内存,处置惩罚一个样本的总GFLOPs为312,大大超过了编码器模块的资源需求。

图6  The cost of different modules in multimodal FMs.
(2)扩散模块:该模块接收可选的条件输入并天生高质量图像。由于扩散模子中这些模块的巨细各不相同,我们以Stable Diffusion 2.1为代表进行讨论。Stable Diffusion 2.1采用U - Net进行去噪、VAE进行图像编码和解码,并利用CLIP模子作为文本编码器。图7(a)和(e)展示了Stable Diffusion 2.1模子中的FLOPs(floating - point operations,即浮点运算数 ,常被用来权衡模子的计算量)和参数数量百分比。我们以由10个token构成的文本提示为例进行说明。图7(b)和(f)展示了VAE模子中的FLOPs和参数数量百分比。图7(c)和(g)展示了U - Net模子中的FLOPs和参数数量百分比。
图7(d)和(h)展示了CLIP模子中的FLOPs和参数数量百分比。Stable Diffusion 2.1的U - Net以形状为4×96×96的图像潜在表示作为输入,并推测潜在空间中的噪声。该模子在LAION - 5B数据集[344]上进行练习。U - Net有8.65亿个参数,处置惩罚一个样本的总FLOPs为759G。Stable Diffusion 2.1集成的VAE将图像编码到潜在空间并进行解码。VAE以分辨率为3×768×768的图像作为输入,并将其编码为4×96×96。VAE与U - Net在相同的数据集上共同练习。VAE有830万个参数,处置惩罚一个样本的总FLOPs为4T。Stable Diffusion 2.1利用CLIP [321]模子进行文本编码。CLIP在各种(图像,文本)对数据集上进行练习,如LAION数据集和DataComp数据集[114]。CLIP以句子作为输入,并将每个token编码为巨细为1024的隐蔽向量。该模子有2.89亿个参数,处置惩罚单个token的总FLOPs为2.89亿。
(3)FD模块:由于FD和ViT的结构相似,它们的资源斲丧和计算瓶颈也相似。更多详细信息,请参考§2.2。


图7 Parameters and FLOPs of different modules in Stable Diffusion 2.1
 3 资源高效架构

模子架构是实现资源高效的大型底子模子的核心,包括注意力机制、解码器及其替换方案。其重要目标是降低计算和内存开销。图8根据大型底子模子的尺度核心模块和传统分类方法,直观展示了资源高效架构的分类。资源高效架构包括高效注意力机制、动态神经网络、扩散特定优化和ViT特定优化。

图8:资源高效架构概述
 3.1 高效注意力

注意力架构与序列长度相关的二次时间复杂度,在练习和推理过程中带来了重大挑战。以往的研究[107, 244, 185, 90, 390]探索了将这种复杂度降低到线性的方法,或寻找可行的替换方案。图9直观总结了实现高效注意力的多种方法。

图9:高效注意力架构示意图
 3.1.1 稀疏注意力

受稀疏化的启发,稀疏注意力[36, 18, 464, 153, 96, 206, 217]旨在构建一个稀疏注意力矩阵。这种方法旨在保存完全二次自注意力方案的经验优势,同时淘汰内积的数量。例如,Longformer [107]、ETC [244]和BIGBIRD [464]将传统注意力分解为局部窗口注意力和特定任务的全局注意力,有用地将自注意力复杂度降低到线性。
HEPOS [153]引入了按头的位置步长。这一创新使得每个注意力头可以或许专注于输入序列的特定子集,便于编码器 - 解码器的处置惩罚。MATE [96]将注意力转换为多视图格式,有用地处置惩罚表格中的行或列。TDANet [217]模仿人类大脑的自上而下的注意力机制,有选择地关注最相关的信息,从而提高语音分离效率。ALBERT [202]通过跨层共享参数,与传统的BERT相比,在包管正确率的同时,参数数量淘汰了89%。
 3.1.2 近似注意力

许多研究[191, 179, 397, 69, 271, 272, 174, 55, 423]探索的近似注意力,涉及对自注意力矩阵的低秩近似和对自注意力机制的创新重构。这些方法避免直接计算N×N矩阵,旨在降低计算复杂度,提高效率,特殊是在长序列场景中。Linformer [397]证实了将注意力矩阵有用分解为低秩矩阵的方法。该技术涉及将键和值的长度维度投影到较低维空间,从而明显降低内存复杂度。Reformer [191]利用局部敏感哈希来代替传统的点积注意力
Katharopoulos等人[179]引入了一种基于核的自注意力方法,利用矩阵乘法的结合性来计算自注意力权重。Polysketchforme [174]采用多项式函数和草图技术来近似softmax注意力输出,为注意力机制的近似提供了新的视角。Mega [272]具有单头门控注意力机制,并结合了指数移动平均。这一添加有用地将与位置感知局部依赖相关的归纳偏差,融入到本来位置无关的注意力机制中。
可变形注意力[423]提出了一种数据感知的、可变形的注意力机制,在ViT架构中有助于提高性能。与传统的密集注意力方法相比,这种方法尤其有益。CrossViT [55]引入了线性交织注意力,使ViT架构可以或许有用地处置惩罚可变巨细的输入token,同时降低计算成本。
 3.1.3 无注意力方法

尽管基于注意力的Transformer架构在大型底子模子中占据主导地位,但一些研究[467, 161, 313, 43, 42, 128, 77, 298, 309, 366]提出了创新架构,有望取代传统的Transformer模子。例如,Hyena [313]引入了一种架构,将隐式参数化的长卷积与数据控制的门控交错排列。这种设计为大规模语言模子中的注意力提供了一种次二次的替换方案,从而提高了处置惩罚长序列的效率。另一个值得注意的趋势是用状态空间模子(SSMs)替换注意力机制,如[128, 77, 298]中所探索的。
Mamba [127]将选择性的SSMs无缝集成到一个简化的神经网络架构中,消除了注意力和MLP块。该模子比传统Transformer实现了明显的5倍速度提拔,而且与序列长度呈线性缩放。Gu等人[119]还对SSM文献进行了全面的重组,使其更具信息性和连贯性。
循环风格的Transformer(RMT)[43, 42]采用基于循环神经网络的架构,用RNN替换注意力以实现线性复杂度。RWKV [309]将Transformer的高效可并行练习与RNN的有用推理本领相结合。RetNet [366]引入了一种架构,用多尺度保存机制替换多头注意力。该架构捕捉并保存先前序列步骤的信息,通过差别头利用差别的gamma值来调治保存强度。RetNet不但在推理时无论序列长度怎样都保持恒定的成本,而且在效率上优于带有键值缓存的Transformer模子。别的,在练习过程中,RetNet与尺度Transformer相比,展示出25 - 50%的内存节省和7倍的加速。
 3.2 动态神经网络

 3.2.1 专家混淆


 Figure 10: Traditional and typical dynamic transformers.图10:传统和典型的动态Transformer
三种差别类型的Transformer架构,分别是传统Transformer、典型的专家混淆(MoE)版本Transformer和典型的早退(Early-Exiting)Transformer:
传统Transformer(图a):输入数据(input)进入模子后,首先颠末自注意力机制(Self-Attention)模块处置惩罚,接着依次通过“Add + Normalize”(残差连接和归一化)模块和密集前馈网络(Dense FFN)模块,云云重复N个模块块(xN blocks)后,终极输出(output)结果。这是经典的Transformer结构,常用于天然语言处置惩罚等多种任务。
 典型的MoE版本Transformer(图b):其整体结构与传统Transformer类似,但在密集前馈网络(Dense FFN)部分有所差别。这里的Dense FFN被替换为一个专家混淆的结构。详细来说,有一个路由器(Router)根据输入数据,从多个专家(Expert,图中表现为多个FFN,即前馈网络)中选择合适的专家进行处置惩罚,之后再颠末后续的“Add + Normalize”模块,重复N个模块块后输出结果。这种结构可以根据差别的输入动态地选择专家,提高模子的机动性和效率。
典型的早退Transformer(图c):在传统Transformer结构的底子上,添加了早退分支(Early Exit Branching)。输入数据颠末自注意力机制、“Add + Normalize”模块和密集前馈网络模块,每颠末一组模块块,就有一个早退分支。这意味着模子在处置惩罚过程中可以根据肯定条件提前输出结果,而不必要完备地颠末所有模块块,有助于在包管肯定正确率的环境下,淘汰计算量和推理时间。
专家混淆(MoE),如图10(b)所示,是一种高效且稀疏的方法,用于练习和部署具有大量参数集的大型底子模子。该模子在推理时利用路由稀疏参数。Switch Transformer [104]引入了一种开关路由算法,使模子效率得到提高,计算和通讯成本降低。Switch Transformer通过管理多达一万亿个参数(甚至有2048个专家),展示了MoE框架的可扩展性和有用性。GLaM [94]是一个仅解码器的语言模子家属,利用稀疏激活的MoE设计。这种创新方法在大幅降低练习成本的同时,与密集模子相比增长了模子容量。V - MoE [335]提出了ViT的稀疏适应版本,扩展到150亿个参数,在性能上与密集模子相匹配,同时所需的练习时间更少。LIMoE [286]是第一个集成稀疏MoE的多模态模子,在各种任务中明显优于CLIP。Mistral AI推出了Mistral ,这是一个由8个专家构成的MoE模子,每个专家有70亿个参数。该模子的性能优于LLaMA2 - 70B模子[383]。MoEfication [481]将模子转换为具有等效参数的MoE变体。这种技术有条件地利用前馈网络参数的一部分,保持与原始密集模子相称的性能水平。稀疏上采样[193]从密集检查点初始化稀疏激活的MoE。
稀疏上采样使T5 Base、Large、XL和Vision Transformer Base和Large等模子,在SuperGLUE和ImageNet等基准测试中,明显优于它们的密集对应模子,同时仅利用约50%的原始密集预练习成本。FFF [35]将前馈层分别为单独的叶子节点,而不是将整个前馈层复制为一个专家。FFF是前馈网络的对数时间替换方案,比原始前馈层快220倍,比MoE快64倍,精度损失约5%。§5.1将详细介绍应用于MoE模子的系统优化。
 3.2.2 早期退出

如图10(c)所示,早期退出优化是一种计谋,当模子对推测有高置信度或遇到资源束缚时,允许模子提前终止计算过程。He等人[138]研究了对尺度Transformer块的修改,旨在在不牺牲性能的环境下获得更简单但高效的架构。该模子涉及去除诸如残差连接、层归一化以及投影和值中的特定参数,同时序列化MLP子块。M4 [461]引入了一个多路径任务执行框架,实现了对底子模子块的弹性微调,以适应差别的练习和推理任务。FREE [27]提出了一个浅 - 深模块,将当前token的解码与先前处置惩罚的早期退出token同步。FREE利用自适应阈值估计器来确定合适的早期退出置信度水平。
SkipDecode [83]专为批量推理和键值缓存而设计,通过为批处置惩罚中的每个token在每个序列位置建立唯一的退出点,降服了先前的限制。PABEE [491]通过在每一层集成内部分类器,提高了预练习语言模子的效率。当推测在肯定步数内稳定时,推理过程停止,有助于在淘汰层利用的环境下更快地进行推测。DeeBERT [428]通过引入早期退出点提高了BERT的推理效率。DeeBERT允许实例根据置信度水平在中间层终止,有用地降低了计算需求并加速了推理。Bakhtiarnia等人[31]提出了7种差别的早期退出分支架构设计,适用于ViT骨干网络的动态推理。LGViT [431]提出了一个针对通用ViT的早期退出框架,具有多种退出头,如局部感知和全局聚合头,以均衡效率和正确性。这种方法实现了具有竞争力的性能,速度提高了约1.8倍。
 3.3 扩散特定优化

通过扩散模子天生图像通常涉及具有多个去噪步骤的迭代过程。最近的研究集中在加速去噪过程并淘汰图像天生过程中的资源需求,重要分为三类:(1)高效采样;(2)潜在空间扩散;(3)扩散架构变体。
 3.3.1 高效采样

为了在保持或提高样本质量的同时增强扩散模子的去噪过程,许多研究[290, 269, 356, 475, 252, 178, 265, 339, 474, 359, 406, 16, 471]致力于改进采样过程。这些研究在架构中夸大资源和时间效率。Nichol等人[290]在提高传统DDPM的资源效率方面取得了进展。他们改进的模子不但在对数似然方面具有竞争力,而且提高了样本质量。这种效率是通过学习反向扩散过程的方差并采用混淆练习目标实现的。这种方法导致了更高效的采样,必要更少的前向转达,并在模子容量和计算本领方面展示出更好的可扩展性。DDIM [356]代表了扩散模子在延长效率方面的重大改进。通过引入一种非马尔可夫、确定性的采样方法,DDIM加速了天生过程,允许在不牺牲样本质量的环境下更快地采样。这种DDPM [144]的常微分方程(ODE)变体在天生过程中有用地在差别噪声水平之间导航,使其成为比传统DDPM更具延长效率的选择。PNDM [252]提高了DDPM天生高质量样本的效率。该方法将扩散过程视为在流形上求解微分方程,极大地加速了推理过程。这种注重延长效率的方法,在必要高速采样的场景中,优于现有的加速技术(如DDIMs),同时保持样本保真度。DPM - Solver [265]专注于提高扩散模子的采样效率。该方法利用高阶求解器,利用扩散ODE的半线性结构,实现快速且高质量的样本天生。值得注意的是,DPM - Solver仅用10 - 20个去噪步骤就实现了这一点,突出了样本天生中的延长效率。ReDi [471]通过检索和重用预计算的扩散轨迹来加速采样。Nirvana [16]引入了一种近似缓存技术,通过重用中间噪声状态,降低文本到图像扩散模子的计算成本和延长。这在不影响图像质量的环境下,实现了明显的GPU和时间节省。
 3.3.2 潜在空间扩散

在传统扩散模子中,操纵通常在图像的像素空间内进行。然而,对于高分辨率图像,这种方法由于计算需求大且内存要求高而效率低下。为应对这些挑战,研究职员提出通过变分自编码器(VAEs)[336, 196, 404, 312, 343, 369, 34, 273]将扩散过程转移到潜在空间进行。这种范式在内存效率方面取得了明显进展,使得在淘汰计算资源的环境下可以或许天生高分辨率图像。LDM(Latent Diffusion Model,潜在扩散模子)[336],也就是稳定扩散模子,是内存高效图像天生的一个明显例子。通过在由像素数据经VAE得到的潜在空间中执行扩散过程,LDM有用地解决了早期扩散模子中存在的可扩展性问题。这种方法可以或许高效地合成高分辨率图像,而且通过融入与文本编码器输入交互的交织注意力层,有助于创建详细的、由文本引导的视觉结果。LD - ZNet [312]利用LDM的内存高效特性进行图像分割任务。通过在LDM的潜在空间中练习分割模子,LD - ZNet明显提高了分割精度,特殊是对于人工智能天生的图像。这种方法利用了LDM内部特征中固有的深度语义理解,在真实图像和人工智能天生的图像之间提供了一个细致的桥梁。SALAD [196]引入了一种用于3D形状天生和操纵的内存高效方法。它采用基于部分级隐式表示的级联扩散模子,在高维空间中通过两阶段扩散过程进行操纵。这种内存高效的设计有助于在无需额外条件练习的环境下,有用地天生和进行3D形状的部分级编辑。Takagi等人[369]提出了一种利用LDM从功能性磁共振成像(fMRI)脑运动重修高分辨率图像的新方法。该方法利用简单的线性映射将fMRI数据投影到LDM的潜在空间中。这种方法不但实现了从脑运动的高保真图像重修,还从神经科学的角度对LDM的内部机制有了更深入的理解。这些工作都突出了在扩散模子中利用潜在空间的优势,特殊是在内存效率方面,与传统的像素空间方法形成了鲜明对比。
 3.3.3 扩散架构变体

另一种增强扩散模子的方法是采用更高效的模子架构[231, 106, 32, 143, 267]。这种计谋侧重于改进扩散模子的结构框架,以优化其性能。通过实施先辈的架构设计,这些模子可以实现更有用的处置惩罚本领,同时有可能降低计算复杂度和资源斲丧。SnapFusion [231]为移动设备引入了一种优化的文本到图像扩散模子,具有资源高效的网络架构。该模子通过重新设计的网络架构和改进的步骤蒸馏,降服了现有模子的计算和延长限制。通过在不到2秒的时间内天生高质量的512×512图像,SnapFusion在FID(Frechet Inception Distance)和CLIP分数上超过了稳定扩散模子。值得注意的是,这一成果是在更少的去噪步骤下实现的。ScaleCrafter [143]通过创新且资源高效的网络设计,解决了利用预练习扩散模子天生超高分辨率图像的问题。ScaleCrafter结合了“重新扩张”、“分散卷积”和“噪声阻尼无分类器引导”等技术,在推理过程中动态调整卷积感知场。该模子可以或许在无需额外练习或优化的环境下天生超高分辨率图像。ERNIE - ViLG [106]引入了一种新颖的文本到图像扩散模子,将细粒度的文本和视觉知识集成到一个高效的网络架构中。通过混淆去噪专家机制并扩展到240亿参数,ERNIE - ViLG在MS - COCO上以杰出的零样本FID - 30k分数6.75超越了现有模子。该模子明显提高了图像保真度和文本相关性,奇妙地解决了复杂文本提示中的属性混淆问题。这些贡献都突出了资源高效网络架构在推进扩散模子、扩展其本领以及拓宽其在差别场景中的适用性方面的重要性。
 3.4 ViT特定优化

作为Transformer的一种变体,ViT受益于上述的通用优化方法;然而,也存在针对ViT的特定架构优化。LeViT [126]是一种混淆神经网络,专为推理时的高效图像分类而设计。LeViT利用更多的卷积层进行嵌入,增强了其处置惩罚像素信息的本领。其重要骨干网络采用金字塔架构,在逐步降低特征维度的同时增长注意力头的数量。值得注意的是,该模子引入了一种可学习的、每个头的平移稳定注意力偏差,取代了ViT中的位置嵌入。LeViT在ImageNet上实现了令人印象深刻的80%的top - 1正确率,而且在CPU上执行时,与EfficientNet相比,速度提高了5倍[370]。PoolFormer [460]通过夸大ViT的成功源于其整体架构设计(称为MetaFormer),提供了有代价的看法。PoolFormer采用了卷积神经网络(CNNs)中常见的简单池化层,并在ImageNet - 1K数据集上实现了82.1%的top - 1正确率。
MobileViT [277]遵照利用CNNs构建更轻量级Transformer架构的理念。通过设计类似卷积的MobileViT块,该模子实现了轻量级和低延长的实现,特殊适合实际的硬件平台。MobileViT的优化不但考虑了FLOPs(浮点运算次数),还包括对内存访问、并行性和平台特定特性的考量。MobileViT在ImageNet - 1k数据集上以约600万个参数到达了78.4%的top - 1正确率。EfficientFormer [232]设计了一种轻量级的CNN - Transformer混淆架构,实现了更高效的设备端推理。其中最快的模子EfficientFormer - L1在ImageNet - 1K上到达了79.2%的top - 1正确率,在iPhone 12(利用CoreML编译)上的推理延长仅为1.6毫秒。这一性能与MobileNetV2×1.4相称(1.6毫秒,74.7%的top - 1正确率)。EfficientViT [45]引入了一种线性注意力机制,以减轻与非线性注意力中softmax高开销相关的计算成本。在超分辨率范畴,EfficientViT与Restormer [465]相比,速度提拔高达6.4倍。

图11:资源高效的ViT变体总结

 4 资源高效算法



本节重点关注算法层面的资源高效大型底子模子技术。与传统的深度神经网络(DNNs)相比,大型底子模子具有参数规模巨大和自回归推理等新特点。这种差异导致了浩繁资源高效算法的出现,根据底子模子的生命周期,这些算法可分为预练习、微调、服务算法和模子压缩。

图12:资源高效算法概述
 4.1 预练习算法

大型底子模子的预练习依赖大量的计算资源。例如,GPT - 3 - 175B [41]斲丧\(3.14\times10^{23}\)次浮点运算,LLaMa - 70B [383]必要\(1.7\times10^{6}\)个GPU小时。因此,优化计算资源的利用对于底子模子的高效预练习至关重要。资源高效的算法可分为练习数据缩减、神经架构搜索、渐进式学习和混淆精度练习。
 4.1.1 练习数据缩减

大型底子模子的预练习必要数万亿规模的数据集,例如GPT - 3 - 175B必要3000亿个token [41],LLaMa - 2 - 70B必要2万亿个token [383]。更多的数据意味着更多的资源斲丧。因此,先前的文献通过两个方面来降低在大量练习数据上的资源成本:文本数据集去重和图像补丁去除。
文本数据集去重[205]表明,练习数据中存在由于近重复示例和长重复子串导致的冗余。淘汰重复可以在不影响性能的环境下淘汰练习步骤。图像补丁去除是通过淘汰输入到模子的补丁数量,或基于修改后的模子架构重新组织图像token来实现的。例如,TRIPS [167]采用补丁选择层来淘汰图像补丁。该层通过文本引导计算注意力图像token,与之前的预练习视觉语言模子相比,计算资源淘汰了40%。掩码自编码器(MAE)[141]作为ViT的一种预练习方法被广泛利用。MAE在预练习阶段对图像补丁进行掩码,但高掩码比例会带来明显的计算资源浪费。MixMAE [249]引入了一种在补丁级别混淆多个图像的方法,从而避免了引入[MASK]符号的必要。利用可见图像补丁代替[MASK]符号有助于淘汰练习数据集的巨细。COPA [168]引入了一个名为补丁 - 文本对齐的辅助预练习任务。这种补丁级别的对齐计谋旨在淘汰图像补丁中的冗余,补丁序列的淘汰有助于节省计算资源。PatchDropout [257]引入了补丁丢弃的概念,以提高计算和内存效率。该方法涉及对原始图像补丁的随机采样,有用地缩短了token序列的长度。TPS [408]采用了一种更激进的压缩技术。TPS根据token的重要性将其分类为修剪集和保存集,然后将每个修剪后的token分配给其相关的保存token,而不是丢弃修剪集。
 4.1.2 神经架构搜索

神经架构搜索(NAS)是一种主动模子设计算法,用于在无需人工干预的环境下实现最优的模子效率和性能。零样本NAS [14]引入了一种概念,即模子可以在无需实际练习的环境下推测神经网络架构的性能。通过利用先验知识和署理模子进行架构评估,该技术明显降低了计算成本和时间,有助于在最小资源斲丧的环境下高效探索复杂的架构空间。ZICO [212]引入了一种零样本NAS署理,在性能上优于传统的NAS署理,包括一次性和多次性NAS方法。值得注意的是,它通过在搜索阶段无需练习模子,淘汰了计算资源的斲丧。PASHA [39]为初始化分配有限的资源,并根据必要增长资源分配。通过动态资源分配,PASHA加快了NAS的速度并有用地管理了计算资源。RankNAS [149]将NAS问题表述为一个排序问题,并进一步将这个排序问题简化为一个二分类问题。别的,该方法利用特征来评估有远景的架构。PreNAS [391]采用了一种无搜索的NAS方法。该方法通过零样本NAS署理确定优选的架构,然后仅对优选的架构进行一次练习。ElasticViT [371]有一种NAS方法,可主动设计计算量少于1×10^{9}FLOPs的轻量级ViT模子。该方法引入了两种子网采样技术来解决梯度冲突问题,从而实现了高正确率和低推理延长。
 4.1.3 渐进式学习

渐进式学习是一种练习计谋,它从练习一个小模子开始,然后逐渐增长模子的巨细,并继续练习过程。这种方法通过重用前一阶段的计算来优化计算资源的利用。受差别深度模子之间可以共享知识这一观点的启发,stackingBERT [124]引入了一种渐进式堆叠算法。该算法通过依次堆叠较小模子的注意力层来练习大型模子。stackingBERT表明,这种渐进式堆叠方法可以在淘汰计算资源斲丧的环境下,到达与重新开始练习大型模子相似的性能。CompoundGrow [129]熟悉到渐进式练习算法与NAS之间的相似性。CompoundGrow为BERT引入了一种渐进式练习算法,有助于模子在多个维度上的增长,包括深度、宽度和输入长度。该方法通过利用复合增长算子来淘汰计算资源的斲丧。阶段练习[348]采用一种计谋,即首先预练习一个小模子,随后增长模子的深度和宽度,并继续练习过程。利用增长算子将整个练习状态,包括模子参数、优化器状态、学习率调度等,转移到下一个阶段。这种方法重用了前一阶段的计算,有用地淘汰了练习时间和计算资源需求。知识继承[319]建议利用现有的预练习语言模子作为教师模子,在更大模子的练习过程中提供引导。教师模子提供的补充辅助监督可以有用地提高更大模子的练习速度。LiGO [395]通过一个可练习的参数线性映射,引入小模子参数来初始化大模子。LiGO通过将增长变换分解为宽度和深度维度上的线性算子组合来实现这一点。
 4.1.4 混淆精度练习

混淆精度练习通常利用半精度浮点数据表示,而不是单精度。这种方法明显降低了内存需求,大约将权重、激活值和梯度所需的存储空间淘汰了一半(以半精度计算)。Mesa [303]提出将激活压缩练习[50]与混淆精度练习相结合,进一步淘汰激活值利用的内存。该方法根据多头自注意力层的分布对激活值进行量化,以最小化近似误差。GACT [255]引入了一种基于每个梯度重要性的动态调整压缩比。这一创新使得在各种模子架构中,包括卷积神经网络、图神经网络和基于Transformer的模子,都能淘汰计算资源和内存斲丧。
 4.2 微调算法

高效的微调算法旨在淘汰使预练习底子模子适应卑鄙任务的工作量。这些技术可分为三类:加法调优、选择性调优和重新参数化调优。

Figure 13: A summary of various fine-tuning algorithms  
 4.2.1 加法调优

大型底子模子可以通过添加额外参数并针对新任务进行微调,以低成本实现高性能。详细而言,大型底子模子中的这种加法调优过程可分为三个重要类别:适配器调优、提示调优和前缀调优。
适配器调优

适配器调优旨在通过在预练习大型底子模子的特定层(或所有层)引入适配器模块来降低练习成本。在调优过程中,预练习模子的骨干保持冻结状态,适配器模块用于获取特定任务的知识。一些研究[98, 376, 302]专注于为多任务或多模态扩展设计适配器。ADA [98]和MetaTroll [376]致力于逐步扩展预练习Transformer在多个任务上的本领。这种方法有助于减轻学习过程中的劫难性遗忘,同时淘汰计算开销。ST - Adapter [302]引入了内置的时空推理本领,使预练习模子在跨模态任务中明显淘汰必要更新的参数数量。其他研究[240, 402, 379, 241]旨在进一步降低微调成本。HiWi [240]表明,涉及添加新参数的PEFT(Parameter - Efficient Fine - Tuning,参数高效微调)方法通常会引入额外的推理延长。PEFT通过将适配器应用于预练习参数而不是隐蔽表示来提高推理速度。AdaMix [402]设计了一种组合机制,将差别适配器的权重合并为每个Transformer层的单个适配器。这一创新明显淘汰了多个适配器引入的额外存储成本。MEFT [241]通过将LLM修改为其可逆变体来设计一种插入适配器的方法,淘汰了激活内存,从而提高了微调的内存效率。Residual Adapters [379]解决了非尺度语音导致的主动语音识别性能下降问题。该方法涉及设计个性化的残差适配器,有助于淘汰更新的参数数量。别的,其他研究,如PEMA [182],专注于在模子微调过程中确保数据保密性。这些方法涉及设计提供上下文提示的适配器,使预练习模子可以或许天生相应的上下文表示。别的,利用渐进睁开方法进行调优。
提示调优

提示调优涉及为每个任务设计特定任务的提示,旨在取代传统的对预练习大型底子模子参数的微调。通过调整输入提示,这种方法明显淘汰了微调所需的资源和时间。一些研究[23, 208, 384]专注于提高多任务设置中提示的高效可扩展性。例如,PromptTuning [208]、ATTEMPT [23]和BioInstruct [384]研究了怎样利用混淆软提示在差别任务之间高效地转移知识。这些方法通过重用冻结的预练习大模子来降低参数更新成本。别的,一些工作[448, 57]专注于最小化特定任务的提示微调成本。例如,DualPL [448]设计了两个提示,并分别捕捉两个任务的相关知识。这种方法解决了对话状态跟踪系统中网络槽位和值的状态标签成本高昂的问题。在机器阅读理解任务中,MPrompt [57]引入了任务特定的多条理提示微调,以增强在差别粒度上对输入语义的理解,同时淘汰参数更新的数量。别的,DPT [426]解决了由于利用相同初始化导致的提示微调效率低下的问题。该方法探索了初始化提示的分解,在确保提示有用性的同时进一步淘汰了可练习参数。
前缀调优

前缀调优在大型底子模子的每一层引入一个可练习的、特定任务的前缀部分。这种技术旨在通过限制对该前缀中参数的更新来降低调优成本。一些工作[400, 247, 486, 287, 389]专注于提高特定范畴前缀调优的性能。例如,UAPT [400]和Prefix-diffusion [247]解决了图像字幕天生中多样性有限的问题。这些方法从大型底子模子中提取图像特征,并设计前缀以提高性能,同时淘汰额外的开销。DOP [486]和DAPA [287]专注于抽象择要中的范畴泛化问题。这些方法为每个源范畴设计前缀,以提高模子的泛化本领。PIP [389]专注于释义天生中的句法控制,并通过设计解析指示前缀来降低练习成本。别的,其他工作如Prefix Propagation [213]和APT [469]进一步优化前缀调优,以提高其效率和有用性。
 4.2.2 选择性调优

选择性调优旨在通过冻结大型底子模子中的大部分参数,并仅选择性地更新一小部分参数,在新任务上保持高性能的同时降低练习成本。一些工作专注于优化选择性调优的性能。例如,SAM [113]探索了可调参数的选择怎样影响调优。通过提出二阶近似方法,它调整较少的参数以实现更好的模子性能。SmartFRZ [221]专注于通过引入基于差别网络结构的自适应层冻结技术来提高层冻结的效率。这一创新提高了系统的正确性和练习速度。FiSH-DiP [79]通过引入样本感知的动态稀疏调优计谋,探索了在有限数据下进行调优的有用性。这种方法利用样本反馈选择性地调整部分参数,以增强模子在资源受限环境下的泛化本领。别的,一些工作继续专注于特定范畴。例如,Token Mixing [259]和VL-PET [151]专注于视觉语言任务,通过调整和选择可练习参数的子集来提高微调效率。SPT [140]夸大通过设计敏感性感知参数预算来高效调整视觉参数,实现特定任务的选择性调优。从可持续人工智能计算的角度来看,GreenTrainer [152]通过自适应选择最合适的张量集,以其重要性和反向流传成本为引导,最小化大语言模子微调的FLOPs。与全量微调相比,它取得了明显的成果,实现了高达64%的微调FLOPs淘汰。


Figure 14: LoRA and its optimization methods. 
 4.2.3 重新参数化调优

重新参数化调优通过针对比原始广阔练习空间小得多的子空间来适配大型底子模子。这种方法涉及微调低秩矩阵参数,这一技术有用地降低了整体练习成本。现有的大多数研究都围绕通过低秩适配器设计来实现重新参数化调优。例如,EfficientDM [142]、QLoRA [86]、PEQA [183]、QALoRA [441]和LoftQ [233]结合量化技术,在LoRA的底子上进行改进,以提高内存效率。这一共同努力旨在在保持模子性能的同时提高练习效率。GLoRA [51]增强了LoRA的通用性,通过淘汰参数数量和计算开销,提高了模子的可迁徙性、少样本本领和范畴泛化本领。PELA [134]从LoRA中获得灵感,设计了一种低秩近似压缩方法。这一创新通过仅更新低秩模子,同时冻结所有骨干参数,提高了微调效率。LongLoRA [66]通过结合移位短注意力来扩展LoRA的本领,实现上下文扩展。这种实现方式在保持模子性能的同时节省了计算成本。别的,LOMO [268]和MeZO [276]优化梯度计算过程,以淘汰微调过程中梯度张量的内存需求。对于ViT的线性层,LBP-WHT [447]通过基于沃尔什 - 哈达玛变换的低秩反向流传,降低了矩阵乘法的计算成本。这种方法有助于同时提高模子性能。别的,DSEE [62]研究了在预练习模子权重上应用稀疏感知低秩更新的应用。这种方法在确保模子性能提拔的同时,大幅淘汰了推理FLOPs。Dynamic-Pooling [289]机制旨在通过自回归推测来推测推理边界。这种设计引导模子在调优过程中更快地进行重新参数化。
LoRA在微调低秩矩阵A和B时冻结预练习权重矩阵,其秩可低至2。这种方法明显淘汰了可练习参数的数量,从而淘汰了练习期间存储梯度值所需的数量。然而,与全量微调相比,LoRA仍旧存在性能差距。为了解决这一问题,人们开辟了各种方法来提高LoRA的性能,如图14所示,重要分为三种计谋:添加可练习参数、改进初始化和优化学习过程。Delta-LoRA [497]旨在通过低秩矩阵A和B的乘积更新预练习权重,从而在不增长额外内存开销的环境下添加可练习参数,以弥合性能差距。另一方面,PiSSA [278]发现LoRA用高斯随机值和零初始化低秩矩阵,导致初始梯度值非常小,收敛速度慢。PiSSA建议对预练习权重矩阵进行奇异值分解(SVD),将具有较小奇异值的矩阵冻结为残差矩阵,并利用最大奇异值初始化可练习的低秩矩阵A和B。这种优化的初始化方法实现了更快的收敛和更好的性能。末了,DoRA [254]和LoRA+ [137]专注于增强学习过程本身,以进一步提高效率和有用性。DoRA观察到LoRA和全量微调具有差别的更新模式。因此,它将预练习权重分解为幅度和方向分量,并微调方向矩阵。这使得更新模式更靠近全量微调,从而带来更好的练习结果。LoRA+表明,对矩阵A和B利用相同的学习率对练习并不最优。通过将B的学习率设置得高于A,可以加速收敛并提高微调性能。
 4.3 推理算法

 4.3.1 机会主义解码

自回归的本质严峻拦阻了大型底子模子的推理效率。因此,有大量方法旨在用机会主义非自回归解码替换自回归解码。
推测解码

推测解码涉及利用成本较低的小模子以自回归方式天生序列,然后利用较大模子并行验证每个token。典型的推测解码过程如下。给定一个小模子\(M_{q}\)和一个大模子\(M_{p}\),用\(M_{p}\)以自回归方式解码\(\gamma\)个token。将\(\gamma\)添加到前缀\(\sigma\)中,然后执行\(M_{p}\)的前向转达。比力\(M_{q}\)和\(M_{p}\)在相应token位置的logits,并根据特定尺度接受或拒绝这些token。值得注意的是,这个过程确保了完全的正确性,终极的解码结果与仅利用\(M_{p}\)获得的结果相同。Yaniv等人[209]在T5X模子上利用推测解码实现了2 - 3倍的性能提拔。同时期的一项工作[54]在700亿参数的Chinchilla模子上也展示了类似的加速结果。SpecTr [368]提出了一种新颖的推测解码计谋,通过扩展候选token的数量和改进草稿选择方法来提高算法性能。该方法在实际运行时间上实现了2.13倍的提拔,在尺度基准测试中比推测解码进一步提高了1.37倍。ProphetNet [443]引入了一种序列建模架构,用于推测将来token,在肯定程度上淘汰了自回归。在草稿阶段,Draft & Verify [470]选择性地跳过某些中间层,而无需依赖额外的小模子,使其更易于插拔利用。在Llama - 2上的测试表明,这种方法实现了1.73倍的加速。Medusa [47]是另一种为非自回归解码设计的解码架构,不必要额外的辅助模子。它通过预练习多个头来推测差别的时间步,同时推测多个token,然后同时验证这些token。Look-ahead decoding [112]在不必要草稿模子或数据存储的环境下加速大型底子模子的推理。这种方法相对于每个解码步骤利用的log(FLOPs)线性淘汰解码步骤的数量。别的,还有基于推测解码构建的推理系统,包括SpecInfer [280],它在云端利用多个草稿模子,以及部署在边缘的LLMCad [429]。
查找解码

另一种方法是在解码过程中在文本语料库中搜索模式,以替换自回归天生。例如,推测当前解码的内容可能对应于文本语料库中的一个序列,然后并行进行验证。通过在推理服务器上预计算并存储频繁出现的文本段的注意力状态,Prompt Cache [122]可以在这些段出现在用户提示中时高效地重用它们。这种方法在不修改模子参数的环境下,在保持输出正确性的同时,实现了基于GPU的推理8倍的性能提拔和基于CPU的推理60倍的性能提拔。在推理阶段,LLMA [445]利用外部文本验证潜在的推理结果,并集成了一个触发机制来确定何时进行解码以及何时进行引用。增长的计算并行性使LLMA在大型底子模子上实现了超过2倍的加速,在许多实际场景中(如搜索引擎和多轮对话),天生结果与贪婪解码相同,这些场景的特点是上下文引用与输出之间有大量重叠。别的,还有研究致力于为大型底子模子提供可并行化的解码提示,从而减轻自回归解码的影响。例如,受人类头脑和写作认知过程的启发,Skeleton-of-Thoughts [292]首先引导大型底子模子天生答案的框架。随后,该方法利用并行API调用或批量解码来同时为天生的框架中的每个点添补细节。
 4.3.2 输入过滤和压缩

提示压缩

通过压缩输入到模子的提示可以有用地淘汰计算量。LLMLingua [169]从粗到细的角度引入了一种提示压缩方法。该方法结合了预算控制器以在高压缩率下保持语义完备性,一种基于token级的迭代压缩算法以改进对压缩内容之间相互依赖关系的建模,以及一种基于指令调整的方法来对齐语言模子之间的分布。LLMLingua可以实现高达20倍的压缩,同时性能损失最小。Jiang等人[413]研究了在保持语义的同时压缩大型底子模子天然语言的可行性、适用性和潜力。EntropyRank [385]提出了一种无监督方法,用于从文本数据中提取关键词和关键短语。该方法利用预练习的大型语言模子,并结合香农信息最大化。
LLMZip [386]利用LLaMA - 7B来压缩天然语言。实验结果表明,LLMZip优于包括BSC、ZPAQ和paq8h在内的前沿文本压缩方法。AutoCompressors [68]利用大型底子模子将天然语言压缩为紧凑的择要向量。这些向量随后可以作为软提示供大型底子模子利用。ICAE [119]利用大型底子模子的本领将广泛的上下文压缩为简便的内存槽。这些内存槽可直接被大型底子模子用于各种目标。Nugget 2D [317]引入了一种专门用于处置惩罚长上下文的提示压缩方法。CoT-Max [154]是一种上下文修剪器,旨在增强大型底子模子的头脑链(Chain-of-Thought)本领。
token修剪

研究还探索了对Transformer输入序列的修剪,通常涉及在推理过程中逐步删除不太重要的token。PoWER-BERT [125]提出直接学习token修剪配置。Length-Adaptive Transformer [181]扩展了这一想法,引入了LengthDrop技术,即利用各种token修剪配置练习模子,然后进行进化搜索。TR-BERT [452]将token修剪表述为一个多步token选择问题,并通过强化学习来解决它。
对于ViT,也有一些动态token修剪方法。DynamicViT [328]根据重要性分数对冗余token进行分层修剪。AdaViT [279]和A-Vit [455]采用自适应token淘汰机制,并为差别的图像选择差别的token。AdaViT根据输入动态确定补丁、自注意力头和Transformer块的利用。A-Vit在推理时丢弃视觉Transformer中的token,根据输入图像的复杂度调整token保存。
SPViT [195]设计了一种自适应实例级token选择器,并引入了一种软修剪技术。PuMer [48]在大型视觉语言模子的推理过程中合并相似的文本和视觉token。Mini-Gemini [230]利用双编码器处置惩罚高分辨率图像和低分辨率图像嵌入,而不增长视觉token的数量。LLaVA-UHD [439]也可以或许处置惩罚任意宽高比的高分辨率图像:它利用模块化视觉编码将原始分辨率图像分别为较小的可变巨细切片。这些图像token将通过压缩模块进一步压缩,并带有一个空间模式来告知大语言模子切片的位置。
 4.3.3 键值缓存

优化基于自回归解码器模子推理过程中的键值缓存内存是一个关键方面。将键值缓存量化为激活值。一种计谋是将键值缓存视为激活值,并应用量化技术进行低精度压缩。重要挑战来自于键值缓存中大量极端异常值引入的量化误差。

在图12中,我们展示了键值缓存量化的关键方法。这些方法的详细介绍将在§4.4作为权重 - 激活联合量化的一部分给出。内存高效的稀疏注意力。另一种方法是利用稀疏注意力。然而,值得注意的是,大多数重要针对降低计算复杂度设计的稀疏注意力[36, 464],不肯定会导致键值缓存内存斲丧的淘汰。这是由于要实现键值缓存的内存淘汰,必要更严格的稀疏模式。详细来说,被稀疏化的token在后续步骤中不应被动态访问。为了解决这个问题,H2O [482]引入了一种为优化内存效率而设计的键值缓存逐出计谋。该计谋利用注意力分数来识别和选择当前状态下最不重要的键值缓存token进行逐出。与强大的基线相比,H2O展示了高达1.9倍的延长淘汰和29倍的吞吐量增长。Dynamic Context Pruning [22]在预练习阶段学习一种内存高效的键值缓存逐出计谋。这种方法已证实可以或许实现高达2倍的推理吞吐量增长,甚至更多的内存节省。Scissorhands [263]提出了一种用于大型底子模子推理的高效算法,该算法利用紧凑的键值缓存。这种创新方法明显淘汰了键值缓存推理内存的利用,在保持模子质量的同时实现了高达5倍的淘汰。通过利用地标token来分别token块,Landmark Attention [285]优化了键值缓存存储。这种方法允许将大部分键值缓存存储在较慢但容量更大的内存中,从而在不影响性能的环境下淘汰了内存需求。DeepSeek-V2 [82]提出了一种多头潜在注意力(MLA)方法,将分组查询注意力(GQA)改进为具有更强本领的潜在表示。它通过一个在推理时可被吸取到\(W_{k}\)和\(W_{V}\)的矩阵,将GQA的K和V重新投影到高维情势。FastGen [118]识别各种头的注意力稀疏模式,并通过轻量级注意力分析为每个头确定最合适的模式。
块级键值缓存管理

vLLM [199]采用了操纵系统中分页内存的概念,将容易出现内存碎片化的键值缓存作为块进行管理。这种基于块的注意力机制的计算结果与尺度注意力机制相同。我们将在§5.3中详细阐述其细节。固然vLLM通过运行时重新分配明显淘汰了键值缓存内存斲丧,但实践者必须重写注意力内核或重用vLLM的内核,这两种方式都会导致性能下降。为了解决这个问题,vAttention [315]直接依赖操纵系统/ CUDA在物理内存上进行重新分配。与vLLM相比,它进一步将端到端服务吞吐量提高了1.29倍。在移动设备上,LMS [456]提出了一种细粒度的键值缓存管理方法,该方法机会性地压缩键值缓存块,并协调交换和重新计算以管理它们。它确保了LMS提出的设备端大语言模子即服务(LLMaaS)愿景中的快速上下文切换。
其他方法

Mooncake [318]提出了一种预添补 - 解码分离系统。其核心是通过缓存和重用相似内容来优化哀求的繁重键值缓存。CacheGen [258]将键值缓存视为数据流,并通过标志增量值和算术编码对该流进行编码。InfiniGen [207]通过奇异值分解(SVD)压缩键值缓存,并预取关键的键值对。CachedAttention [116]利用HBM交换来缓存多轮对话的键值缓存。
 4.3.4 长上下文

为了有用地处置惩罚长序列,Transformer必要调整其位置编码,以增强捕捉长距离信息的本领。解决这一挑战的重要工作包括[316, 367, 56, 61, 38, 310, 220, 493]。这些工作是使Transformer可以或许处置惩罚长上下文和高分辨率输入的前提条件。由于注意力机制的二次计算成本,人们提出了各种资源高效的优化方法来处置惩罚长输入。这些优化方法包括循环结构和注意力优化。
循环结构

Transformer-XL [74]引入了段级循环机制,可保持时间连贯性而不会停止。这一创新使得评估速度比普通Transformer快1800多倍。RMT [43]在遵照Transformer-XL概念的底子上,通过在输入或输出序列中引入特殊的记忆令牌,将记忆机制集成到Transformer模子中,且无需进行修改。块循环Transformer [157]采用循环单元,在练习期间处置惩罚令牌块而非单个令牌,这种方法利用了块内的并行计算,有用利用了加速器硬件。Memformer [418]在保持线性计算复杂度和恒定内存空间复杂度的同时,实现了理论上无穷的时间范围记忆。
注意力优化

LM-Infinite [135]引入了Λ形注意力机制,以高效处置惩罚长上下文。该机制具有O(n)的时间和空间复杂度,在ArXiv和OpenWebText2数据集上,对于长达128k令牌的序列,LM-Infinite在文本天生中始终保持流畅性和高质量。StreamingLLM [425]使在有限长度注意力窗口上练习的大型底子模子可以或许推广到无穷流解码,且无需任何微调。PCW [330]将长上下文分割成块或“窗口”,限制注意力机制仅在每个窗口内操纵,并在窗口之间重用位置嵌入。LongNet [89]引入了扩张注意力机制,随着距离的增长,指数级地扩大注意力范围。这一创新使LongNet可以或许有用地扩展Transformer,使其可以或许处置惩罚长达10亿令牌的序列。SLED(SLiding-Encoder and Decoder的缩写)[160]重新利用并充实利用颠末充实验证的短文本预练习语言模子。尽管SLED与比其大50倍的专业模子竞争时体现精彩,但它不必要专门且昂贵的预练习步骤。
 4.4 模子压缩

模子压缩是指旨在在不明显降低性能的环境下减小模子巨细的一系列技术。本综述研究了大型底子模子的四种重要模子压缩类别:剪枝、知识蒸馏、量化和低秩分解,如图15所示。

图15:大语言模子的模子压缩技术
 4.4.1 剪枝

剪枝技术是从神经网络中删除冗余或非必要的连接、神经元或层。其重要目标是减小模子巨细,从而降低计算和存储成本,同时保持模子的正确性。结构化剪枝和非结构化剪枝旨在在推理过程中淘汰权重,而不修改稀疏性。相比之下,上下文剪枝在推理期间根据模子的稀疏性动态选择激活的神经元或层。
结构化剪枝

结构化剪枝通过消除整个结构组件(如连续参数组或条理结构)来压缩大型底子模子。这些结构组件的示例包括模子权重的通道或块。结构化剪枝通常与微调相结合,以减轻正确性损失。LLM-Pruner [270]是一种与任务无关的结构化剪枝算法,它利用少量数据评估耦合结构权重的重要性。该方法根据梯度信息选择性地删除非必要的模子结构。LLM-Pruner结合LoRA在剪枝后恢复模子的正确性。LoRAPrune [472]是另一种基于LoRA的结构化剪枝方法,利用LoRA的权重和梯度进行重要性估计。该方法迭代地消除多余的通道和注意力头,与LLM-Pruner相比取得了更好的结果。Lagunas等人[200]通过合并可变巨细的块改进了结构化剪枝技术。这种集成在微调期间应用于移动剪枝框架内,导致删除整个模子组件,如注意力头。结果是,剪枝后的模子比原始BERT模子速度提高2.4倍,巨细减小74%。
结构化剪枝也应用于大型底子模子的练习中。Sheared LLaMA [422]采用端到端的方法删除通道,涵盖层、注意力头、中间层和隐蔽层。这个过程动态加载批次,并根据差别范畴的损失为每个练习批次改变模子结构。Sheared LLaMA展示了将LLaMA2-7B模子剪枝到13亿参数的本领。AdaPrune [156]利用可转置掩码加速神经网络练习,在推理和练习期间的矩阵乘法中实现2倍的加速,且正确性损失最小,而且AdaPrune允许在差别的结构束缚之间无缝转换。GUM [342]考虑神经元特异性,通过基于网络组件的全局移动性和局部唯一性分数进行剪枝。这种方法旨在同时最大化敏感性和唯一性,有用地淘汰大型底子模子权重中的冗余参数。PLATON [473]通过采用重要性估计的上置信界来处置惩罚模子剪枝过程中重要性分数的不确定性。这种方法确保了练习的稳定性,并提高了泛化本领。
结构化剪枝通常与量化技术结合用于模子压缩。DJPQ [403]将神经网络压缩视为一个统一的基于梯度的优化问题。DJPQ将基于变分信息瓶颈的结构化剪枝和混淆位精度量化集成到一个可微损失函数中。SpAtten [392]代表了一种用于天然语言处置惩罚中高效注意力计算的算法 - 架构协同设计方法。该方法利用令牌和头的稀疏性以及量化技术。通过采用新颖的级联令牌和头剪枝以及渐进式量化,SpAtten实现了DRAM访问的明显淘汰,从而在各种加速器和GPU上实现了令人瞩目标加速和节能结果。
也有大量专门针对结构化剪枝的研究。Block-Skim [131]通过利用自注意力权重选择性地处置惩罚重要上下文,优化提取式问答Transformer,通过在较低层早期剪枝不必要的位置来实现。类似地,DepGraph [101]引入了一种用于各种架构的全主动通用结构剪枝方法。该方法解决了结构耦合的挑战,并利用基于范数的准则在各种模子上持续实现性能改进。
非结构化剪枝

与结构化剪枝差别,非结构化剪枝不考虑模子的固有结构。通常,它会删除权重低于阈值的神经元,从而降低计算负载以压缩模子。在部署非结构化剪枝时,必要专门的技术来实现模子存储压缩。SparseGPT [109]是一种一次性剪枝算法,无需重新练习。SparseGPT将剪枝框架视为一个广义的稀疏回归问题,并利用近似稀疏回归求解器来解决它。SparseGPT在像1750亿参数的大型GPT模子上实现了60%的非结构化剪枝。Wanda [363]利用在大型底子模子中出现的大幅值特征的观察结果。Wanda通过按输出修剪具有最小幅值乘以相应输入激活的权重来引入稀疏性。UPop [352]是一个通用的视觉语言Transformer压缩框架,它包含两个关键组件:(1)在连续优化空间中从原始模子统一搜索多模态子网,这使得可以或许在可压缩模态和结构之间主动分配剪枝比率;(2)逐步搜索和重新练习子网,保持搜索和重新练习之间的收敛以实现更高的压缩比。SSI是一种在图像编辑期间优化深度天生模子的技术,通过选择性地计算编辑区域来实现。利用原始图像的缓存特征图,SSI最小化冗余计算,从而为各种天生模子(如条件GAN和扩散模子)带来明显的加速。SIGE [352]旨在将计算淘汰转化为尺度硬件上的延长淘汰,在对模子进行少少修改的环境下,为像DDPM、稳定扩散和GauGAN这样的模子实现明显的加速。
上下文剪枝

与结构化剪枝和非结构化剪枝差别,上下文剪枝动态选择每一层的稀疏状态,使其对硬件优化友爱。Deja Vu [264]利用前一层的激运动态推测下一层的稀疏性。它确定MLP块的哪些神经元和注意力块的哪些头必要保存。为了减轻这种推测器的开销,Deja Vu异步推测下一层。PowerInfer [360]利用激活的稀疏性动态推测下一层的热激活神经元,并在GPU上计算它们,而其他冷激活神经元在CPU上计算。与llama.cpp [121]相比,PowerInfer实现了高达11倍的加速,使400亿参数的模子可以或许在个人计算机上每秒输出10个令牌。PowerInfer-2 [442]通过利用多态神经元引擎将PowerInfer扩展到智能手机上。它根据神经元激活和神经元集群级流水线技术动态调整计算,通过将激活的神经元分组为集群有用地优化稀疏计算,从而明显淘汰开销。Song等人[357]在小语言模子中利用基于梯度的归因分数并对层间依赖进行校正,实现了准确的稀疏激活。
 4.4.2 知识蒸馏

知识蒸馏(KD)是将知识从复杂的、大型的模子(即教师模子)转移到相应的简单模子(即学生模子)以进行模子压缩的方法。一般来说,根据是否考虑教师模子的内部结构,将KD应用于大型底子模子有两种方式:黑盒知识蒸馏和白盒知识蒸馏。
黑盒知识蒸馏

假设教师的大型底子模子的内部结构不可见,这种方法利用大型底子模子的API天生的提示 - 响应对来微调学生模子。其目标是使学生模子具备教师模子的本领。对于大型底子模子,由于参数数量的增长而获得的洞察力有助于实现强大的泛化本领。因此,可以利用上下文学习(ICL)[91]、头脑链(CoT)[407]和指令跟随(IF)[300]等技术,使学生模子全面学习大型底子模子的本领。
ICL蒸馏通过将上下文学习目标与传统语言建模目标相结合,将少样本学习和语言模子本领从教师模子转移到学生模子。在Meta-ICL [284]和Metal-ICL [63]中,语言模子在各种任务上利用上下文学习目标进行元练习。这个过程使它们可以或许通过上下文学习对未见任务进行微调。多任务ICT [155]引入了上下文学习蒸馏的概念,利用ICL目标和来自目标任务的示例对模子进行微调。该方法利用上下文学习对这些任务进行推测。固然多任务ICT在性能上优于Meta-ICT,但它必要更多的多任务学习以及大型底子模子天生的解释。
IF可以增强模子的零样本本领,其中任务描述作为模子微调的指令。Lion [173]是一种对抗性蒸馏架构,它促使大型底子模子识别具有挑战性的指令,并为学生模子创建新的复杂指令,从而增强学生模子的本领。LaMini-LM [417]是为资源密集型语言模子设计的,它开辟了一个广泛的指令集,包括现有的和新天生的指令,用于微调学生模子。
CoT在提示中引入中间推理步骤,引导语言模子逐步解决复杂的推理任务。黑盒知识蒸馏可以利用这种方法将知识从大型底子模子转移到较小的学生模子。Fu等人[111]通过用从大语言模子教师那里蒸馏出的CoT引导较小的模子,增强了它们的数学推理本领。Distilling Step-by-Step [147]在多任务框架中利用CoT从大型底子模子中提取推理依据,为在多任务环境中练习较小的模子提供额外引导。Fine-tune-CoT [145]利用零样本CoT提示技术,通过随机采样从大型底子模子天生多个推理解决方案,以引导学生模子的练习。SOCRATIC CoT [353]练习一个问题分解器和一个子问题求解器作为蒸馏模子。分解器将原始问题分解为一系列由求解器解决的子问题。DISCO [67]利用大型底子模子天生扰动,由专门的教师模子过滤这些扰动,将高质量的反事实数据蒸馏到学生模子中。SCOTT [394]从一个大得多的教师模子中学习一个小的、自洽的CoT模子。SCOTT利用教师天生的推理依据,以反事实推理目标练习学生语言模子,防止学生忽略这些推理依据。SCoTD [218]引入了一种称为符号CoT蒸馏的方法,涉及利用未标志的数据实例从大语言模子中提取CoT推理依据。然后练习一个较小的模子来推测采样的推理依据和相关标签。CoT Prompting [274]通过知识蒸馏探索这种推理本领向较小模子的可转移性,在模子和数据集巨细之间的推理本领上找到均衡。PaD [495]通过蒸馏大型底子模子获得推理任务的专用小模子。PaD利用程序辅助推理强化专用模子,并通过主动错误检查帮助它们降服错误的推理步骤。
白盒知识蒸馏

与黑盒知识蒸馏相比,白盒知识蒸馏不但可以访问教师模子的输出结果,还可以访问其结构和中间结果。因此,白盒知识蒸馏可以更好地利用教师模子的结构,使较小的学生模子可以或许复制和学习较大教师模子的本领。
Timiryasov等人[378]在包含1000万个单词的具有发展公道性的BabyLM数据集上,练习了一个由GPT-2和小型LLaMA模子构成的集成模子。随后,他们将其蒸馏成一个具有5800万个参数的小型LLaMA模子,该模子在性能上超过了其教师模子以及一个未颠末蒸馏练习的类似模子。MiniLLM [130]从天生性较大语言模子中蒸馏出较小的语言模子。这种方法用反向Kullback-Leibler散度(KLD)目标替换了尺度KD方法中的前向KLD目标,反向KLD更适合于天生性语言模子的KD,以防止学生模子高估教师分布的低概率区域。MiniLLM随后推导出一种有用的优化方法来学习这个目标。GKD [15]不是仅依赖于一组固定的输出序列,而是利用自我天生的输出序列练习学生模子。这是通过利用教师对这些自我天生序列的反馈来实现的。与监督式KD方法差别,GKD还提供了在学生和教师模子之间利用替换损失函数的机动性。这种机动性在学生模子缺乏模仿教师分布的表达本领的环境下非常有代价。KPTD [301]包括两个阶段:转移集天生和在转移集上的蒸馏。在第一阶段,KPTD通过提示语言模子从实体界说天生连续来天生转移集。随后,KPTD更新模子参数,使学生的分布与基于转移集的教师分布对齐。TED [237]利用任务感知过滤器在每一层对齐学生和教师的隐蔽表示。这些过滤器旨在从隐蔽表示中选择与任务相关的知识。通过将重点缩小到特定任务的信息,TED旨在缩小两个模子之间的知识差距,提高学生在目标任务上的性能。MixKD [238]是一个与数据无关的蒸馏框架,它结合了mixup,这是一种简单而有用的数据增强技术。在MixKD中,鼓励学生模子不但从原始练习示例中学习,还模仿教师在示例对的线性插值上的行为。这种额外的练习计谋旨在增强所得模子的泛化本领。DIME-FM [365]是一种用于将知识从大型视觉底子模子转移到较小的定制底子模子的方法。这是通过利用相对少量的便宜、未配对的图像和句子来实现的,值得注意的是,它不依赖于公共或较小规模的数据集。该方法在配对数据可能有限或不可用的场景中提供了一种有用的知识转移方式。Li等人[227]从视觉和语言模态的角度提出了两个原则,以增强学生的分布外泛化本领:通过更好地模仿教师的视觉表示空间,并仔细促进与教师在视觉 - 语言对齐方面的更好一致性;通过用信息丰富且细粒度的语义属性丰富教师的语言表示,以有用区分差别标签。
 4.4.3 量化

量化是一种成熟的模子压缩方法,用于减轻存储和计算需求。这种方法涉及将最初以传统高精度浮点格式表示的权重和激活值,转换为低比特高精度或整数表示。
公式(2)展示了将32位浮点张量\(X^{FP 32}\)转换为N位整数张量\(X^{Int N}\)的典型过程。公式(3)展示了反量化过程。符号\(FP32\)表示缩放因子。
\[\begin{aligned} X^{Int N} & = quantize \left(N, X^{FP 32}\right) \\ & =Round\left(\frac{2^{N}}{absmax\left(X^{FP 32}\right)} × X^{FP 32}\right) \\ & =Round\left(c^{FP 32} × X^{FP 32}\right) \end{aligned}\]
\[X^{FP 32}= dequantize \left(c^{FP 32}, X^{Int N}\right)=\frac{X^{Int N}}{c^{FP 32}} (3)\]
在实际应用中,反量化过程并不普遍。深度神经网络(DNN)引擎经常利用加速器的整数计算本领,直接对量化后的权重和激活值执行矩阵乘法,从而加速计算。例如,ggml [120]和英特尔的Transformer扩展[347, 159]利用CPU的单指令多数据(SIMD)指令集来执行整数矩阵乘法。类似地,bitsandbytes [85, 84]和QNN [1]已经为GPU和NPU实现了相应的整数矩阵乘法。
根据量化过程的时间,量化可以分为练习后量化(PTQ)和量化感知练习(QAT)。
量化感知练习

QAT是指以一种使模子参数适应量化引入的低精度的方式来练习量化模子。这个过程的重要目标是减轻由于量化而导致的精度损失。LLM-QAT通过利用预练习模子通过无数据蒸馏天生样原来解决大语言模子练习数据获取的问题。同时,它对权重、激活值和键值缓存进行量化,从而提高练习吞吐量。LLM-QAT展示了天生具有4位精度的准确量化大语言模子的本领。QuantGPT [373]通过在自回归预练习期间纳入来自全精度教师模子的对比蒸馏,并将logit信息蒸馏到量化的学生模子中实现了这一点。BitNet [393]开创了1位语言模子的QAT,利用1位权重和激活值练习语言模子。EfficientQAT [60]是一种用于压缩大语言模子的新颖量化技术。它由两个连续阶段构成:所有参数的块级练习(Block-AP),该阶段通过块级重修对每个Transformer块中的所有参数序次进行量化感知练习,以在不练习整个大语言模子的环境下保持效率;第二阶段,量化参数的端到端练习(E2E-QP),利用量化模子进行初始化,然后仅对量化参数(步长)进行端到端练习,通过固定量化骨干网络和淘汰可练习参数数量来提高效率。
由于大型模子中的参数数量通常到达数十亿甚至数百亿,QAT的练习成本仍旧相称可观。一方面,大型底子模子的QAT通常与知识蒸馏相结合以降低练习成本,如LLM-QAT和QuantGPT等方法所示。另一方面,量化经常用于大型模子的微调过程中,如PEQA [420]、LoftQ [233]和QLoRA [86]中详细描述的那样,详细内容见§4.2.3。
练习后量化

PTQ将练习好的全精度模子转换为低精度模子,而无需重新练习。PTQ的优点是在不改变模子结构或无需重新练习的环境下压缩模子,从而降低模子的存储和计算成本。由于其部署成本低,PTQ也是模子压缩中最易于部署和广泛应用的技术。然而,与QAT和蒸馏差别,PTQ缺乏通过练习调整精度的反馈回路。与PTQ相关的研究通常侧重于在压缩模子时有用地保存权重/激活值中的相关信息。
PTQ可以分为两类:仅权重量化和权重-激活联合量化。
仅权重量化仅对大型底子模子的权重进行量化。在大型底子模子的权重量化中,有两种重要方法来减轻量化误差。
第一类方法涉及识别对正确性有明显贡献的权重中的异常值和重要权重,并对这些异常值进行特殊处置惩罚。例如,SpQR [87]识别异常值权重并以高精度保存它们,同时对别的权重进行量化。LLM.int8() [85]采用矢量化量化和混淆精度分解来处置惩罚异常值,以实现高效推理。LLM.int8()在矩阵乘法中利用8位量化,有用地淘汰了推理期间的GPU内存利用。AWQ [243]通过保护模子中前1%的重要权重并利用每通道缩放来确定最佳缩放因子,从而淘汰量化误差。OWQ [203]的分析表明,异常激活会放大量化误差,它采用混淆精度量化方案,对受激活异常值影响较大的权重应用更高精度的量化。SqueezeLLM [184]观察到某些权重决定了终极模子的量化性能,并提出了一种非匀称量化方法来最小化这些敏感权重的量化误差。SqueezeLLM通过利用损失的二阶海森信息来识别量化敏感权重,并将量化点放置在这些敏感权重附近来实现这一点。
第二类量化淘汰方法基于更新权重的二阶信息。GPTQ [110]采用层wise量化与OBQ [108]相结合,利用逆海森信息来更新权重。GPTQ将每个权重的比特宽度降低到3或4位,允许对具有1750亿参数的GPT模子进行量化,同时最小化精度损失。QuIP [53]利用自适应舍入过程,最小化用于量化的二阶署理目标。QuIP利用随机正交矩阵对权重和海森矩阵进行有用的预处置惩罚和后处置惩罚,以确保权重和海森矩阵不相关,从而实现大型底子模子的2位量化。
同时,某些量化方法在压缩模子的同时可以实现计算加速。例如,llama.cpp [121]采用K-quant方法。K-quant量化利用巨细为16×8的块进行量化,每个块统共包含16行。与QLoRA [86]的二次量化类似,为了进一步淘汰资源斲丧,还有一个额外的FP16二次量化参数用于量化16个重要量化参数。llama.cpp表明,利用K-quant量化进行模子推理比利用原始FP16模子的推理速度大约快3 - 4倍。
权重-激活联合量化对大型底子模子的权重和激活值都进行量化。与权重量化类似,识别和处置惩罚权重和激活值中的异常值也有助于淘汰量化误差。SmoothQuant [424]利用差别token的通道激活之间的相似性,并利用每通道缩放变换对权重和激活值进行量化。RPTQ [463]熟悉到差别通道之间存在明显的范围差异,对通道进行重新排序以进行量化,并将其集成到层归一化和线性层权重中。OliVe [132]采用异常值-受害者对(OVP)量化并对异常值进行局部处置惩罚。Outlier Suppression+ [409]在Outlier Suppression [410]的底子上进行改进,发现有害的异常值重要集中在特定通道中出现不对称分布。考虑到异常值的不对称性和来自下一层权重的量化误差,该方法进行通道级的平移和缩放操纵。QLLM [250]通过自适应通道重组方法解决激活异常值的问题,并利用校准数据减轻量化引起的信息损失。LLM-FP4 [449]将权重量化为4位浮点数,提出每通道激活量化,并重新参数化额外的缩放因子作为权重的指数偏差。LLM-FP4成功地将LLaMA-13B中的权重和激活值都量化为仅4位,而且与全精度模子相比,精度损失仅为8.4%。ZeroQuant [451]结合层wise知识蒸馏和优化的量化支持来实现8位量化。ZeroQuant-V2 [450]引入低秩补偿(LoRC)进行进一步优化。ZeroQuant-FP [421]支持FP4/FP8量化,与相应比特精度的整数量化相比,实现了杰出的性能。FlexRound [204]通过最小化量化值与全精度值之间的误差来更新权重和激活值的量化尺度。ATOM [488]通过利用低比特运算符明显提高服务吞吐量,并通过低比特量化大幅淘汰内存斲丧。ATOM在4位权重-激活量化下,与FP16相比,端到端吞吐量提高了高达7.73倍,与INT8量化相比提高了2.53倍,同时保持相同的延长目标。I-LLM [150]是一种用于大语言模子的新颖的仅整数完全量化PTQ框架。它开辟了完全平滑块重修(FSBR)来平滑激活值和权重的通道间变革。它还引入了动态仅整数矩阵乘法(DI-MatMul)来减轻由于token间变革引起的性能下降,并实现了完全整数矩阵乘法的动态量化。别的,它设计了DI-ClippedSoftmax、DI-Exp和DI-Normalization,通过位移动高效执行非线性操纵,同时保持正确性。
基于旋转的方法

为了有用地量化异常值,最近的研究采用了一种差别的方法,并展现了一个有趣的特性:将权重矩阵乘以随机旋转矩阵可以有用地淘汰异常值并提高量化本领。直观地说,由于随机旋转的统计特性,这种变换导致权重或激活值项的分布没有异常值。由于旋转矩阵可以从单位映射成对构建,而且可以集成到附近的权重中而不改变整体网络输出(这一特性称为旋转稳定性),变换后的权重或激活值可以以较低的重修误差进行量化,而不会产生额外的推理开销。SpinQuant [262]通过利用Cayley SGD [214](一种用于优化正交矩阵的有用技术)来优化旋转矩阵,以最小化量化网络的终极损失,同时固定权重参数。这种优化不会改变全精度网络的输出,但会改进中间激活值和权重,使其更易于量化。QuaRot [24]有两个阶段。第一阶段操纵模子权重(全精度),并在模子的前向转达中插入两个额外的Hadamard操纵。第二阶段默认利用GPTQ对权重进行量化,并利用简单的舍入到最近值的方案对激活值进行实时量化。
在底子模子(如ViT和BERT)的骨干网络方面也有广泛的量化研究。例如,BinaryBERT [294]和I-BERT [29]在低精度量化下为BERT实现了更高的正确性。Wang等人[401]利用操纵符融合[293]、PTQ技术和结构化剪枝[200]来降低内存成本。他们还淘汰了DeiT-Tiny [381]的计算操纵数量。Q-ViT [229]、I-ViT [236]和OFQ [253]在低精度量化下也为ViT实现了高正确性。Q-Diffusion [226]压缩噪声估计网络以加快扩散模子的天生过程。
 4.4.4 低秩分解

低秩分解(LoRD)通过将给定的权重矩阵分解为两个或更多较小的矩阵来近似大型底子模子中的权重矩阵。对于一个\(m\times n\)的权重矩阵\(W\),分解表示为\(W = UV\),其中\(U\)是一个\(m\times k\)的矩阵,\(V\)是一个\(k\times n\)的矩阵,\(k\)远小于\(m\)和\(n\)。\(U\)和\(V\)的乘积近似原始权重矩阵,明显淘汰了参数数量和计算开销。
如§4.2.3所述,低秩分解已广泛应用于大型底子模子的微调方法中,如LoRA。LoRD在实现明显压缩本领的同时对性能影响最小,突出了其在大型底子模子压缩中的潜力[180]。为了降低支持大型底子模子的高维token嵌入的维度,TensorGPT [438]提出了一种基于张量列车分解(TTD)的方法,其中每个token嵌入被视为一个矩阵乘积态(MPS),可以以分布式方式高效计算。通过TensorGPT,嵌入层的压缩率可高达38.40倍。LoSparse [234]采用低秩近似来压缩干系且有体现力的元素。该方法利用迭代练习来评估列神经元在剪枝过程中的重要性得分,展示了优于传统迭代剪枝技术的性能。Saha等人[338]通过随机低秩和低精度分解来压缩矩阵,实现了高达每矩阵坐标一位的激进压缩比,同时超过或保持了传统压缩技术的性能。ViTALiTy [80]是一个算法 - 硬件协同设计的框架,用于提高ViT的推理效率。它利用一阶泰勒注意力来近似点积softmax操纵,利用行均值中心化作为低秩组件来线性化注意力块的成本。
 5 资源高效系统

练习和服务系统是实际应用中大型底子模子的关键。本节从四个方面研究支持资源高效的大型底子模子的系统研究:(1)分布式练习;(2)联邦学习;(3)云端服务;(4)边缘服务。图16概述了资源高效系统的分类,表5总结了该范畴广泛利用的开源框架。
值得注意的是,由于大语言模子的成功及其巨大的参数规模,本节介绍的大多数系统和技术都是专门为大语言模子设计的。
         
       图16:资源高效系统概述
|框架|描述|云|边缘|练习|推理|
         
        5.1 分布式练习

分布式练习系统是练习大型底子模子的底子,涵盖预练习和微调阶段。预练习相较于其他大型底子模子练习过程,计算和通讯需求更为密集,必要大量资源。微调则广泛用于将通用模子转化为特定用例的专用模子。鉴于大型底子模子的大规模和新的执行模式,为其设计资源高效的系统已成为研究热点。我们将优化分布式练习系统的技术进行分类,涵盖弹性、并行性、通讯、存储和异构GPU等方面。别的,专家混淆(MoE)已成为练习超大型模子的一种趋势,针对此也有多种专门的方法,这些将在本末节末尾详细介绍。
 5.1.1 弹性

大型底子模子练习规模和时长的增长导致失败率上升,凸显了弹性练习的重要性[412]。大型底子模子的容错方法重要有四种情势。第一,Varuna和Gemini [25, 405]通过实施检查点来重启练习,从而实现弹性练习。Varuna [25]专为在低带宽网络、频繁抢占的商用集群中练习而设计,具有用户友爱的特性。而Gemini [405]通过内存中的检查点加快了故障恢复速度。第二,Bamboo [375]利用冗余计算,即一个节点为自身和邻人节点执行计算。Bamboo避免了恢复过程中的开销,但在练习期间引入了额外的计算开销。第三,激活检查点技术[480, 197],该技术避免存储激活值,在必要时重新计算,处于检查点和冗余计算两种方法之间。第四种方法是部分层恢复,如Oobleck [162]所示。在发生故障时,受影响的流水线可以利用其他副本的部分层进行恢复,与利用整个检查点相比,这种方法的开销更小。
 5.1.2 并行性

并行性在分布式练习中起着关键作用,尤其对于大型底子模子。练习大型底子模子通常采用三种并行方式。数据并行(DP)是将数据分布到差别的工作节点,以扩展分布式练习。DeepSpeed ZeRO [326]通太过割模子状态来优化内存利用。模子并行(MP)则是在层内(张量并行 [288])或层间(流水线并行 [201, 299])对模子进行分区。张量并行(TP)可以提高练习速度,但会带来更多的通讯开销。流水线并行(PP)通过添补空闲时间来提高GPU利用率。广度优先流水线并行 [201]设计了循环放置和广度优先调度,以实现高GPU利用率和低成本。PipeFisher [299]为空闲时间分配额外工作,以进一步提拔效率。Mobius [105]专为微调设计,采用新颖的PP方案和异构内存管理。序列并行(SP)[223, 197]是针对长序列练习的趋势而设计的,当练习一个句子超出单个工作节点的内存容量时,SP将长序列分别为多个块,并分配到差别的工作节点上。在实际应用中,这些并行方式通常结合利用。Galvatron [282]可以主动确定最有用的混淆并行计谋。
 5.1.3 通讯

大型底子模子的大规模和复杂并行性导致了明显的通讯开销。我们将通讯优化分为两类:直接淘汰通讯时间和隐蔽通讯。一些研究探索了并行感知的通讯压缩 [355]和异构感知的流量淘汰 [480]。现有工作通常通过统一计算和通讯的抽象 [163]、分解原始通讯聚集 [396]或设计新颖的流水线调度 [496],将通讯与计算重叠进行。
 5.1.4 存储

大型底子模子必要大量的存储资源,例如用于存储模子状态的GPU内存、用于模子分析的主机内存以及用于数据集和检查点的磁盘空间。为了提高效率,人们提出了各种方法来缓解存储限制。卸载是淘汰GPU内存压力的常用方法。ZeRO-Offload [333]将数据和计算卸载到CPU,以便在单个GPU上练习大型模子。而FlashNeuron [26]则将选择性数据卸载到固态硬盘(SSD),以提高吞吐量。别的,Behemoth [187]用高容量、低性能的NAND闪存取代低容量、高性能的高带宽内存(HBM),以实现大型底子模子的数据并行练习。
 5.1.5 异构GPU

对于大多数人和企业来说,在专用的高性能GPU集群上进行练习是不可行的。而且,即使在专用的GPU集群中,异构GPU也普遍存在。因此,一些研究尝试在异构GPU上练习大型底子模子。Hetpipe [307]利用低性能GPU和波同步并行技术来加速练习,并在异构GPU之间同步参数。Whale [165]引入了一种硬件感知的负载均衡算法,以加快练习速度。
 5.1.6 MoE

MoE是扩展深度神经网络模子的一种有用方法。优化MoE练习系统的目标重要是提高效率和可扩展性。现有工作重要针对MoE练习中的动态相关机制并行性通讯进行优化。MegaBlocks [115]利用稀疏原语来处置惩罚动态路由和负载不均衡的计算。Brainstorm [72]是一个通过抽象动态性和基于配置文件的优化来处置惩罚动态深度神经网络的框架。FlexMoE [291]专注于动态专家管理和设备放置问题。别的,Tutel [158]设计了动态自适应并行和流水线计谋。SmartMoE [466]通过结合离线和在线机制,优化并行计谋以实现高效的MoE练习。Janus [251]将通讯从以专家为中心的范式转变为以数据为中心的范式,以加快MoE练习中的通讯速度。
 5.2 联邦学习

数据是大型底子模子的底子。联邦学习(FL)已成为利用来自多个源的数据练习底子模子的重要方法,同时确保数据隐私 [136, 446, 175]。鉴于此,人们投入了大量精力开辟专门针对底子模子的高效联邦学习系统 [176, 224]。最近的一些研究声称,大语言模子预练习的将来在于联邦学习 [341, 171]。如图16所示,我们将现有的联邦大语言模子系统分为四个重要类别:框架与基准、基于参数高效微调(PEFT)的方法、模子分解和零阶优化。
 5.2.1 框架与基准

在底子模子的联邦学习框架和基准开辟方面已经取得了明显进展。这些开源的联邦学习框架通常与底子模子集成,提供一套API,以促进各种高效的联邦学习算法。例如,Flower [3, 37]支持在树莓派5上对OpenAI的Whisper进行联邦微调。FedML [139, 242]推出了FedLLM版本,与DeepSpeed [329]等流行的机器学习平台兼容。FATE [100]旨在通过参数高效微调方法提高FedLLM的练习效率。
Federatedscope-llm [198]提供了一个用于在联邦环境中微调大型底子模子的综合包,涵盖了广泛的PEFT算法和各种加速/资源高效的操纵符。FedIT [469]通过指令调优开辟了一个联邦GPT,简化了新算法的集成,以利用边缘设备上的各种指令。Gao等人 [117]研究了将自监督学习与联邦学习相结合,重点是利用wav2vec 2.0 [28]进行语音表示。Woisetschläger等人 [414]评估了现有边缘计算系统在联邦学习中对大型底子模子的支持本领和潜力,并概述了提高边缘计算效率的步骤。Zhao等人 [485]提出将隐私保护技术(包括联邦学习、差分隐私和基于模仿器的调优)与参数高效微调PEFT)技术结合利用,以在不损害数据隐私的环境下优化大型底子模子。
 5.2.2 基于PEFT的方法

参数高效微调(PEFT)是一种为特定卑鄙任务定制大型底子模子的计谋。该过程包括冻结大型底子模子的骨干,并仅更新一小部分额外参数。PEFT旨在淘汰练习时间和通讯成本,这是联邦学习中的一个关键挑战。FedAdapter [45]提出逐步修改适配器配置,以有用地确定最有用的设置。FeS [44]将仅偏差提示学习与伪标志相结合,采用结构化课程,在最小的数据标志环境下实现了较高的正确率。FP-FL [170]引入了软标签增强的联邦调优,结合LoRA调优,以淘汰计算和通讯开销。FedPrompt [484]探索了提示学习的额外优势,特殊是其允许更大的差分隐私预算的潜力。FedPepTAO [52]提出了一种有用的部分提示调优方法,并进行自适应优化,在非独立同分布(non-IID)数据分布的环境下提高了性能和效率。Malaviya等人 [275]分析了差别非IID场景和差别客户端比例下各种PEFT方法的有用性。Petals [40]促进了大型模子的协作微调,使多个用户可以或许通过互联网整合资源并应用参数高效调优方法,如适配器或提示微调
 5.2.3 模子分解

将大型底子模子分解为几个子模子是实现实际联邦学习的一种简单而有用的方法。FedBFPT [399]采用一种计谋,即仅在客户端练习BERT的部分层,到场练习的层数逐渐增长。FedOBD [65]采取了一种创新方法,将大规模模子分解为语义块,使联邦学习到场者可以或许选择性地上传量化块到联邦学习服务器进行聚合。FedBERT [377]引入了一种联邦分割学习方法。在这个框架中,服务器为所有客户端更新Transformer层,而客户端在本地练习嵌入层和头部层。FedPerfix [362]探索了ViT模子中部分个性化的详细环境。他们进行实证评估,以权衡每种层类型对数据分布的敏感性。基于自注意力层和分类头是ViT中最敏感组件的看法,FedPerfix利用插件来促进从聚合模子到单个客户端的信息转达,以实现个性化。SplitLoRA [245]为基于分割学习的大语言模子参数高效微调提供了一个开源基准,为推进联邦大语言模子微调的研究工作奠基了底子。
 5.2.4 无反向流传方法

固然反向流传(BP)仍旧是大型底子模子的尺度练习范式,但它在联邦学习中的应用具有挑战性,重要是由于在边缘设备上计算成本高且内存开销大。零阶优化是一种替换优化方法,它仅基于函数值进行操纵,不必要显式访问基于BP的梯度信息。本质上,它在不依赖反向流传的环境下优化大型底子模子。FwdLLM [433]是一项开创性的工作,将零阶优化集成到联邦学习中。该方法利用前向梯度作为无偏梯度估计。然而,为每个参数获得准确的梯度估计必要大量的扰动。为了解决这个问题,FwdLLM结合了PEFT方法,仅更新底子模子的内在维度。FwdLLM使得在尺度移动设备上进行十亿规模大语言模子(如LLaMA)的联邦练习成为可能。FedKSeed [320]引入了一种新颖的计谋,通过利用梯度累加器来避免前向梯度传输。该方法分阶段存储标量梯度信息,并根据初始模子参数在本地计算最新的梯度。Fed-BBPT [246]采用黑盒调优方法,在本地天生高质量的指令,而无需存储整个预练习模子。BBTv2 [364]固然不是专门为联邦学习设计的,但它提出了一种无梯度的分治算法,将底子模子分解为低维子空间。
 5.3 云端服务

大型底子模子已广泛应用于许多实际场景,如搜索引擎、聊天机器人和编程工具。由于这些应用吸引了大量用户并产生了大量哀求,底子模子的服务系统必要高效运行以满足用户需求。为此,人们提出了许多底子模子服务系统,以在不牺牲模子正确性的环境下提高服务效率。在本节中,底子模子重要指大语言模子。
与底子模子练习过程差别,底子模子服务过程出现出自回归模式。详细来说,在处置惩罚哀求时,大语言模子会逐个天生token,直到天生一个特殊的EOS(序列结束)token。每个token天生迭代都将所有先前的token(包括输入token和先前天生的输出token)作为输入。
为了淘汰迭代之间的冗余计算,LightSeq [398]提出了键值缓存(KV cache)来缓存底子模子的中间状态,以淘汰冗余计算。详细来说,LightSeq缓存大语言模子中注意力层的键值对。因此,大语言模子的天生过程分为两个阶段:预添补阶段和解码阶段。预添补阶段处置惩罚哀求的所有输入token,并将中间状态存储在KV缓存中。随后的解码阶段仅必要处置惩罚与新天生的token相关的计算,并相应地更新KV缓存。我们将现有的底子模子服务系统优化分为三类:计算优化、内存优化和在新兴部署平台上的底子模子服务。
 5.3.1 推理加速

为了在单个加速器上加速计算,内核优化是一种常见的方法。为底子模子练习设计的FlashAttention [76]和FlashAttention-2 [75]可以简单地用于加速预添补阶段。然而,由于解码阶段的独特特性,Flash-Decoding [78]提出了一种特定的NVIDIA CUDA内核来加速解码阶段。FlashDecoding++ [146]通过优化解码阶段的softmax操纵和平展通用矩阵乘法(flat GEMM)操纵,进一步提高了Flash-Decoding的性能,并提供了对AMD GPU的支持。DeepSpeed-Inference [21]、ByteTransformer [468]和谷歌的PaLM服务系统 [314]也针对小批量场景优化了GPU/TPU,这种场景在底子模子服务中很常见,但在底子模子练习中很少见。当将底子模子推理扩展到大量GPU时,许多工作 [21, 314]利用各种并行计谋的组合,如数据并行、流水线并行、张量并行和专家并行。这些工作在多个现代加速器(如GPU/TPU)上高效地提供底子模子推理服务。
哀求批处置惩罚和调度是另一组提高哀求处置惩罚计算效率的方法。鉴于底子模子的自回归性子,各种哀求可能具有差别长度的输入token和输出token。仅仅通过添补将差别长度的哀求批处置惩罚在一起,会导致底子模子服务系统在添补的token上斲丧计算资源。为了解决这个问题,Orca [458]提出了选择性批处置惩罚和迭代级调度,以迭代为粒度对差别长度的哀求进行批处置惩罚,以增长最大批巨细。通过这些技术,提前完成的哀求可以在不等待后期完成哀求的环境下返回给用户,新到达的哀求可以在一次迭代完成后立即执行。许多工作也改进了哀求批处置惩罚的调度。Punica [58]进一步提出了一种分组通用矩阵乘法(GEMM)内核,以对针对差别LoRA模子的哀求进行批处置惩罚。FlexGen [351]提出了一种哀求调度算法,以减轻卸载对单GPU上对延长不敏感的底子模子服务性能的影响。FastServe [415]提出了迭代级抢占式调度和主动KV缓存交换,以减轻队头壅闭对分布式底子模子服务性能的影响。SARATHI [17]和DeepSpeed-FastGen [2]将预添补阶段的计算拆分为小块,并将这些小块与解码阶段进行调度,以减轻预添补阶段对大型底子模子服务性能的影响。Splitwise [308]根据预添补阶段和解码阶段差别的计算和内存需求,将它们拆分到差别的机器上。
 5.3.2 内存节省

大语言模子在服务过程中斲丧大量内存。为了淘汰大语言模子服务的内存斲丧,许多工作提出了各种内存管理技术。对于大语言模子的参数和激活值,当GPU内存不敷时,DeepSpeed-Inference [21]和FlexGen [351]将激活值或模子参数卸载到动态随机存取存储器(DRAM)或非易失性内存(NVMe)中。
KV缓存是大语言模子服务中的另一个重要内存组件。为了淘汰KV缓存的内存斲丧,vLLM [199]采用了块级按需内存分配机制,仅在必要时为中间状态分配内存。vLLM还提出了一种新的操纵符Paged Attention,以支持在利用这种内存分配机制时的注意力操纵。S-LoRA [350]将这一想法扩展到统一分页,以同时管理多个LoRA适配器。SGLang [490]进一步向用户公开提示编程原语,借助RadixAttention在所有哀求之间实现更复杂的KV缓存管理。
 5.3.3 新兴平台

典型的底子模子服务系统通常部署在配备大量同质高性能服务器的数据中心。由于这些高性能服务器的稀缺性和成本,也有一些底子模子服务系统专门为其他部署平台设计。SpotServe [281]尝试在抢占式实例(spot instances)上提供底子模子服务,这些实例是低成本但不可靠的云实例。SpotServe动态调整其并行计谋,以适应抢占式实例抢占的影响。对于在异构GPU上的底子模子服务,HexGen [172]利用进化算法在异构GPU上搜索高性能的底子模子放置和并行计谋。
 5.4 边缘服务

随着数据隐私问题日益受到关注,以及对响应延长的严格要求,在移动设备上本地运行大型底子模子(即设备端推理)最近引起了学术界和工业界的关注。因此,许多设备端推理优化技术应运而生。
 5.4.1 边缘 - 云协作

解决移动设备资源稀缺问题的一种常见计谋是通过强大的边缘/云服务器协作来加速密集型推理。例如,EdgeFM [444]查询大型底子模子,并根据特定的边缘模子定制知识和架构进行适配,使动态边缘模子可以或许确保低延长,同时与原始大型底子模子的正确性靠近。
 5.4.2 仅边缘

另一个重要研究方向是直接优化设备端推理。近期有一项针对设备端语言模子的研究[432] 。我们将重要技术总结如下:
设备端MoE模子

提出在推理时仅执行路由稀疏参数的设备端MoE模子,这可以淘汰计算量(详见§3.2)。EdgeMoe [454]发现推理过程中专家需动态加载到内存的问题。为解决该问题,此方法提出按专家调整比特宽度,在可接受的精度损失下减小专家参数巨细,节省参数加载时间。专家管理功能可推测将来将激活的专家,以便EdgeMoe进行预加载,淘汰I/O开销。PC-MoE [194]基于专家激活具有时间局部性这一关键观察,提出参数委员会机制,智能维护利用中的关键专家子集,以降低资源斲丧。
内存优化

由于大型底子模子通常依赖大量参数,而设备端内存资源稀缺(例如8GB),在设备上进行大型底子模子推理面临 “内存墙” 挑战。为解决此问题,LLMCad [429]利用推测解码[209],可将大部分工作负载卸载到较小的内存驻留草稿模子。LLMCad进一步提出令牌树天生和验证、自适应回退计谋以及推测天生流水线,以淘汰验证次数,并在验证过程中利用空闲处置惩罚器提高天生速度。PowerInfer [360]依赖大型底子模子的运行时稀疏性,即只有热神经元在差别输入中持续激活。为此,PowerInfer将热激活神经元预加载到GPU以实现快速访问,而冷激活神经元在CPU上计算,从而明显降低GPU内存需求和CPU - GPU数据传输量。PowerInfer-2 [442]专注于智能手机上的大型底子模子。它利用基于神经元集群的计算和分段神经元缓存,将热神经元预加载到内存以实现快速访问,冷神经元按需加载,从而淘汰内存利用并最小化I/O瓶颈.
I/O优化

由于参数巨细的增长速度快于边缘设备内存的增长速度,从磁盘动态加载参数到内存不可避免。STI [133]发现加载参数的时间远长于计算时间。为解决此问题,STI提出在加载过程中根据参数重要性动态调整权重比特宽度,在最大推理精度下最小化加载开销。Large FMs in a flash [20]通过对闪存存储进行细粒度管理,淘汰从闪存传输到内存的数据量,并以更大、更连续的块读取数据,解决了这一问题。
 内核优化

计算资源在设备上同样至关重要且有限。先前的研究[483]实现了首个基于32位整数的视觉Transformer边缘内核,并采用练习后仅整数量化技术加速推理过程。该方法还为Transformer中的激活和归一化操纵引入范围束缚量化技术,以在数据范围和推理精度之间进行权衡。mllmNPU [430]利用移动NPU实现快速的大语言模子预添补。它解决了大语言模子推理与NPU设计之间的一些固有语义差距。

大语言模子作为系统服务


近期出现了将单个强大的大语言模子(或底子模子)部署到移动设备操纵系统中的趋势,即大语言模子即服务(LLMaaS)。由于大语言模子具有天下知识和上下文学习本领,这种范式完全可行。由于内存中仅需一个大语言模子权重实例,可防止设备内存被特定应用模子耗尽。通过统一的模子架构和操纵符集,大语言模子服务可以更好地利用系统级调度增强功能(如批处置惩罚或优先级队列)和硬件加速器(如GPU、DSP或NPU)。行业示例包括谷歌的Android AICore,这是集成在Android操纵系统中的设备端大语言模子服务,被GBoard智能复兴和Pixel语音记录器等应用利用。苹果和英特尔的产物中也可观察到类似的范式。LMS [456]在移动设备上提供了这样的大语言模子即服务,并给出了详细的系统设计,如应用级API和有状态调用方法。ELMS [457]进一步指出了这种范式中的一个关键挑战,即怎样弹性化单个大语言模子以满足第三方应用所需的各种服务水平目标(SLOs)。

 6 结论与将来方向



本综述全面、系统地概述了近期关于资源高效的大型底子模子的文献。我们首先介绍了流行底子模子(包括大型、视觉和多模态模子)的初步背景和成天职析。然后深入探讨了模子架构、算法和系统设计,以实现更具资源效率的大型底子模子生命周期。将来,该范畴的研究将继续(甚至更加)至关重要,由于缩放定律包管了随着模子越来越大,人工智能将更强大,远景广阔。这类研究也是高度跨学科的,涉及多个计算机科学范畴,如机器学习、天然语言处置惩罚/计算机视觉/语音、网络、云计算、边缘计算等。
资源高效的大型底子模子的研究机会非常多,特殊是在以下方面:
(1) 云边混淆部署:为了实现无处不在、保护隐私且高可用的通用智能,许多底子模子终极将下沉到靠近用户的设备上[437, 434, 435, 477]。已经有初步尝试将LLaMA - 7B部署到智能手机和个人电脑上。杀手级应用包括个人助理/智能体[235, 411]、多模态信息检索[211]等。将来,底子模子可以或许在设备上运行的规模和速度将成为硬件供应商商业模式中的关键竞争力。
(2) 利用模子稀疏性:随着模子规模增大,对于给定任务,模子的激活比例会变小。最近的文献[264]发现,即使是密集练习的非MoE模子在运行时也体现出激活稀疏性,可利用这一特性淘汰推理时间和内存占用。我们认为,利用模子和激活稀疏性将是实现可持续模子规模扩展的有前途的方向。可能会出现比MoE更高效的稀疏架构。
(3) 大型底子模子即服务:在云和设备上,大型底子模子正在统一深度神经网络生态系统[461]。终极,它将成为一种通用服务,就像现在的网络和数据库一样被调用。一方面,这为硬件 - 算法协同设计和优化提供了机会;另一方面,它在系统和底子设施设计中对调度、负载均衡以及安全与隔离提出了新的挑战。
(4) 将智能体作为整体系统进行优化:将来,底子模子(尤其是大语言模子)将作为构建智能体的关键组件[235, 411]。其效率不应仅在单个大语言模子服务中考虑;相反,算法和系统设计必要适应特定的智能体工作流程。例如,一个智能体系统可能必要多个底子模子协同工作,它们之间存在内在的逻辑依赖。在这个过程中,为每个任务选择合适的底子模子,并在给定的硬件资源上进行调度以最大化智能体性能,其设计空间巨大。
(5) 实用的隐私保护底子模子:随着上传到云端用于底子模子处置惩罚的用户数据量不停增长,隐私问题的严峻性也相应升级。现有方法包括联邦学习、同态加密和分离学习。固然这些方法在理论上可行,但仍旧面临明显的性能挑战,拦阻了它们在实际中的大规模部署。一个有前途的方向是开辟专门为大型底子模子设计的创新隐私保护技术,或改进现有方法,以有用地均衡隐私和性能。
(6) 理解缩放定律:缩放定律推动了大型底子模子的成功,但它好像也是轻量级底子模子的一个基本限制——小规模模子不太可能比大规模模子具有更高的智能水平。理解缩放定律背后的机制和理论将有助于解释(并有望突破)这一限制。同时,设计具有更好甚至最优缩放性能的新型模子架构将是一个值得深入研究的方向。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

写过一篇

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表