论文阅读:The Unreasonable Ineffectiveness of the Deeper Layers 层剪枝与模型嫁接的“双生花”

作者实证研究了针对流行的开放式预训练 LLM 系列的简单层修剪策略,发现在不同的 QA 基准上,直到去掉一大部分(最多一半)层(Transformer 架构)后,性能的下降才会降到最低。为了修剪这些模型,作者通过考虑各层之间的相似性来确定要修剪的最佳层;然后,为了“治愈”损伤,进行了少量的微调。特别是 PEFT 方法,尤其是量化和低秩适配器(QLoRA),这样每个实验都可以在单张 A100 GPU 上完成。

从实用的角度来看,这些结果表明,层剪枝方法一方面可以补充其他 PEFT 策略,进一步减少微调的计算资源,另一方面可以改善推理的显存开销和生成时延。从科学角度看,这些 LLM 对层删除的鲁棒性意味着,要么当前的预训练方法没有正确利用网络深层的参数,要么浅层在存储知识方面起着关键作用。

方法

作者在论文中写道:移除层的直觉来自于将表征视为层索引的缓慢变化函数,特别是 transformer 层与层之间的表征变化由一个残差迭代方程给出:
x ( l + 1 ) = x ( l ) + f ( x ( l ) , θ ( l ) ) x^{(l + 1)} = x^{(l)} + f(x^{(l)}, \theta^{(l)}) x(l+1)=x(l)+f(x(l),θ(l))

注意:现在的 LLM 大都是 pre-norm 形式,具体原因可参考苏神的博客 为什么Pre Norm的效果不如Post Norm?

其中, ( x ( l ) , θ ( l ) ) (x^{(l)}, \theta^{(l)}) (x(l),θ(l))分别是层 ℓ 的多维输入向量和参数向量, f ( x , θ ) f(x, \theta) f(x,θ)描述了一个多头自注意和 MLP 层的变换。与任何残差网络一样,如果展开这一迭代,就会发现在总共 L 层之后,输出被描述为所有层的变换之和。

x ( L ) = x ( 0 ) + ∑ l = 0 L − 1 f ( x ( l ) , θ ( l ) ) , (2) x^{(L)} = x^{(0)} + \sum_{l=0}^{L-1} f(x^{(l)}, \theta^{(l)}), \tag{2} x(L)=x(0)+l=0L1f(x(l),θ(l)),(2)

如果总和中的项很多(L >> 1),而且相互独立,例如,如果块(transformer block)函数是整个输入的函数 f ( x ( 0 ) , θ ( l ) ) f(x^{(0)}, \theta^{(l)}) f<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值