德克萨斯大学奥斯汀分校、萨里大学、牛津大学、加州理工学院和Meta AI的研究人员推出“权重低秩投影”(Weight Low-Rank Projection,简称WeLore),它以一种与数据无关且一次性的方式,统一了权重压缩和内存高效微调。WeLore利用奇异值的重尾分布来识别适合LLMs中矩阵的秩减比例。除了作为压缩技术之外,WeLore还根据矩阵表达为低秩形式的能力,将权重矩阵分类为低秩成分(Low-rank Components,LRCs)和非低秩成分(Non-Low-rank Components,N-LRCs)。从梯度的角度出发,并通过广泛的实验,我们表明LRCs往往具有更好的微调能力,能够紧密模拟(有时甚至超越)全量微调的训练损失轨迹和性能,同时显著降低了内存和计算开销。例如,仅使用LRCs部分参数(应用WeLore方法)微调一个压缩了50%的LLaMa-2 70亿参数模型,相比全量微调,不仅能够实现更好的性能,还提供了约3倍的吞吐量提升以及仅需约0.6倍的GPU资源。
- GitHub:https://github.com/VITA-Group/welore
- 模型:https://huggingface.co/vita-group
主要功能
论文提出了一种名为WeLore(Weight Low-Rank Projection)的方法,它的核心功能是:
- 权重压缩:通过识别和利用模型中的低秩结构,减少模型的存储需求。
- 内存高效微调:在微调(fine-tuning)过程中,只对模型的一部分进行更新,从而减少内存和计算资源的需求。
主要特点
- 非均匀秩减少:WeLore不是对所有层进行相同的秩减少,而是根据每层的特点和需求,进行非均匀的秩减少。
- 数据无关性:WeLore的方法不依赖于特定的数据集,可以广泛应用于不同的语言模型。
- 一次性处理:WeLore通过一次性的秩减少处理,实现了模型的压缩和微调,简化了操作流程。
工作原理
WeLore的工作原理可以分为以下几个步骤:
- 低秩结构识别:通过分析模型在预训练过程中的梯度动态,识别出哪些层的权重矩阵具有低秩结构。
- 秩减少比率确定:根据识别出的低秩结构,确定每层的秩减少比率,以便在压缩时保留最重要的信息。
- 权重矩阵分解:将具有低秩结构的权重矩阵分解为两个较小的矩阵,从而减少模型的参数数量。
- 微调优化:在微调过程中,只对低秩部分的权重进行更新,而保持其他部分不变,从而减少计算资源的需求。
具体应用场景
- 语言模型微调:在需要对大型语言模型进行特定任务微调时,WeLore可以减少所需的计算资源和内存。
- 模型部署:在资源受限的环境中,如移动设备或小型服务器,WeLore可以帮助部署更高效的语言模型。
- 模型压缩:在需要将大型模型压缩以便于存储和传输的场景中,WeLore提供了一种有效的压缩策略。
0条评论