transformer剪枝论文汇总

文章目录

  • NN Pruning
      • 摘要
      • 实验
  • 大模型剪枝
    • LLM-Pruner
    • SparseGPT
  • LTP
  • VTP
  • Width & Depth Pruning
  • Patch Slimming
  • DynamicViT
  • SPViT
  • DynamicBERT
  • ViT Slimming
  • FastFormers
  • NViT
  • UVC
  • Post-training pruning

NN Pruning

《Block Pruning For Faster Transformers》
《为更快的transformer进行块修剪》

摘要

预训练提高了模型在分类和生成任务的精度,但缺点是成本较高,性能慢;
剪枝是一种减少模型大小的有效方法;
论文引入了块剪枝方法,为了得到小且快的模型。通过将任意大小的块剪枝集成到运动剪枝微调范式中;
实验在分类和生成任务,得到剪枝后的模型2.4x更快,74%更小的BERT在SQuAD v1,F1仅下降1%,与其他蒸馏模型相比速度更快,与其他剪枝模型相比模型更小。

实验

在这里插入图片描述

在这里插入图片描述

论文地址
github地址1
github地址2

FFN剪枝 attention heads剪枝

大模型剪枝

LLM-Pruner

《LLM-Pruner: On the Structural Pruning of Large Language Models》

《LLM-Pruner: 大语言模型结构化剪枝》

github地址

SparseGPT

《SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot》
《SparseGPT:大规模语言模型可以一次精确剪枝》
github地址

LTP

《Learned Token Pruning for Transformers》
《transformer的Token修剪学习》
github地址

VTP

《Vision Transformer Pruning》

稀疏 剪枝 finetune
剪维度,Dimension Pruning

Width & Depth Pruning

《Width & Depth Pruning for Vision Transformers》

剪维度,剪深度

Patch Slimming

《 Patch Slimming for Efficient Vision Transformers》
《高效视觉transformer的块瘦身》

剪patch

DynamicViT

《DynamicViT: Efficient Vision Transformers with Dynamic Token Sparsification》
《DynamicViT:具有动态Token稀疏化的高效视觉transformer》
github地址

token 剪枝: 在MSA和MLP后面添加一个轻量化的注意力模块来动态的识别不重要的patch

SPViT

《Pruning Self-attentions into Convolutional Layers in Single Path》
《在Single Path中将自注意力剪枝成卷积层》
github地址

核心思想是nas,过预训练好的nsa的权重来初始化得到对应卷积的权重,达到一种权重共享的方法

DynamicBERT

《DynaBERT: Dynamic BERT with Adaptive Width and Depth》
《DynaBERT: 具有自适应宽度和深度的动态BERT》

github地址

深度 和宽度 剪枝;

训练时,对宽度和深度进行裁剪,训练不同的子网络
推理时,根据速度需要直接裁剪,用裁剪后的子网络进行预测

ViT Slimming

《Vision Transformer Slimming: Multi-Dimension Searching in continuous optimization space》
《视觉Transformer瘦身:连续优化空间中的多维搜索》
github地址

只需训练 / 搜索一次,就可以通过排序 mask 得到无数个子网络

FastFormers

《FastFormers: Highly Efficient Transformer Models
for Natural Language Understanding》
github 地址
step1:蒸馏
step2:剪枝
step3: 量化

NViT

《NViT: Vision Transformer Compression and Parameter Redistribution》
(2021)
剪枝规则分为三步:

  1. 确定剪枝的空间
  2. 通过建立全局重要性分数ranking,迭代地进行全局结构剪枝。
  3. 观察剪枝后网络结构的维度变化趋势,进行参数重分配,得到最终的NViT

UVC

《UNIFIED VISUAL TRANSFORMER COMPRESSION》
《统一视觉transformer压缩》

github地址

Post-training pruning

《A Fast Post-Training Pruning Framework for Transformers》
《transformer 快速后训练剪枝框架》
github地址
在这里插入图片描述

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

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

相关文章

泰雷兹和Quantinuum推出入门套件,帮助企业为未来的后量子加密变革做好准备

•新的解决方案——PQC入门套件(PQC Starter Kit)为用户提供了一种快速、简便的方法,用于测试和衡量其在后量子时代防范量子计算攻击的准备情况 •随着量子计算逐渐成熟,企业为后量子时代做好准备并培养加密灵活性,对于降低数据泄露风险至关重…

牛客——最短Hamilton路径(动态规划)

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 给定一张 n(n≤20)(n \leq 20)(n≤20) 个点的带权无向图,点从0∼n−10 \sim n-10∼n−1标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是…

Camunda历史记录和审核事件日志

💖专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据,完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧😘 💖历史记录 …

分享springboot框架的一个开源的本地开发部署教程(若依开源项目开发部署过程分享持续更新二开宝藏项目MySQL数据库版)

