ViT:4 Pruning

实时了解业内动态,论文是最好的桥梁,专栏精选论文重点解读热点论文,围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技术跟踪。若对于具身智能感兴趣的请移步具身智能专栏。技术宅麻烦死磕AI架构设计。

视觉转换器(ViT)架构已经广受欢迎,并广泛用于计算机视觉应用。然而,随着 ViT 模型规模的扩大,可训练参数直线上升,从而影响了部署和性能。因此如何进行有效的优化成为热点领域,各种的研究方向层出不穷。下图左一为基本的ViT块,左二到左五代表着紧凑架构优化法、剪枝优化法、知识蒸馏法和量化优化法。橙色虚线的部分代表每个领域重点优化的组件。

本文先来看看Pruning的优化方向。修Pruning的主要思路在于视觉转换器模型中删除不太重要的权重,通常分为非结构化修剪、结构化修剪和混合修剪技术。

Saliency显著性

在实际中,权重和显著性在神经网络的训练和优化过程中扮演着重要角色,特别是在权重修剪(pruning)中。权重修剪的目的是通过移除冗余或不重要的权重来减少模型的复杂性,提高推理速度,降低内存使用,同时尽量保持模型的性能。显著性通常通过一些评估标准(如梯度、Hessian 矩阵、费舍尔信息矩阵等)来计算。

Hessian 矩阵(海森矩阵)是一个方阵,包含了函数二阶偏导数的信息。

在神经网络中,Hessian矩阵用于描述损失函数(对标上图的f)在参数空间(对标x1,……,xn)中的曲率。它在评估权重显著性和权重修剪中有重要应用。使用 Hessian 矩阵的对角线元素评估每个参数的重要性。对角线元素代表了每个参数的二阶导数,反映了损失函数曲率的大小。曲率大的参数对模型性能影响较大,曲率小的参数影响较小。

费舍尔信息矩阵(Fisher Information Matrix, FIM)是衡量模型参数对数据概率分布敏感性的一种工具。它在神经网络权重修剪和模型优化中有重要应用。下面是费舍尔信息矩阵的定义和计算方法。

在实际中,对于每个样本计算参数θ的梯度gi(x为样本),然后通过外积求和来近似得到最终的数值:

费舍尔信息矩阵和Hessian矩阵一样,也是评估每个权重的重要性。一般较大的对角线元素表示该参数对模型输出的影响较大,因此姑且称之为更重要。

非结构化修剪

Rao引入了一个动态Token稀疏化框架,用于基于输入对冗余Token进行渐进式和自适应修剪,集成了轻量级预测模块来估计Token的重要性分数,并采用注意力屏蔽策略来区分令牌交互并以端到端的方式优化预测模块。

Cap提出了一种新型的理论基础修剪器,能够在修剪过程中准确有效地处理复杂的参数相关性。上图展示了三种不同的参数修剪方法:OBD(对角费舍尔)、WoodFisher/M-FAC和CAP,并比较了它们在处理参数之间的相互依赖关系上的不同之处。


说白了,第一种在减掉参数的时候,没有考虑到参数之间的依赖性。第二种虽然考虑到了,当时它的操作是一次性的。而CAP则是逐步的消除参数,同时在每一步每个参数被剪枝之后还会重新再次计算Saliency。

Cait引入了非对称标记合并,上图的HTM和VTM。在保留空间结构的同时有效地整合相邻标记,并结合一致的动态通道修剪。

Cait在图像输入Transformer的时候进行垂直和水平的压缩,在Vision Transformers中对不重要的通道进行统一修剪,增强了模型压缩。

结构化修剪

这种方法主要根据预定义的标准去除结构组件,例如注意力头或层。例如,WDPruning使用二进制掩码来根据参数的大小来识别无关紧要的参数。

上图为宽度剪枝,从QKV的转化矩阵,到多头的注意力剪枝,其中蓝色部分为被修剪的参数。

上图为Yu提出的了统一的框架,集成了修剪以生成紧凑型变压器。粉色为会被修剪的参数,虚线为连接跳跃修剪。

