Token Merging: Your ViT But Faster

news2024/11/30 14:30:03

论文:https://arxiv.org/pdf/2210.09461.pdf

代码: https://github.com/facebookresearch/ToMe

这篇论文写的很棒呀,以摘要为例,第一句话指明ToMe的作用(提高ViT-based模型的训练和推理速度)和特色(不需要训练哦);第二句话概括ToMe的方法(通过匹配算法,将相似token聚合在一起);后面几句话分别给出ToMe的量化指标(在处理图片、视频或音频时,提高两倍吞吐量,对准确率影响小),表明ToMe的优越性。还有引言的第一段,第一句话说明Transformer从NLP迁移到视觉任务上的历史;第二句话说明Vision Transformer的特点(这句话写得好棒);第三句话将特点归因于归纳偏置对视觉任务的重要性。

摘要

提出Token Merging (ToMe),无需额外训练即可提高ViT-based模型的训练和推理速度;

ToMe通过匹配算法,将transformer中的相似token聚合在一起;

在推理时加入ToMe:对图片数据,ToMe可以提高ViT-L@512和ViT-H@518两倍的吞吐量;对视频数据,ToMe可以提高ViT-L 2.2倍的吞吐量,仅降低0.2-0.3%准确率;

在训练时加入ToMe,对视频数据,ToMe可以缩短MAE fine-tuning两倍时间;同时,可以进一步减少准确率损耗,对音频数据,ToMe可以提高ViT-B两倍的吞吐量,仅降低0.4% mAP。

引言

Swin提出针对视觉任务的attention,MViT提出针对视觉任务的pooling,LeViT提出针对是觉任务的卷积模块。这些改进可以归因于归纳偏置对视觉任务的重要性,向transformer结构引入归纳偏置可以减少计算量的同时,提高准确性;

虽然vanilla ViTs结构具有一些不错的性质,但使用或复现他们是较为困难的。现有方法提出通过在推理阶段对token剪枝,加快模型速度。但是token剪枝有多个缺点:1)剪枝中的信息损失(information loss)限制了可以合理减少的token数量(?);2)部分方法需要对模型重新训练;3)大多数不能加速训练;4)部分方法的剪枝数量不固定,导致无法batched inference;

本文提出的Token Merging (ToMe) 可以加速ViT-based模型的训练和推理过程,无需修改即可用于图片、视频、音频数据的处理。

本文贡献:

ToMe可以加速ViT-based模型的训练和推理过程;

在图片、视频和音频数据上,在不同ViT模型上证明ToMe的有效性;

可视化发现融合后的token,在图片数据中可以表征物体的某个语义部分,在视频数据中可以表征某个物体;

近期工作

Efficient Transformer:1)更快的注意力计算;2)heads或特征剪枝;3)针对任务设计特定模块。

Token Reduction:token剪枝,存在两个问题:1)部分方法需要重新训练;2)部分方法产生的token数量是不固定的,导致这类方法无法batched inference,一些方法引入mask,而不是去除token,但这会影响模型速度。

Combining Tokens:token融合。1)GroupViT,使用跨注意力机制将token分组;2)TokenLearner,使用MLP减少token数量;3)Token Pooling:使用kmeans-based方法融合特征,但该方法需要重新训练模型。

Token Merging

Strategy. 1)数量:每层减少r个token,对于一个L层的transformer,则会逐步减少rL个token;2)位置:在attention和MLP之间,这有两个好处,首先被融合的token特征仍然可以传播,其次可以借助attention决定哪些token应该被融合;

Token Similarity. 

 

Bipartite Soft Matching

Tracking Token Size.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java面试强基(21)

什么是线程和进程? 何为进程? ​ 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 ​ 在 Java 中,当我们启动 main 函数时其实就是启动了一个 J…

提质增效!北京筑龙助力蒙牛集团采招数智化升级

近两年,全球经济下行压力加剧,市场形势波动使得集团企业面临着很大的经营压力。随着数字经济时代的到来,利用数字技术重构价值链、重组业务流程,或创建新的生态系统平台成为集团企业数字化转型的契机。 蒙牛电子采购招标平台作为…

WEB网页设计期末作业个人主页——基于HTML+CSS制作个人简介网站

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

现实中的项目范围变更

大多数招投标或签合同的项目(TOG或TOB),范围变更是极少的,一旦发起范围变更申请,这个流程是非常复杂的,而且会有负面影响,尤其是TOG的项目。 项目范围变更,往往会引起项目金额变更,核减、增加、不变都有可能。 TOG项目的范围变更,常是因为政策变了、上级要求等不可…

(附源码)Springboot网上购物平台 毕业设计 141422

Springboot网上购物平台的开发 摘 要 随着Internet的使用越来越广泛,在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买各类商品腾出时间,更不会耐心挑…

Docker管理工具Portainer忘记admin登录密码怎么办?