1首先介绍下若依项目: 若依是一个基于Spring Boot和Spring Cloud技术栈开发的多租户权限管理系统。该开源项目提供了一套完整的权限管理解决方案,包括用户管理、角色管理、菜单管理、部门管理、岗位管理等功能。 若依项目采用前后端分离的架构&#xf…

基础面试题整理7之Redis

1.redis持久化RDB、AOF RDB(Redis database) 在当前redis目录下生成一个dump.rdb文件,对redis数据进行备份 常用save、bgsave命令进行数据备份: save命令会阻塞其他redis命令,不会消耗额外的内存,与IO线程同步;bgsav…

Linux系统中HTTP代理的常见问题及解决方案

亲爱的Linux用户们,是不是有时候觉得HTTP代理就像是一个魔法盒子,让你在数字世界中自由穿梭?但是,就像所有的魔法物品一样,它也会偶尔出点小状况。今天,我们就来一起探讨一下Linux系统中HTTP代理的常见问题…

C语言之字符逆序(牛客网)

个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 字符逆序__牛客网 题目: 思路:既然有空格就不能用scanf函数来接收字符了。因为scanf函数遇到空格会停止读取。我们可以用get…

【Git教程】(一)基本概念 ——工作流、分布式版本控制、版本库 ~

Git教程 基本概念 1️⃣ 为什么要用 Git2️⃣ 为什么要用工作流3️⃣ 分布式版本控制4️⃣ 版本库5️⃣ 简单的分支创建与合并🌾 总结 在本章中,将介绍一个分布式版本控制系统的设计思路,以及它与集中式版本控制系统的不同之处。除此之外&am…

Camunda排他网关与并行网关

💖专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据,完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧😘 💖排他网关 …

【JAVA WEB】Web标签

目录 注释标签 标题标签 h1-h6 段落标签 换行标签 格式化标签 加粗:strong 标签和 b 标签 倾斜:em 标签和 i 标签 删除线: del 标签 和 s 标签 下划线:ins 标签 和 u 标签 图片标签:img 单标签 src属性&#…

在angular12中proxy.conf.json中配置详解

一、proxy.conf.json文件的目录 二、proxy.conf.json文件中的配置 "/xxx/api": {"target": "地址/api","secure": false,"logLevel": "debug","changeOrigin": true,"pathRewrite": {"…

蓝桥杯嵌入式学习记录——点亮第一个LED(含软件的使用)

目录 一、蓝桥杯概述 二、软件的使用 三、点亮LED 一、蓝桥杯概述 蓝桥杯是一个编程大赛、商赛,获奖率高达60%(省赛中一等奖10%、二等奖20%、三等奖30%),但这并不影响它的含金量,多所高校将它列为A类赛事并实行保研…

[机器学习]K-means——聚类算法

一.K-means算法概念 二.代码实现 # 0. 引入依赖 import numpy as np import matplotlib.pyplot as plt # 画图依赖 from sklearn.datasets import make_blobs # 从sklearn中直接生成聚类数据# 1. 数据加载 # 生成(n_samples:样本点,centers&…

QT安装与helloworld

文章目录 QT安装与helloworld1.概念:2.安装QT3.配置环境变量4.创建项目5.运行效果 QT安装与helloworld 1.概念: Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的…

跟着小德学C++之启动监听

嗨,大家好,我是出生在达纳苏斯的一名德鲁伊,我是要立志成为海贼王,啊不,是立志成为科学家的德鲁伊。最近,我发现我们所处的世界是一个虚拟的世界,并由此开始,我展开了对我们这个世界…

Rust开发WASM,浏览器运行WASM

首先需要安装wasm-pack cargo install wasm-pack 使用cargo创建工程 cargo new --lib mywasm 编辑Cargo.toml文件,修改lib的类型为cdylib,并且添加依赖wasm-bindgen [package] name "mywasm" version "0.1.0" edition "…

顺序图(Sequence Diagram)

也叫时序图、序列图 一、定义 顺序图是用来描述对象自身及对象间信息传递顺序的视图。 二、要素 活动者,对象,生命线,控制焦点,消息(同步消息,异步消息,返回消息,自关联消息) 1、 活动者 活动者发出情况或者接收系统的服务。 2、 对象 对象是特定行为与属性的集合。 表…

uniapp 使用renderjs引入echarts

效果图&#xff1a; 1.1renderjs引入echarts 组件zmui-echarts.vue&#xff1a; <template><view class"zmui-echarts" :prop"option" :change:prop"echarts.delay"></view> </template><script>export defaul…

互联网加竞赛 基于深度学习的行人重识别(person reid)

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的行人重识别 该项目较为新颖&#xff0c;适合…

数据结构——C/栈和队列

&#x1f308;个人主页&#xff1a;慢了半拍 &#x1f525; 创作专栏&#xff1a;《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》 &#x1f3c6;我的格言&#xff1a;一切只是时间问题。 ​ 1.栈 1.1栈的概念及结构 栈&#xff1a;一种特…