微软亚洲研究院新研究:Q-Sparse 实现模型完全稀疏激活,大幅降低推理成本

   日期:2024-07-18     来源:网络整理    作者:二手钢材网    浏览:218    评论:0    
核心提示:只需激活60%的参数,就能实现与全激活稠密模型相当的性能。在微调实验中,对于Qwen-7B和Mistral-7B两种模型,Q-Sparse显示出了与继续训练相似的结果,用60%左右的激活参数实现了与密集模型十分接近的表现。

微软亚洲研究院的一项新研究实现了模型的完全稀疏激活,大大降低了推理成本。

它还具有广泛的适用性,无论是从头训练,持续训练还是微调,都能提供有效的支持。

_微软操作系统激活_同款手机性能有区别吗

这种方法称为Q-,在神经元级别实现模型稀疏化,相比于其他方法粒度更细,在相同推理成本下具有更优的性能和稀疏率。

名称中,Q指的是(量化),意味着除了普通模型外,还兼容量化技术,适用于各种量化方式的模型。

作者进一步表示,如果Q-与模型量化技术相结合,可以实现更大的成本降低和效率提升。

此外,团队在研究Q-的同时,还深入探索了参数规模、稀疏率与模型性能之间的关系,发现了一条适用于模型推理优化的“定律”。

有网友认为,这个技术确实不错,比ReLU更好。

微软操作系统激活_同款手机性能有区别吗_

也有人开始许愿,说如果(AMD的)ROCm能够比更快地支持这项技术就好了。

同款手机性能有区别吗_微软操作系统激活_

使用Top-K函数实现稀疏性

Q-的核心操作是将Top-K稀疏化函数应用于输入张量。

具体来说,该架构在注意层和前馈层中都使用 nn. 层(矩阵乘法)进行投影,可以表示为 Y=X·W^T。(其中 X 是输入张量,W 表示其权重,Y 是输出张量)

在Q-中,对于一个输入激活张量X,首先计算它的绝对值|X|,并对其进行排序,找到绝对值最大的K个元素。

这里 K 是一个预设的超参数,决定了稀疏化的程度。

Q-随后会创建一个与X形状相同的二元掩码张量M,对于一系列|X|中绝对值最大的K个元素所对应的位置,将其在M中的对应位置设置为1,其余位置设置为0。

接下来,将输入张量 X 与掩码张量 M 相乘(逐元素乘法),得到稀疏张量。

在前向传播过程中,稀疏张量会代替原始输入张量X参与后续计算(例如矩阵乘法)。

由于中的大多数元素已设置为零,因此计算和内存带宽要求可以显著降低。

同款手机性能有区别吗__微软操作系统激活

在反向传播过程中,Q-采用直通估计器(-,STE)计算Top-K函数的梯度。

在传统的训练方法中,通常需要计算损失函数关于网络参数的梯度,并利用梯度下降法更新参数,使损失最小化。

然而当网络中存在量化、Top-K等一些不可微的操作时,梯度的计算就会遇到问题,因为这些操作的输出对于输入的梯度在大多数点上都为0,导致无法有效地传播梯度。

STE 通过在稀疏化之前将梯度直接传递给张量来避免梯度消失问题。

一般反向传播中,损失函数L关于x的梯度为∂L/∂x=∂L/∂y⋅∂y/∂x,但由于其不可微性而无法直接计算。

STE的解决方案是,只针对稀疏张量y计算损失函数的梯度,然后直接复制到原张量x上,即直接将∂L/∂y作为∂L/∂x的估计。

微软操作系统激活__同款手机性能有区别吗

对于前馈层,Q-使用平方的ReLU函数代替常规的ReLU激活函数。平方运算可以进一步提高激活的稀疏性(⊙表示乘积)。

此外,为了适配量化模型,Q-在应用Top-K稀疏化之前会对输入张量进行量化,以保证稀疏化操作与量化表示兼容,其函数表示如下:

_同款手机性能有区别吗_微软操作系统激活

这里,ε 是一个小常数,用来避免分母为零。

具体来说,对于 1 位量化权重,Q 使用以下量化函数,其中 α 是权重张量 W 的平均绝对值。

60% 激活参数达到相同效果