Portainer官网解决方法链接 https://docs.portainer.io/v/ce-2.11/advanced/reset-admin 炒鸡详细步骤! 1.查看所有容器,包括未运行的 docker ps -a 2.找到Portainer对应信息 3.停止Portainer容器 docker stop portainerid 我这里就应该是 docker stop 507566…

Unity VFX图表初级到中级教程

Unity VFX图表初级到中级教程 从 Unity 学习新的视觉效果工具并开始制作一些很棒的魔法效果 课程英文名:Unity VFX Graph - Beginner To Intermediate 此视频教程共4.5小时,中英双语字幕,画质清晰无水印,源码附件全 下载地址 …

【脚本项目源码】Python制作提升成功率90%的表白神器

前言 明天就是拥抱情人节,情侣们会在公开的场合拥抱,向世人宣告你俩的爱意,也让这个寒冷的冬天变得格外温馨。到了年底依然能热情拥抱,也见证了两人情意如昔。 今天小鱼就给大家带来就是的利用Python制作表白神器,记…

年末消费高峰,警惕“大牌平替”的陷阱

就在眼前的双十二,接踵而来的圣诞跨年与春节,买买买的黄金时段,作为消费者,少不了要接受各式营销广告的狂轰滥炸。如今纷繁复杂的消费市场,大家都擦亮了眼睛追求性价比,如果你也曾被“五分之一价格买到大牌…

【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)

一、CPU多核和POISX Thread 为了提高任务的计算处理能力,下面分别从硬件和软件层面研究新的计算处理能力 在硬件设备上,CPU 技术不断发展,出现了SMP(对称多处理器)和 NUMA(非一致 性内存访问)两种高速处理的 CPU 结构 在软件层面出现了多进程和多线程编程。进程…

【王道计算机网络笔记】网络层-网络层概述和编址

文章目录IP数据报格式IP数据报分片例题IPv4地址分类的IP地址网络地址转换NAT子网划分与子网掩码无分类编址CIDR主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报,数据报是一个比较长的数据&#xff0c…

基于51单片机的智能热水器无线WiFi控制系统proteus仿真原理图程序

功能: 0.本项目采用STC89C52作为单片机系统的控制MCU 1.LCD1602液晶实时显示温度阈值、当前温度和定时时间 2.支持按键和红外遥控设置温度阈值和定时时间 3.通过传感器检测,判定当前值是否超过设定的阈值,然后对相关继电器进行控制 4.支持声光…

使用DevExpress WPF主题设计器轻松创建Office 2019绿色主题(二)

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的The…

数据结构C语言版 —— 时间复杂度空间复杂度概念和计算

文章目录时间复杂度&空间复杂度1. 算法效率2. 时间复杂度1) 时间复杂度的概念2) 大O的渐近表示法3) 时间复杂度案例举例3. 空间复杂度1) 空间复杂度概念2) 计算实例时间复杂度&空间复杂度 1. 算法效率 算法效率分析一般分为两种,一种是时间效率&#xff0…

Unity初学者Shader Graph教程

Unity初学者Shader Graph教程 了解面向非程序员的 Unity 引擎可视化着色器编程工具的来龙去脉 课程英文名:Your Ultimate Guide to Shader Graph for Beginners 此视频教程共28.0小时,中英双语字幕,画质清晰无水印,源码附件全 …

基于C++实现(WinForm)家谱管理系统【100010033】

⼀、需求分析 《家谱管理系统》程序的设计⽬的,是为了解决中国传统家谱不易保存、不易修改、不易统计的缺陷。利⽤计算机程序,可以实现在计算机上存储、管理、查看家谱的相关信息。 ⽬标功能: 建⽴家谱:在计算机上建⽴树状家谱结…

二叉树算法

写在前面 树的定义 typedef struct Node {int data;struct Node *lchild,*rchild; }Bnode,*Btree;最近公共祖先 已知一棵二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个节点的最近公共祖先节点的值。 算法思想: 顺序…

牛客竞赛每日俩题 - Day9

目录 日期推算 分解因数 日期推算 美国节日__牛客网 思路: 首先,我们要想找到一个月第N个星期W,一定需要一个参照物,最好的目标当然是这个月的第一天。拿到参照物后,我要能得 到参照物的星期数,然后就能…

马来酰亚胺聚乙二醇叠氮,MAL-PEG-N3,Maleimide-PEG-Azide

马来酰亚胺聚乙二醇叠氮(MAL-PEG-N3)是MeloPEG的硫醇反应性“点击化学”PEG交联剂之一。马来酰亚胺与pH 6.5-7.5的游离巯基/巯基迅速反应,形成稳定的,不可裂解的硫醚键。马来酰亚胺和硫醇的反应使得叠氮化物功能性PEG能够快速有效…

[附源码]Python计算机毕业设计Django的家政服务平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…