大模型压缩-LoRAP

这里写目录标题

  • 1.多头注意力和FFN的权重分布
  • 2 多头矩阵的低秩分解
  • FFN无梯度通道剪枝

这篇文章 1期望找到一个“剪枝+低秩分解”的路子,使结构化剪枝达到非结构化剪枝的性能。

1.多头注意力和FFN的权重分布

在这里插入图片描述

Fig. 1.1 多头注意力权重矩阵

从Fig.1.1可以看出多头注意力机制的qkvo矩阵表现出了稀疏性。
在这里插入图片描述

Fig. 1.2 FFN权重矩阵

然而从Fig.1.2可以看出FFN的 W u p W_{up} Wup, W d o w n W_{down} Wdown, W g a t e W_{gate} Wgate就没有这种表现。所以这篇文章指出用低秩分解来压缩多头注意力矩阵,用结构化剪枝来压缩FFN矩阵。

2 多头矩阵的低秩分解

对于一个权重 W i j W_{ij} Wij,用对应的输入激活 X X X ℓ 2 \ell_2 2范数来评估其重要度,用式1来表示
x d i n = ( ∥ X 1 ∥ 2 , ∥ X 2 ∥ 2 , ⋯   , ∥ X d i n ∥ 2 ) (1) \mathbf{x}_{d_{in}}=(\|\mathbf{X}_{1}\|_{2},\|\mathbf{X}_{2}\|_{2},\cdots,\|\mathbf{X}_{d_{in}}\|_{2})\tag{1} xdin=(X12,X22,,Xdin2)(1)
式中, ∥ X 1 ∥ j \|\mathbf{X}_{1}\|_{j} X1j表示 W : , j W_{:,j} W:,j的重要度。用式2表示其损失,
min ⁡ L , R ∑ i , j ( W i j − ( L R ) i j ) 2 ∥ X j ∥ 2 (2) \min_{\mathbf{L},\mathbf{R}} \sum_{i,j}(W_{ij}-(\mathbf{LR})_{ij})^2\|\mathbf{X}_j\|_2\tag{2} L,Rmini,j(Wij(LR)ij)2Xj2(2)
把重要度分数定义为对角线矩阵 D = d i a g ( x d i n ) \mathbf{D} = \mathrm{diag}(\mathbf{x}_{d_{in}}) D=diag(xdin),由公式2可变为公式3
min ⁡ L , R ∥ W D − L R D ∥ 2 (3) \min_{\mathbf{L},\mathbf{R}}\|\mathbf{WD}-\mathbf{LRD}\|_2\tag{3} L,RminWDLRD2(3)
W D \mathbf{WD} WD进行SVD分解,得到 S V D ( W D ) = U Σ V SVD(\mathbf{WD})=U\Sigma V SVD(WD)=UΣV,令 L = U Σ , R = V D − 1 \mathbf{L} = \mathbf{U}\boldsymbol{\Sigma},\mathbf{R} = \mathbf{V}\mathbf{D}^{-1} L=UΣ,R=VD1,为了压缩矩阵,保留权重矩阵 L \mathbf{L} L, R \mathbf{R} R的前 l l l r r r个分量,得到 L r = U r Σ r , R r = V r D − 1 \mathbf{L}_r=\mathbf{U}_r\mathbf{\Sigma}_r,\mathbf{R}_r=\mathbf{V}_r\mathbf{D}^{-1} Lr=UrΣr,Rr=VrD1,在实验中,论文选择将75%的参数分配给 W v W_v Wv W o W_o Wo矩阵,而将剩下的25%分配给 W q W_q Wq W k W_k Wk矩阵,参数来自对不同矩阵不同压缩比下模型的性能如Fig.2.1。
在这里插入图片描述

Fig. 2.1 不同矩阵不同压缩比下模型的性能

FFN无梯度通道剪枝