X-Pruner则是利用端到端的学习可解释性感知掩码来测量每个单元对预测目标类别的贡献,并自适应地搜索逐层阈值,以在确定修剪率的同时保留信息量最大的单元。整个修剪的过程如下:首先使用所提出的可解释性感知掩码训练一个Transformer,目标是量化每个单元对预测每个类别的贡献。然后在预定义的成本约束下探索逐层修剪阈值。最后对修剪后的模型再次执行微调。<请逆时针观察图片!>

混合修剪

SPViT开发了一种基于动态注意力的多头令牌选择器,用于自适应实例级Token选择,同时使用软修剪技术将信息量较小的Token合并到包Token。

ViT-Slim利用具有预定义因子的可学习和统一的稀疏性约束来表示连续搜索空间中各个维度的全局重要性。在上一章节已经介绍过了。

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

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

相关文章

vue学习(三)

14.监视属性watch 当被监视的属性发生变化时&#xff0c;回调函数立即调用&#xff0c;进行操作 监视的两种写法&#xff1a;直接配置或者通过vm添加 watch:{isHot:{immediate:true, //首次用到执行handler(newValue,oldValue){console.log("isHot 被修改了",newV…

SwiftUI 6.0(iOS/iPadOS 18)中全新的 Tab 以及 Sidebar+悬浮 TabView 样式

概览 看来苹果一直对 iPadOS 中标签栏&#xff08;TabView&#xff09;不甚满意。这不&#xff0c;在 WWDC 2024 中苹果又对 TabView 外观做了大幅度的进化。 现在我们可以在顶部悬浮条和左侧的 Sidebar 两种不同布局之间恣意切换 TabView 的外观啦。而且&#xff0c;这在 Swi…

技术性屏蔽百度爬虫已经一周了!

很久前明月就发现百度爬虫只抓取、只收录就是不给流量了&#xff0c;加上百度搜索体验越来越差&#xff0c;反正明月已经很久没有用过百度搜索&#xff0c;目前使用的浏览器几乎默认搜索都已经修改成其他搜索引擎了&#xff0c;真要搜索什么&#xff0c;一般都是必应谷歌结合着…

自然语言处理领域的明星项目推荐:Hugging Face Transformers

在当今人工智能与大数据飞速发展的时代&#xff0c;自然语言处理&#xff08;NLP&#xff09;已成为推动科技进步的重要力量。而在NLP领域&#xff0c;Hugging Face Transformers无疑是一个备受瞩目的开源项目。本文将从项目介绍、代码解释以及技术特点等角度&#xff0c;为您深…

python3GUI--ktv点歌软件By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.启动2.搜索2.服务1.首页2.天气预报3.酒水饮料4.酒水饮料2 3.服务4.灯光5.调音6.排行榜7.分类点歌9.歌手点歌10.歌手个人页 三&#xff0e;心得体会1.关于代码2.关于设计3.关于打包 四&#xff0e;总结 文件大小&#xff1a;33.…

最新下载:XmanagerXShell【软件附加安装教程】

​相信大家都认同支持IPv6&#xff1a;最近越来越多的公司和国家都采用了IPv6&#xff0c;Xmanager的最新版本v5也加入支持这个功能&#xff0c;无论你是同时使用IPv4和IPv6网络或者完全的IPv6网络&#xff0c;Xmanager 5都可完全满足你的要求&#xff0c;使用MIT Kerberos认证…

理解什么是DSR,嗅探器视角下的IP和MAC地址识别(C/C++代码实现)

网络嗅探器是监控和分析网络流量的一种工具&#xff0c;它能够捕获数据包并提取出关键的信息&#xff0c;比如IP地址和MAC地址。 网络嗅探器工作原理基于网卡的工作模式。正常情况下&#xff0c;网卡只处理发送给它的数据包&#xff0c;忽略其他数据。但是&#xff0c;如果将网…

Python题目

实例 3.1 兔子繁殖问题&#xff08;斐波那契数列&#xff09; 兔子从出生后的第三个月开始&#xff0c;每月都会生一对兔子&#xff0c;小兔子成长到第三个月后也会生一对独自。初始有一对兔子&#xff0c;假如兔子都不死&#xff0c;那么计算并输出1-n个月兔子的数量 n int…

成章数据库安装体验

对标Redis的国产数据库 一位来自国产数据库的朋友想请我试用一下他们的产品。并且直言早期问题比较多&#xff0c;还请多多包涵。一般对于这种比较客观和友好的我都愿意试试。对于怼天怼地吊打谁的我个人就不尝试了。 他们中文名字叫“成章数据库“我就尝试从一个不了解产品的…

