当前位置: 首页 > 科技观察

这种高精度低资源消耗的大规模模型稀疏训练方法已经找到了

时间:2023-03-21 20:31:37 科技观察

近日,阿里云机器学习PAI关于大规模模型稀疏训练的论文《Parameter-Efficient Sparsity for Large Language Models Fine-Tuning》被顶级会议IJCAI2022录用关于人工智能。论文提出了一种参数高效的稀疏训练算法PST。通过分析权重的重要性指标,得出其具有低秩和结构性两个特点。根据这个结论,PST算法引入了两组小矩阵来计算权重的重要性。与原始矩阵需要和权重一样大来保存和更新重要性指标相比,稀疏训练需要更新的参数数量大大减少。与常用的稀疏训练算法相比,PST算法仅需更新1.5%的参数即可达到相似的稀疏模型精度。背景近年来,各大公司和研究机构提出了多种大型模型。这些大模型的参数从百亿到万亿不等,甚至出现了十万亿的超大模型。这些模型需要消耗大量的硬件资源进行训练和部署,这使得它们难以应用。因此,如何减少大型模型训练和部署所需的资源成为一个亟待解决的问题。模型压缩技术可以有效减少模型部署所需的资源。稀疏排序去除了一些权重,使得模型中的计算可以从密集计算转换为稀疏计算,从而减少内存占用,加快计算速度。同时,与其他模型压缩方法(结构化剪枝/量化)相比,稀疏性在保证模型精度的同时可以达到更高的压缩率,更适用于参数较多的大型模型。挑战现有的稀疏训练方法可以分为两类,一类是基于权重的无数据稀疏算法;另一种是基于数据的数据驱动稀疏算法。基于权重的稀疏算法如下图所示,比如magnitudepruning[1],它通过计算权重的L1范数来评估权重的重要性,并据此生成相应的稀疏结果。基于权重的稀疏算法计算效率高,不需要训练数据,但计算出的重要性指标不够准确,影响了最终稀疏模型的准确性。基于数据的稀疏算法如下图所示,比如movementpruning[2],它计算权重与对应梯度的乘积作为衡量权重重要性的指标。这类方法考虑了权重对特定数据集的影响,因此可以更准确地评估权重的重要性。但是,由于需要计算并保存每个权重的重要性,这类方法往往需要额外的空间来存储重要性指标(图中的S)。同时,与基于权重的稀疏方法相比,计算过程往往更加复杂。随着模型尺寸变大,这些缺点变得更加明显。综上所述,以往的稀疏算法要么高效但不够准确(基于权重的算法),要么准确但不够高效(基于数据的算法)。因此,我们期望提出一种高效的稀疏算法,能够准确高效地对大型模型进行稀疏训练。基于数据的稀疏算法的问题在于它们通常会引入与权重相同大小的额外参数来学习权重的重要性,这让我们思考如何减少引入的额外参数来计算权重的重要性。首先,为了最大限度地利用现有信息来计算权重的重要性,我们将权重的重要性指标设计为如下公式:即我们结合无数据和数据驱动的指标来共同确定重要性最终模型的权重性别。众所周知,之前的无数据重要性指标不需要额外的参数保存,计算效率高,所以我们需要解决的是如何压缩后者数据驱动的重要性指标引入的额外训练参数。基于前面的稀疏算法,可以设计出数据驱动的重要性指标,所以我们开始分析这个公式计算的重要性指标的冗余性。首先,根据之前的工作,权重和对应的梯度都具有明显的低秩属性[3,4],因此我们可以推导出重要性指标也具有低秩属性,这样我们就可以引入两个低秩属性propertiessmall矩阵来表示与权重一样大的原始重要性指标矩阵。其次,我们分析了模型稀疏化后的结果,发现它们具有明显的结构特征。如上图所示,每张图的右边是最终稀疏权重的可视化结果,左边是每一行/列对应的稀疏率的直方图。可以看到左图中30%行的大部分权重被去掉了,反之右图中30%列的大部分权重被去掉了。基于这样的现象,我们引入了两个小的结构化矩阵来评估每行/列权重的重要性。基于以上分析,我们发现数据驱动的重要性指标具有低秩和结构,因此我们可以将其转化为如下表示:其中A和B表示低秩,R和C表示结构。通过这样的分析,将原来与权重一样大的重要性指标矩阵分解为四个小矩阵,大大减少了稀疏训练涉及的训练参数。同时,为了进一步减少训练参数,我们在之前的方法的基础上,也将权值更新分解为两个小矩阵U和V,所以最终的重要性指标公式变为如下形式:对应的算法框架图为具体如下:最后PST算法的实验结果如下。我们将其与NLU(BERT、RoBERTa)和NLG(GPT-2)任务上的幅度剪枝和运动剪枝进行了比较。在90%的稀疏率下,PST在大多数数据集上都能达到同样的水平。之前的算法具有相当的模型精度,但只需要1.5%的训练参数。PST技术已经集成到阿里云机器学习PAI的模型压缩库和Alicemind平台的大模型稀疏训练功能中。阿里巴巴集团内部大模型的使用带来了性能加速。在百亿级别的大型模型PLUG上,与原来的稀疏训练相比,PST可以提速2.5倍,内存占用降低10倍,且不会降低模型的准确率。.目前,阿里云机器学习PAI已广泛应用于各行业,提供全链路AI开发服务,为企业实现自主可控的AI解决方案,全面提升机器学习项目效率。论文名称:Parameter-EfficientSparsityforLargeLanguageModelsFine-Tuning论文作者:YuchaoLi,FuliLuo,ChuanqiTan,MengdiWang,SongfangHuang,ShenLi,JunjieBai论文pdf链接:https://arxiv.org/pdf/2205.11005.pdf