ℓ 2 \ell_2 2范数 W i , : W_{i,:} Wi,:来评估矩阵第 i i i行的重要度,用公式4表示
Φ ( W i , : ) = ∥ I ( W i , 1 ) , I ( W i , 2 ) , ⋯   , I ( W i , d i n ) ∥ 2 (4) \Phi(\mathbf{W}_{i,:})=\|I(W_{i,1}),I(W_{i,2}),\cdots,I(W_{i,d_{in}})\|_{2}\tag{4} Φ(Wi,:)=I(Wi,1),I(Wi,2),,I(Wi,din)2(4)
接下来考虑神经元之间的依赖关系,例如,在修剪下矩阵 W d o w n W_{down} Wdown的第 i i i个输入信道时,应对门矩阵 W g a t e W_{gate} Wgate和上矩阵 W u p W_{up} Wup中相应的输出信道进行相应的修剪。用公式5表示之间的依赖
W i g r o u p = { W i , : u p , W i , : g a t e , W : , i d o w n } (5) \mathbf{W}_i^{group}=\{\mathbf{W}_{i,:}^{up},\mathbf{W}_{i,:}^{gate},\mathbf{W}_{:,i}^{down}\}\tag{5} Wigroup={Wi,:up,Wi,:gate,W:,idown}(5)
由此评价某一有依赖关系的结构的重要度
C i g r o u p = Φ ( W i , : u p ) + Φ ( W i , : g a t e ) + Φ ( W : , i d o w n ) (6) C_{i}^{group}=\Phi(\mathbf{W}_{i,:}^{up})+\Phi(\mathbf{W}_{i,:}^{gate})+\Phi(\mathbf{W}_{:,i}^{down})\tag{6} Cigroup=Φ(Wi,:up)+Φ(Wi,:gate)+Φ(W:,idown)(6)
作者发现最不重要的1%的参数在模型性能中起着至关重要的作用。所以剪枝要把最不重要的和最重要的保留,由公式6给出剪枝原则
W i g r o u p = { W i g r o u p , i f C i g r o u p i n t o p ( p r ∗ 100 − 1 ) % , W i g r o u p , i f C i g r o u p i n m i n 1 % , 0. o t h e r w i s e . (6) \mathbf{W}_{i}^{group}=\begin{cases}\mathbf{W}_{i}^{group},&\mathrm{if} C_{i}^{group} \mathrm{in} \mathrm{top}(p_{r}*100-1)\%,\\\mathbf{W}_{i}^{group},&\mathrm{if} C_{i}^{group} \mathrm{in} \mathrm{min} 1\% ,\\0.&\mathrm{otherwise}.\end{cases}\tag{6} Wigroup= Wigroup,Wigroup,0.ifCigroupintop(pr1001)%,ifCigroupinmin1%,otherwise.(6)


  1. LoRAP: Transformer Sub-Layers Deserve Differentiated Structured Compression for Large Language Models ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/759777.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《昇思25天学习打卡营第17天 | 昇思MindSporeCycleGAN图像风格迁移互换》

17天 本节学习了CycleGAN图像风格迁移互换。 CycleGAN即循环对抗生成网络,该模型实现了一种在没有配对示例的情况下学习将图像从源域 X 转换到目标域 Y 的方法。该模型一个重要应用领域是域迁移,可以通俗地理解为图像风格迁移。其实在 CycleGAN 之前&a…

Vue下载接口返回流的处理

1.下载接口返回流如下: 2.可以写公共方法处理 excelDownload(obj, name Date.now(), suffix xlsx) {//Date.now()获取当前日期const url window.URL.createObjectURL(//Blob是二进制大对象new Blob([obj], { type: application/vnd.ms-excel }))const aDOM docu…

Java知识点整理 15 — MyBatis框架

一. 什么是 MyBatis MyBatis 是一款优秀的持久层框架,支持自定义 SQL、存储过程以及高级映射。它免除了几乎所有 JDBC代码以及手动设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(普通老式 Jav…

distance delayed sound

distance delayed sound 在本章中,我们将讨论在游戏音频中使用距离延迟的重要性。我们将首先通过一个常见的例子——闪电和雷鸣,来展示这种重要性并解释距离延迟音频的基础知识。我们将讨论计算速度、距离和时间的数学和方程式,以确定距离延迟…

postgre事务id用完后,如何解决这个问题

在PG中事务年龄不能超过2^31 (2的31次方2,147,483,648),如果超过了,这条数据就会丢失。 PG中不允许这种情况出现,当事务的年龄离2^31还有1千万的时候,数据库的日志中就会 有如下告警: warning:…

pc端制作一个顶部固定的菜单栏

效果 hsl颜色 hsl颜色在css中比较方便 https://www.w3school.com.cn/css/css_colors_hsl.asp 色相(hue)是色轮上从 0 到 360 的度数。0 是红色,120 是绿色,240 是蓝色。饱和度(saturation)是一个百分比值…

模板方法模式在金融业务中的应用及其框架实现

引言 模板方法模式(Template Method Pattern)是一种行为设计模式,它在一个方法中定义一个算法的框架,而将一些步骤的实现延迟到子类中。模板方法允许子类在不改变算法结构的情况下重新定义算法的某些步骤。在金融业务中&#xff…

Python的numpy简单使用

1.可以调用引入numpy里面的函数,如add可以把俩数相加,也可以创建一个数组arr,arr.shape是数组arr的属性,如果后有跟()就是里面的一个函数 type()函数可以知道里面是什么类型 变量.shape可以知道这个变量是…

[数据集][目标检测]猪只状态吃喝睡站检测数据集VOC+YOLO格式530张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):530 标注数量(xml文件个数):530 标注数量(txt文件个数):530 标注类别…

适配手机《植物大战僵尸杂交版》最新整合包,附Android、iOS、Windows保姆级教程和工具合集!

最近,新版的《植物大战僵尸杂交版》火爆全网啊!许多小伙伴不知道手机和电脑怎样安装设置才能畅玩《杂交版》,所以今天阿星特意为大家准备了一份安装工具集。 里面有安卓、iOS及电脑端的安装包,包含安装视频教程、修改器、防闪退、…

探索ChatGPT是如何改变癌症护理

了解生成式人工智能(尤其是 ChatGPT)如何通过高级数据集成和个性化患者管理来增强诊断和治疗,从而改变癌症治疗。了解 Color Health 的创新副驾驶模型及其对早期检测和患者结果的影响。 近年来,人工智能与医疗保健的融合为癌症治疗…

使用 fvm 管理 Flutter 版本

文章目录 Github官网fvm 安装Mac/Linux 环境Windows 环境 fvm 环境变量fvm 基本命令 Github https://github.com/leoafarias/fvmhttps://github.com/flutter/flutter 官网 https://fvm.app/ fvm 安装 Mac/Linux 环境 Install.sh curl -fsSL https://fvm.app/install.sh …

基于模糊神经网络的时间序列预测(以hopkinsirandeath数据集为例,MATLAB)

模糊神经网络从提出发展到今天,主要有三种形式:算术神经网络、逻辑模糊神经网络和混合模糊神经网络。算术神经网络是最基本的,它主要是对输入量进行模糊化,且网络结构中的权重也是模糊权重;逻辑模糊神经网络的主要特点是模糊权值可…

shark云原生-日志管理体系-filebeat

文章目录 1. deploy 文件1.1 RBAC1.2. DaemonSet1.2.1. Elasticsearch 连接信息1.2.2. Volume 1.3. ConfigMap1.3.1. 日志收集路径1.3.2. 日志事件输出目标 2. 在控制平面节点上运行Filebeat3. 查看输出3.1. 关于处理器 processors 4. 日志收集配置4.1. 手动指定日志收集路径4.…

索引:通往高效查询的桥梁(五)

引言 上一章,我们探索了SQL的基础知识,从DDL、DML到DQL,掌握了构建和操作数据库的基本技能。现在,我们将目光转向数据库性能的核心——索引。索引,犹如图书馆中的目录系统,极大地加速了数据检索过程&#…

Unity实现简单的MVC架构

文章目录 前言MVC基本概念示例流程图效果预览后话 前言 在Unity中,MVC(Model-View-Controller)框架是一种架构模式,用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构,提高代码的可维护性…

CloudFlare Tunnel实现内网穿透

CloudFlare Tunnel 背景: 家中设备处于内网NAT环境,希望使用CF tunnel构建内网穿透的环境。 有了CF tunnel后,可实现: 家中的NAS可以直接SSH AWS的云服务可迁到到NAS NAT主机借助CF tunnel部署服务 步骤: clou…

Mx Admin 基于react18的后台管理系统

前言 Mx Admin 基于React18 vite5 antd5的后台管理系统, 基于RBAC的权限控制系统,动态菜单和动态路由支持tab路由缓存嵌套菜单支持多种菜单布局模式亮暗色主题切换

成为画图大师,用图表讲故事

这些问题你是否遇到过: 项目总结会上,如果用数据呈现你做的价值? 完善详尽的数据分析得出了让人信服的结论,如何呈现在BOSS面前? 我们要的不是数据,而是数据告诉我们的事实 数据很重要,但只是原料,所以…

基于Spring Boot的在线医疗咨询平台的设计与实现【附源码】

基于Spring Boot的在线医疗咨询平台的设计与实现 Design and implementation of the computer hardware mall based on Spring Boot Candidate: Supervisor: April 20th, 2024 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师…