读论文:Long Exposure: Accelerating Parameter-Efficient Fine-Tuning for LLMs under Shadowy Sparsity
本文最后更新于:2025年1月6日
- 发表会议:SC 2024
- 作者:Tuowei Wang, Kun Li, Zixu Hao, Donglin Bai, Ju Ren, Yaoxue Zhang, Ting Cao, Mao Yan
- 单位:Microsoft Research and Tsinghua University
概述:
- 利用稀疏性加速大语言模型微调
问题
为了更好地处理特定的下游任务,通常需要微调现有的大模型。为了减少微调的时间,可以冻结原有的模型参数,加入一些新的层,只更新新加入的参数:parameter-efficient finetuning (PEFT),比如LoRA。相比全量微调,LoRA将可训练参数数量减少到1%以下。
但是训练参数量的下降与减少的时间相比不匹配,现在的瓶颈在于前向和反向,也就是说LoRA并不省计算,只节省了更新参数的步骤。
如何利用稀疏性加速这一过程?
- 推理时只有前向
- 可以数学上证明前向的稀疏性也存在于反向阶段
挑战
如何捕捉微调过程中的稀疏性
一般推理时只用处理一个 token,而微调时同时处理多个token,相当于激活的权重是单个token的并集。
这样稀疏性会被掩盖,作者将其命名为Shaodwy Sparsity
之前的工作缺乏对per head和per token不同稀疏性的利用。
下面的问题就是如何高效准确地预测稀疏性和根据稀疏性提高性能。
Long Exposure
Long Exposure包括两部分,Predictor和Operator
核心是对于给定的输入,为每个注意力头独立确定最佳的稀疏掩码,根据不同的稀疏模式调用不同的稀疏算子。
MLP部分与之类似,确定每个token的稀疏模式
Predictor
效率
Attention:作者设计了一个神经网络,用来估计原始网络的输出值。
MLP:使用神经网络预测某一行/列可能被激活
小于给定值的视为不激活(图中轻橙色)
正确性
预测器使用推理时的数据离线训练,在微调的时候可能产生数据偏移。
为了减小误差
- 训练的时候增加噪声
- 更注重recall而不是precision(预测稀疏性的时候多预测激活的神经元比遗漏更好)
DYNAMIC-AWARE OPERATOR
Attention的稀疏性可以由几种基本的稀疏模式组合得到,所以可以在计算之前得到矩阵的布局并做相应的转换,在正式计算的时候组合起来。
MLP的优化相对简单,按照行/列的粒度加载和计算。
性能测试
作者测试了端到端的微调性能,速度和内存占用上都有一定的优势。