Atman视线无需辅助模型的快速LLM推理
作者: Atman语言智能 来源: Atman语言智能
01
摘要
推测解码是一种基于辅助草稿模型的预测来加速大型目标语言模型推理的重要技术。虽然在特定于应用程序的设置中有效,但它通常需要微调草稿模型和目标模型以实现高接受率。随着下游任务数量的增加,这些草案模型显着增加了推理系统的复杂性。我们提出了 Speculative Streaming,这是一种单模型推测解码方法,通过将微调目标从下一个 token 预测更改为未来的 n-gram 预测,将绘图融合到目标模型中。推测流在摘要、结构化查询和含义表示等各种任务中将解码速度提高 1.8 - 3.1 倍,而不会牺牲生成质量。此外,推测流是参数高效的。它实现了与 Medusa 式架构同等/更高的速度,同时使用的额外参数减少了大约 10000 倍,使其非常适合资源受限的设备。
02
引言
大模型是当今卓越的语言工具建模。这些型号的质量随着时间的推移而提高规模,导致引入最先进的数十亿参数模型。虽然这些模型非常有效对于令牌生成,由于需要将模型及其瞬态加载到为每个随后生成的令牌计算存储器。此外,扩大这些模型的规模,除了制作每一个调用更密集的计算,也使它们的自动生成内存受限,阻止它们有效利用可用的计算。
这对部署大型自回归模型,尤其适用于具有严格延迟要求的面向用户的应用程序。给定大型语言模型的记忆约束性质(LLM)推理,最近的工作提出了推测解码作为一种有效的基于概念的tive加速解码技术借用了推测计算利用可用的额外计算。投机者的核心活动解码是推测多个候选的想法先验证未来的令牌,然后在paral中验证所有令牌。
为了实现这一点,
如图1(a)所示使用了范式方法:一个小型辅助“草稿”模型用于候选推测和大型“目标”模型验证。Al尽管在加速LLM方面有效,但推测解码使部署复杂化。训练也变得更加要求苛刻且复杂,作为一个单独的草案模型需要以进行训练并与目标模型对准。它也是资源效率不高,需要在mem中托管两个模型。这种增加的占地面积是尤其是对于资源受限的设备来说是不令人满意的。
在本文中,我们提出了推测流无辅助模型的快速LLM推理模型推测解码方法,将推测和验证统一起来,不需要单独的草案模型,如图1(b)所示。这是通过以下方式实现的将多流注意力合并到目标模型中以执行作为未来候选者的n-gram预测投机因此,正向模型通过可以验证先前生成的代币,同时推测未来的代币。此外,与之前相比方法,推测流是端到端训练的,自然调整推测和验证阶段。
同时使系统更加简单和资源化高效的推测性流媒体实现了可与两阶段推测性解码相比的加速,而不会降低各种类型的质量指标一组下游任务。这也会导致与标准杆持平或更好比最近的逐块解码模型更快,Medusa,它引入了多个附加的高维预测头。
此外,Specu lative Streaming所需的额外参数比Medusa少10000倍,这使其成为理想的用于资源受限设备的方法。
总之,推测流的优点如下跟随:
–通过精简的微调和消除对单独草案模型的需要,实现大幅加速。
–减少10000倍,展示资源效率与while相比的额外参数实现更好的加速,所有这些都不会影响各种任务的质量。
–通过消除需要管理、调整和在两个模型之间切换在执行期间,如中所观察到的。
03
相关工作
大型语言模型的推理通常受到以下限制自回归解码的序列性质,其中每次生成令牌都需要一个完整的网络转发通过。已经提出了几种方法来解决直接使用的大型语言模型的高推理延迟从而减少LLM的存储器占用。模型量化知识蒸馏到更小的模型和修剪都是这些技术。
最近,推测解码(SD)已经成为一种至关重要的技术加速自回归解码的技术。最初的推测解码方法利用了较小的LLM(又名。草案模型),以生成令牌的候选序列以供目标模型验证。有一个调整良好的草案模型,该技术可以实现2-3x的推理加速。最近的SD变体提出了沿着批处理轴,以及树结构批处理通过目标模型提高猜测代币的接受率,以及以进一步提高性能。然而,这些方法遇到一个共同的局限:发展的必要性准确和独立的草案模型。
第一,培训这样一个与主模型一致的草案模型并非微不足道。
其次,托管两个不同的模型会增加系统的复杂性,并且计算量更大并且操作上维护成本高。最近,单一模式的投机也被考虑在内。特别是受到扩展了主要模型通过训练多个输出头来并行预测未来的代币。
虽然它不需要模型草案,但每个美杜莎头部尺寸(隐藏尺寸×人声尺寸)要求不可协商的附加参数。自回归生成通常遵循内存限制计算模式,大量的额外参数引入资源受限设备上的部署挑战。或者,前瞻性解码提出了一种无需学习新参数的并行解码方法。
它使用Jacobi解码和n-gram历史轨迹缓存以生成和验证未来的n-gram预测。不同地推测流通过学习一组令牌嵌入来实现n-gram生成,并通过以下方式加速解码同时进行推测和验证。尤其是我们的方法可以实现更好的加速与现有参数相比,额外参数的数量更少推测性解码方法,同时简化设备部署。
04
方法
4.1
大多数推测性解码方法在草案和目标模型的训练过程中表现出明显的分离。然而,直接使用10的现成草图模型会导致许多下游应用中的性
能欠佳。当草图模型和目标模型不一致时,推测的标记经常无法验证目标模型。为了实现改进的加速,有必要在下游应用程序上微调草稿
和目标模型。我们的目标是设计一个端到端可训练的单模型框架,能够同时预测下一个令牌和推测未来的令牌。这消除了辅助性草案模型
的需要,同时实现了与 (Leviathanet al.,2023)
中报告的相似的加速。我们的目标是通过增加自回归大模型呼叫的算术强度而不影响发电质量来达到这一速度
图2:体系结构:我们用多流注意力(MSA)取代了基础模型的顶部Ns多头注意力(MHA)层如(2)所述的层。推测流使用N−Ns层的隐藏状态和流标识符嵌入(SE)进行初始化,
如(3)所述,并用于生成树形式的推测草案。上一次迭代的推测树草案是批处理以进行验证,并在插入流之前进行修剪。在每次前向传递过程中,验证先前的树草案,并生成新的树草案使用3.2.2中所述的推测流发布
4.2
我们提出了推测流,以实现下游应用程序上仅解码器模型的参数有效推测微调和推理。与…相比标准草案目标推测解码和最近提出的分块去编码,推测流引入以下修改。(a) 推测流设计和第3.2.1(c)节所述的初始化并行如第3.2.2(d)节所述的推测和验证第3.2.3节和最后(e)第3.2.4节所述的培训目标。
4.2.1. 流设计和初始化
仅解码器预训练语言模型的参数有效微调涉及训练低秩在给定上下文令牌的情况下预测下一个目标令牌yt的适配器(x1….xm)和前一个目标令牌(y1..y<t)。固有地嵌入未来的概念
令牌规划,我们将tar-get模型的训练目标从下一个令牌预测修改为n-gram预测使用多流注意力的概念。此目标允许模型进行规划用于未来的令牌,并防止局部相关性上的过度拟合。此外,当模型是内存绑定的。具体来说,每个添加的流预测
其中
而
流预测。我们指的是多头注意力机制在中描述为主流自关注并引入γ附加自关注流来推测未来代币。主流的注意力机制与标准的多头注意力。
Mtk表示层处主流的隐藏状态k和时间步长t,MHA(H,H,H)表示注意力在查询HWQ、关键字HWK和值HWV之间如所述。另一方面,每个在时间步骤t处的推测流j关注先前的主流隐藏状态以及推测流隐藏状态为:
其中Mtk+1和Stk+1表示主要和推测在时间步长t和层k处的流。最后的隐藏状态变压器层N,MtN用于预测yt,而最后一层的每个推测流,SNtj预测yt+j。我们参考中包含注意力机制的层方程(1)作为MHA层,而层结合推测流注意力方程(2)被称为MSA层。
主流隐藏状态的键/值投影为在推理期间缓存以避免重新计算,推测流注意力是专门为避免存储与关联的附加密钥/值投影单个流。这是因为推测流被训练从主流中学习上下文特征关键/价值上下文允许我们不引入额外的缓存开销,并在的内存范围内操作推理期间的资源受限设备。我们初始化推测流在N−Ns层的隐藏状态,而不是从嵌入层初始化它们,其中Ns<N。具体地,在时间t处的流j被初始化为层N−Ns为,
其中Pj是嵌入了流的相对位置感和区分来自主流的计算。fη是秩η变换主流隐态的线性变换进入推测流隐藏状态。此初始化有助于减少每次前向传递的计算量,因为只有主流需要通过N−Ns层,而推测流通过最后的Ns层,通过(N−Ns)/N,从而有助于设备的峰值功耗。就前向传递延迟而言,FLOP当模型是内存时,贡献不大然而,正如我们在第3.2.2节中所描述的,我们使用额外的令牌来使模型计算有界,因此降低FLOP变得至关重要。初始化具有中间-上部变压器层的隐藏状态可以也有助于将未来代币预测为M(N−Ns)它本身包含高级上下文特征,以帮助对未来n-gram的预测(Pal等人,2023)。我们还试验了基于值旋转的流设计不需要标识符嵌入,并且不会产生如B中所述的参数开销。
4.2.2.平行推测与验证
在标准草案中,目标推测解码,推测和验证过程发生按顺序。草稿模型等待目标模型以在生成下一个草稿之前发布更正。这个目标模型还需要等待推测草案生成。推测性流媒体使这个过程通过并行化推测和验证来提高效率。
在每个正向过程中,上一次生成的拔模斜度验证步骤,并生成一个新草稿,如中所示图2:例如,在步骤s中,如果草稿标记(~y1..y~δ)
当0<δ≤γ时,主流Mδ用于从推测流中发布更正令牌和logitsSδ(1…γ)用于生成步骤S+1的拔模斜度。
而不是使用推测代币的线性序列验证,我们从主流和规范流中采样一棵令牌树,这样树中的每条路径都是可能的验证候选者。树状绘图允许接受最长的匹配候选序列和更多的令牌可以
在每次向前传球时被推进。创建一棵树草稿,而不是从推测的logits中采样1个令牌流,(z1…zγ),我们对前k个令牌进行采样并形成一个树的采样令牌,如图2所示,使得令牌从流n采样的是采样的令牌的前身来自流n+1。我们处理一个推测性的树状草图一次向前传球中的标记,通过增加注意力掩码,使得树中的每个节点关注其前身。k之间的注意掩码从流j、y~jk和第m个令牌的logits采样的th到ken从流n的logits采样,y~nm为
有关更多详细信息,请参阅图8。值得注意的是对于固定的γ和k,注意力掩码保持不变在每个前向通道中,并实现有效的批处理。
4.2.3. PARALLEL TREE PRUNING
其中一个问题是天真地创造了一个投机树草案是,从每个流中提取的k个令牌之间的每个排列都需要被认为是可行的下一次验证通过的推测候选。对于实际情况,从每个γ流中采样k个令牌会产生结果尺寸为1+Pγ的树吃水深度g=1 kg。此外,每个draft令牌在中与γ推测流进行批处理MSA分层以确保生成下一个草稿发生在同一正向传递中,导致批量大小的(1+γ)*(1+Pγg=1 kg). 随着批量大小的增加,tar-get模型推理变得受计算限制,从而避免了采样更多令牌的延迟优势。我们减轻通过引入并行树拔模修剪来解决这个问题层,它从输入树中修剪一些标记基于父和之间转换概率的草稿直接子令牌。获取转换概率在不使用代理模型的情况下,我们使用基于早期退出的技巧具体来说,主流的隐藏状态在第l层,Ml通过低阶线性变换oθ,其中阶θ通常设置为值如8以保持参数开销较小。我们使用原始语言建模头,H以获得早期退出对数its,z~=H(oθ(Ml). z~pc用于近似过渡父令牌p和子令牌c之间的概率修剪层可以插入网络中的任何点,受前向通过延迟和修剪精度。早期插入可减少延迟,但存在风险修剪潜在有价值的令牌。相反,后期插入保留了更多的“好”代币,但代价是增加了前向传递延迟。在所描述的所有实验中在第4.1节中,我们根据经验在规范流插入之前插入修剪层。更多详细信息可以如图7所示。
4.2.4 培训目标
为了有效地生成未来的n-gram,我们对基数进行了微调对下一个代币的预测损失进行联合建模γ未来代币作为
其中α0和αj是根据经验设置的,用于归一化损失下一个代币和推测代币预测。可以训练第3.2.3节中描述的树木修剪适配器关于下一个令牌预测损失,或者与主要和推测流或流的后训练。训练时间因MSA层数而异但与风格的方法相当Ns=4。对于4中描述的实验,我们的配方包括在下游训练5个时期的LoRA适配器BFloat16中的数据集,使用AdamQ优化器,一种学习5e-4的速率和线性调度器。有关树木修剪(请参见第3.2.3节),我们使用的低阶线性变换对8进行排序以保持参数开销最小。
05
实验
我们在各种规模的预训练模型和一组不同的下游应用程序上评估我们的方法。
数据集。 我们在一系列对设备上人工智能助理至关重要的应用程序上测试我们的方法,即结构化查询、文本摘要和含义表示。我们特别选择微调设置,因为共享基本模型并为面向用户的应用程序使用特定于应用程序的适配器已经成为一种规范。我们使用Di-alogsum数据集进行文本摘要,从WikiSQL构建的sql创建上下文数据集和天基信息平台查询和e2e-nlg数据集用于平均表示。
型号配置。 我们测试了四种不同的开源各种规模的模型,Phi(1.3B)(Li et al.,2023)、开放式美洲驼(7B)和OPT)。我们将我们的方法与标准草案目标推测解码和单模型推测解码框架,美杜莎。对于标准草案目标方法,我们使用OPT-125m可用的开源OPT模型作为草案模型。
与美杜莎风格相比的基线方法,我们使用预先训练的基础模型和LoRA 32级适配器和美杜莎头作为基线,并使用相同的推测流
基本模型、流嵌入和LoRA适配器目标美杜莎的头部按照中所述的配方进行训练。美杜莎的头和最大流的数量固定为4,并且残差
在Medusa中使用的每个头部的块数设置为1。用于比较具有标准草案目标推测解码,我们使用OPT模型,因为它们具有不同的配置和尺寸。OPT-125m作为将OPT-1.3b和OPT-6.7b用作目标时的草稿模型,因为10-100X的比率通常被认为是最优的注意,与目标模型类似,只有LoRA草稿模型的适配器在下游进行了微调应用程序,因为在上微调整个草稿模型每个下游应用程序在设备上都不实用设置。此外,LoRA微调往往达到标准性能到全模型微调。
5.1 结果
5.1.1 概述
我们报告了在单个Nvidia上使用1的批量进行测试拆分时的壁时间加速和生成质量满足rics100-80克GPU。使用在float16中执行推理贪婪采样并且T=0。请参阅附录A.2更多的实验细节和附录B关于顶部k采样和T=1的烧蚀。我们使用精确匹配(EM)结构化查询任务的准确性度量,以及对话框摘要的Rouge1/RougeLSum度量和意义表示任务。我们使用1/6的N/N用于结构化查询任务,1/2用于摘要以及意义表示任务。选择Ns是为了确保生成度量与基线持平。的详细信息Ns对生成度量的影响见第4.2节。
表1显示了标准自回归解码基线Medusa和我们的方法之间的比较在加速、呼叫减少率和数量方面的额外参数。我们发现,在各种下游任务中,推测流的壁时间加速和呼叫减少率始终处于同等水平/更高水平与美杜莎相比,同时产生的参数明显较小开销此外,如表2所示,我们的方法实现了比标准方法更好的壁时间延迟草案目标推测解码,因为
两种方法之间的目标调用数量不多足以抵消自回归绘图开销。所有墙时间延迟都是使用的开源版本报告的上提供的模型,并且可能进一步优化草案和目标模型使用高效推理技术或量化(int4/8)可以导致更低的延迟。最后,值得注意的是我们方法的生成度量与LoRA微调的基础模型一致,使其成为基于下一个令牌预测的微调的极好替代方案。
5.1.2 分析和见解
在没有辅助模型的情况下,美杜莎头部生成每个独立于最后一个的共享隐藏状态的令牌层,以及预测的推测令牌之间的依赖关系由美杜莎首领预测y(t+1..t+γ)和下一个记号yt在时间步长t的基础模型可能不能很好地捕捉因为不涉及注意力机制。另一方面手,推测流关注主流和每一个另一个,捕获令牌依赖关系,从而获得更好的呼叫减少率高于美杜莎。在参数方面,每个美杜莎头增加大约h2+hv参数,其中h是隐藏大小,v是词汇大小。数字美杜莎头的长度也与γ成线性关系推测窗口,这反过来又增加了参数与γ成线性关系。另一方面,投机流式处理使用的推测适配器与不可扩展γ. 尽管流标识符嵌入的尺度为γ,与每个嵌入相关联的参数开销是线性到h。此外,在微调设置中“推测适配器”参数与基本模型适配器共享,因此,与我们的方法相关的参数开销只是γh。具有辅助模型的推测流一致性
实现了比标准草案目标更低的墙时间延迟推测解码,如表2中所示。这是值得的注意到,目标模型调用草案目标推测解码低于推测流,然而,它以自动回归运行草稿模型γ为代价生成推测草案的时间。另一方面,草案使用推测流生成几乎不会产生随着目标模型解码的趋势,额外的延迟开销即使在增加了树草稿大小的情况下也是内存绑定的。这意味着提高了内核利用率和算术运算能力强度如图3所示。基于草案的方法另一方面由于自回归绘图的记忆约束性质。可以提出一种论点,即较小的模型草案可能会表现得更好,因为绘图成本应该更低,但验收率可能会随着草图模型尺寸的减小而下降低。
为了将与标准草案目标推测解码的比较形式化,我们进行以下分析,比方说,Cdraf t是与正向相关的延迟成本,通过草案模型,Ctarget是相关的成本具有前向直通目标模型,而Css是成本与推测性流向前传递相关。ζ是验证期间推进的解码令牌数草案目标方法的步骤,而β是数字推测流中高级令牌的数量。我们把与单个令牌前进到相关的延迟成本比较两种方法。
假设γ=4,Ctarget/Cdraf t=10,Css≈Ctarget,ζ=1.4β,意味着每个veri的进步标准草案目标方法中的验证步骤必须是1.4X的推测性流媒体以实现墙时间延迟对等请注意,
此分析忽略缓存调整开销和提示处理开销,但提供指导草案目标之间选择的宝贵直觉与推测性流媒体方法。我们还分析了推测流媒体可能提供的设置与标准草案目标方法相比,有更多的好处。图4显示了推测的理论加速针对不同Tar到草稿延迟比率的基于草稿目标的流式传输方法。随着等待时间比率的增加,草案目标方法可能会提供更多的加速当ζ/β>1时受益,这意味着当模型草案足够准确,可以根据目标模型验证步骤多于推测流而且足够小,可以产生更高的延迟率可能受益更多。发现/创建这样一个模型通常需要大量的工程工作。在下游应用程序设置,找到理想的草图模型甚至更具挑战性,因为ζ往往会根据应用而变化。如果应用程序共享草稿模型并且仅训练适配器,草稿模型可能不够小,无法达到目标与草稿的延迟比,使其具有挑战性实现比推测流媒体更多的加速。
5.2 消融
推测草稿大小。提高的接受率在树的草稿中,我们尝试了γ的各种设置推测位置,以及k,采样代币的数量每个投机头寸。图5显示了壁时间加速γ=3时。随着我们从每个推测位置采样更多的代币,每次向前传球的推进,β增加由于有更多的候选人可供验证加快速度。但是随着我们继续增加k,由于模型转换到计算绑定阶段,并且加速使路线倒转。这是因为天真地形成树形草图会导致批量呈指数级增长k如3.2.3所述。我们插入一个树木修剪层删除不太可能的路径并减小树的大小草稿修剪树拔模可以减少前向传递延迟经过良好校准的阈值确保这棵树被修剪了。修剪树木往往有助于缓解疲劳如图5所示,随着k的不断增加而加速。
MSA层的数量涉及权衡在决定要合并的MSA层的数量时下游发电指标、训练时间和FLOP增加。当我们增加MSA层的数量时,生成度量改进,并且这一趋势保持不变在不同的下游任务中也是如此。通常情况下,在顶部的2-8层中使用非用途评级MS可以提供良好的权衡在指标之间,FLOP增加和训练时间。图形6显示了OPT-1.3b型号的发电性能关于结构化查询和摘要任务。
06
结论
在本文中,我们提出了推测流,一种方法以加速大型语言模型的解码。相比与标准的推测解码方法相比,Specu lative Streaming消除了对辅助“草稿”的需要模型相反,它通过以下方式将猜测和验证统一起来有效地将多个推测流融合到一个单一的“目标”模型中。推测性流媒体简化了微调过程,实现同等或更好的加速以及与以前的方法相比的质量。它也是参数高效,无需加载两个将模型放入内存,使其成为一种适合的方法资源受限的场景。
公众号:Atman语言智能
售前与商务合作:[email protected]
售后与问题咨询:[email protected]
苏州公司:苏州市工业园区金尚路仙峰大厦南楼5层
北京公司:北京市海淀区北四环中路智优沃大厦4层
更多AI工具,参考Github-AiBard123,国内AiBard123