华为数通——OSPF

正掩码&#xff1a;/24 255.255.255.0 反掩码&#xff1a; 255.255.255.255 -255.-255.-255.0 0.0.0.255 例如掩码&#xff1a;255.255.252.0 反掩码&#xff1a;0.0.3.255 在反掩码里面&#xff0c;0 bit 表示精确匹配&#xff0c;1…

STM32上实现spwm调制原理分析

在STM32微控制器上实现SPWM&#xff08;正弦脉宽调制&#xff0c;Sinusoidal Pulse Width Modulation&#xff09;调制的核心是利用高频载波&#xff08;三角波&#xff09;与低频基波&#xff08;正弦波&#xff09;作比较得出。 那么在STM32里三角波和正弦波分别是什么&…

热电阻温度计的测量电路

热电阻温度计的测量电路&#xff0c;为达到高精度测量&#xff0c;通常会采用电桥测量原理&#xff0c;并结合适当的热电阻类型和连接方式。 惠斯通电桥是用于测量一组电阻式元件阻值变化的电路。该电路具有两个并联电阻支路&#xff0c;充当激励电压 VEXCITATION 的分压器。每…

无霍尔BLDC驱动

目前主要的无霍尔控制方案是基于反电势检测信 息判断换相点,本文研究反电势在 PWM - OFF 点的检 测方案确定换相点。 1. 反电动势检测方案 BLDC 的模型做等效,将线圈阻抗看成是一个 线性电阻和一个储能电感的等效,其等效电路图如图 1所示。 电机三相绕组输出端电压的电压…

【Java】已解决java.io.UnsupportedEncodingException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.io.UnsupportedEncodingException异常 在Java编程中&#xff0c;java.io.UnsupportedEncodingException异常通常发生在尝试使用java.nio.charset.Charset或者它的旧版本…

如何去除VisualStudioCode最新版本出现的两条横线

作为一个对频繁更新有些抗拒的人&#xff0c;我曾多次遇到在更新后出现莫名问题的情况。然而&#xff0c;由于最近一次更新已经有一段时间了&#xff0c;我觉得或许这次会带来一些更好的设计或其他改进。于是&#xff0c;我决定更新Visual Studio Code&#xff0c;并分享一下我…

R语言 | 绘制带P值的差异柱状图

原文链接&#xff1a;R语言 | 绘制带P值的差异柱状图 本期教程 小杜的生信笔记&#xff0c;自2021年11月开始做的知识分享&#xff0c;主要内容是R语言绘图教程、转录组上游分析、转录组下游分析等内容。凡是在社群同学&#xff0c;可免费获得自2021年11月份至今全部教程&…

CVE-2023-50563(sql延时注入)

简介 SEMCMS是一套支持多种语言的外贸网站内容管理系统&#xff08;CMS&#xff09;。SEMCMS v4.8版本存在SQLI&#xff0c;该漏洞源于SEMCMS_Function.php 中的 AID 参数包含 SQL 注入 过程 打开靶场 目录扫描&#xff0c;发现安装install目录&#xff0c;进入&#xff0c;…

2024全国各地高考录取分数线一览表(含一本、二本、专科)

2024年高考录取分数线陆续公布&#xff0c;上大学网(www.sdaxue.com)为大家整理全国31个省市高考录取分数线汇总&#xff0c;包括本科批、专科批和特殊类招生控制分数线汇总&#xff0c;来看看你的省份多少分能上大学吧。 一、2024年全国高考录取线一览表 1、宁夏 一本线&…

Adaboost集成学习 | Adaboost集成学习特征重要性分析(Python)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习特征重要性分析(Python)Adaboost(自适应增强)是一种常用的集成学习方法,用于提高机器学习算法的准确性。它通过组合多个弱分类器来构建一个强分类器。在Adaboost中,每个弱分类器都被赋予…

利用ChatGPT辅助撰写课题申报书中的研究框架与内容设计全攻略指南

欢迎关注EssayBot&#xff0c;为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥沟通&#xff1a;yida985 撰写课题申报书是启动科研项目的第一个步骤&#xff0c;而研究框架与内容设计又是这一过程中的关键要素&#xff0…