对比实验表明,Q-无论从稀疏率还是模型性能上,都明显优于之前的ReLU方法。

同款手机性能有区别吗_微软操作系统激活_

关于Q-的具体效果,作者在三个任务上评估了其表现:从头训练、持续训练和微调。

重训练实验使用的模型是Llama,结果显示在700M和7B模型上,使用70%top-K(即整体稀疏度为40%)的Q-CNN可以取得与dense相当的训练损失。

微软操作系统激活_同款手机性能有区别吗_

继续训练的目的是让密集的模型变得稀疏起来,这里的实验对象是-7B。

结果发现,当激活参数分别为2.9B和3.8B时,模型在ARC、MMLU等数据集上的分数并没有明显下降。

_微软操作系统激活_同款手机性能有区别吗

在微调实验中,无论是 Qwen-7B 还是 -7B 模型,Q- 都表现出了与持续训练相似的结果,在激活参数约为 60% 的情况下实现了与密集模型非常接近的性能。

微软操作系统激活_同款手机性能有区别吗_

这些结果意味着,在相同性能的情况下,与密集模型相比,稀疏激活模型可以显著减少激活参数的数量,从而减少推理过程中消耗的 FLOPS 数量。

在量化模型方面,团队将Q-应用于自主研发的b1.58模型,并在多个数据集上进行训练和评估。

可以看出,在700M和7B规模下,使用Q-的量化模型的收敛速度和最终的损失函数值与不带Q-的量化模型相当(b1.58)。

这表明Q-可以无缝集成到量化模型中,而不会显著影响模型的训练和收敛。

基于此,作者认为将Q与量化技术相结合可以进一步提高大型语言模型在推理阶段的效率。

同款手机性能有区别吗__微软操作系统激活

发现推理优化的新“规律”

除了评估这些模型在使用稀疏激活时的性能之外,作者还探索了模型性能、规模和稀疏性之间的关系,并取得了一些新的发现。

稀疏激活模型的性能缩放规律:作者发现,与密集模型类似,稀疏激活模型的性能也遵循幂律缩放关系。

具体来说,给定稀疏率S,模型收敛时的损失函数值L(N,S)可以用以下公式近似:

同款手机性能有区别吗__微软操作系统激活

其中 N 是模型参数的数量;E 是一个常数,表示模型在无穷远处的损失;A(S) 是与稀疏率 S 相关的缩放因子。

该缩放定律表明,稀疏激活模型的性能随着模型尺寸的增加而提高,但提高的速度逐渐减慢。

微软操作系统激活__同款手机性能有区别吗

同时作者发现模型的性能也受到稀疏率的影响。

在参数大小与性能关系一节提到,A(S)是与稀疏率S相关的缩放因子,可以通过以下公式近似计算:

同款手机性能有区别吗_微软操作系统激活_

其中B和C是常数,β是控制指数衰减速度的参数。

这个公式说明的是,当稀疏率S增大(模型变得更稀疏)时,意味着更高的稀疏率会导致性能的下降,而且下降的速率是指数的。

微软操作系统激活_同款手机性能有区别吗_

基于上述发现,作者推导出一个用于推理的最优稀疏率 S*,当预算(推理过程中的浮点运算次数)不变时,该稀疏率 S* 可以最小化模型损失函数的值。

对于全精度(FP32)模型,最优稀疏率约为45.58%;而对于低精度(如1.58位)模型,最优稀疏率较高,约为61.25%。

_微软操作系统激活_同款手机性能有区别吗

作者观察到,随着模型尺寸的增加,稀疏激活模型和密集模型之间的性能差距逐渐缩小。

这可以从缩放定律中解释:当模型规模N趋向于无穷大时,稀疏激活模型的损失函数值趋向于L(∞,S)=E,而密集模型的损失函数值趋向于L(∞,0)=E。

这意味着在极大规模下,稀疏激活模型有可能实现与密集模型相当的性能,为设计和训练大规模稀疏激活模型提供了有用的参考。

论文地址:

本文来自微信公众号“量子比特”,作者:,经授权36氪发布。

 
打赏
 
更多>同类资讯

0相关评论
推荐热播视讯

推荐视频

    Copyright © 2017-2020  二手钢材网  版权所有  
    Powered By DESTOON 皖ICP备20008326号-2