9种高效提速的transformer魔改版本

news2025/1/13 5:55:56

Transformer目前已经成为人工智能领域的主流模型,应用非常广泛。然而Transformer中注意力机制计算代价较高,随着序列长度的增加,这个计算量还会持续上升。

为了解决这个问题,业内出现了许多Transformer的魔改工作,以优化Transformer的运行效率。我这次就给大家分享9篇对Transformer模型进行效率优化的改进文章,以方便大家更高效地使用模型,寻找论文创新点。

文章主要涉及4个方向:稀疏注意力机制、Transformer处理长文本、Transformer运行提效以及卷积Attention,原文及源码都已整理,需要的同学看文末

稀疏注意力机制

1.Longformer: The Long-Document Transformer

长文档Transformer

方法简述:Transformer-based models处理长序列时存在困难,因为它们的自注意力操作与序列长度呈二次方关系。Longformer通过引入一个与序列长度呈线性关系的注意力机制解决了这个问题,使其能够轻松处理数千个标记或更长的文档。Longformer在字符级语言建模方面表现优秀,并在各种下游任务上取得了最先进的结果。此外,Longformer还支持长文档生成序列到序列任务,并在arXiv摘要生成数据集上展示了其有效性。

2.Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting

增强局部性并打破Transformer在时间序列预测中的内存瓶颈

方法简述:时间序列预测是许多领域中的重要问题,包括太阳能发电厂能源输出、电力消耗和交通拥堵情况的预测。本文提出了使用Transformer来解决这种预测问题的方法。虽然初步研究表明其性能令人印象深刻,但作者发现它有两个主要缺点:局部性不敏感和内存瓶颈。为了解决这两个问题,作者提出了卷积自注意力和LogSparse Transformer,它们能够更好地处理局部上下文并降低内存成本。实验表明,这些方法在时间序列预测方面具有优势。

3.Adaptive Attention Span in Transformers

Transformers中的自适应注意力跨度

方法简述:论文提出了一种新的自注意力机制,可以学习其最优的注意力跨度。这使得我们可以显著扩展Transformer中使用的最大上下文大小,同时保持对内存占用和计算时间的掌控。作者在字符级语言建模任务上展示了该方法的有效性,在该任务中,作者使用最大8k个字符的上下文实现了在text8和enwiki8上最先进的性能。

Transformer处理长文本

1.Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context

超越固定长度上下文的注意语言模型

方法简述:Transformers在语言建模中受到固定长度上下文的限制,作者提出了一种新的神经网络架构Transformer-XL,可以学习超过固定长度的依赖关系。它由一个段级别循环机制和一个新的位置编码方案组成,能够捕捉更长的依赖关系并解决上下文碎片化问题。该方法不仅在短序列和长序列上都取得了更好的性能,而且在评估期间比普通的Transformers快1,800+倍。

Transformer运行提效

1.REFORMER: THE EFFICIENT TRANSFORMER

高效的Transformer

方法简述:大型Transformer模型训练成本高,尤其是在长序列上。论文提出了两种技术来提高效率:使用局部敏感哈希替换点积注意力,将复杂度从O(L^2)降低到O(L log L);使用可逆残差层代替标准残差,允许只存储一次激活。由此产生的Reformer模型在长序列上表现相当,但更内存高效和更快。

2.RETHINKING ATTENTION WITH PERFORMERS

重新思考注意力机制:Performer模型

方法简述:论文介绍了Performers,一种Transformer架构,可以以可证明的准确性估计常规(softmax)全秩注意力Transformers,但仅使用线性空间和时间复杂度。为了近似softmax注意力核,Performers使用了一种新颖的快速注意通过正交随机特征方法(FAVOR+),并可以用于高效地建模可核化的注意力机制。

3.Linformer: Self-Attention with Linear Complexity

具有线性复杂度的自注意力机制

方法简述:大型Transformer模型在自然语言处理应用中表现出色,但长序列的训练和部署成本很高。本文提出一种新自注意力机制,将复杂度从O(n^2)降低到O(n),同时保持性能不变。由此产生的Linformer比标准的Transformer更节省时间和内存。

卷积Attention

1.Conformer: Convolution-augmented Transformer for Speech Recognition

用于语音识别的卷积增强Transformer

方法简述:Conformer是一种结合了卷积神经网络和Transformer的模型,用于语音识别。它能够同时捕捉音频序列的局部和全局依赖关系,并实现了最先进的准确率。在LibriSpeech基准测试中,Conformer在不使用语言模型的情况下实现了2.1%/4.3%的WER,在使用外部语言模型的情况下实现了1.9%/3.9%的WER。此外,它还具有竞争力的小模型,只有10M参数。

2.LITE TRANSFORMER WITH LONG-SHORT RANGE ATTENTION

具有长短范围注意力的轻量级Transformer

方法简述:本文提出了一种高效的移动自然语言处理架构Lite Transformer,它使用长短范围注意力(LSRA)来提高性能。LSRA将一组头专门用于局部上下文建模(通过卷积),另一组头则专门用于长距离关系建模(通过注意力)。在三个语言任务上,Lite Transformer始终优于普通的Transformer。在受限资源下,Lite Transformer比Transformer在WMT’14英法翻译任务上高出1.2/1.7 BLEU分数。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“魔改”领取全部提效方案原文及源码

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

(.htaccess文件特性)[MRCTF2020]你传你呢 1

题目环境&#xff1a; 不难看出是一道文件上传漏洞 上传一句话木马文件burpsuite进行抓包<?php eval($_POST[shell]);?> 命名为PHP文件格式 Repeater进行重放 尝试了其它后缀进行绕过都没有成功 通过 application/x-php内容类型&#xff0c;可以看出被识别出是PHP文件&…

【C++】类和对象(3)--初始化列表(再谈构造函数)

目录 一 引入 二 初始化列表概念 三 初始化列表特性 1 引用和const 2 混合使用 3 自定义成员情况 四 初始化列表中的初始化顺序 五 总结 一 引入 构造函数体赋值 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} priv…

TSINGSEE青犀视频平台EasyCVR自定义可视化页面一览

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#xff0c;也能支…

数据结构—队列的实现

前言&#xff1a;上次我们已经学习了数据结构中一个重要的线性表—栈&#xff0c;那么我们这一次就来学习另外一个重要的线性表—队列。 目录&#xff1a; 一、 队列的概念 二、 队列的实现&#xff1a; 1.队列的创建 三、 队列的操作 1.初始化队列 2.队尾入队列 3.队头出队列…

KOSMOS-G-图像文本结合控制生成

文章目录 摘要引言算法多模态语言建模图像解码器对齐微调instruction 实验结论 论文&#xff1a; 《Kosmos-G: Generating Images in Context with Multimodal Large Language Models》 github&#xff1a; https://github.com/microsoft/unilm/tree/master/kosmos-g 摘要 当…

朋友过生日送什么葡萄酒好呢

现在葡萄酒不但是活跃气氛、制造仪式感的酒精饮品&#xff0c;也是朋友之间礼尚往来的最佳礼品。有人问&#xff0c;朋友过生日送什么葡萄酒好呢&#xff1f;云仓酒庄的品牌雷盛红酒LEESON分享人们觉得红葡萄似乎太严肃&#xff0c;白葡萄酒颜色又太清淡&#xff0c;送一款什么…

pip安装到哪里

可以这样证明&#xff1a;

《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)

这个demo用QT实现了对多个图形项的绘制&#xff0c;包括矩形的绘制&#xff0c;直线的绘制和多边形的绘制&#xff0c;是之前一章中绘制矩形的增强版&#xff0c;之前一章节关于矩形的绘制可以参考&#xff1a;《QT从基础到进阶十五》用鼠标绘制矩形&#xff08;QGraphicsView、…

远程登录Linux方法(Linux平台相互远程;Windows远程登录Linux、远程编码、文件传输;无法远程登录的问题解决;c程序的编译)

在实际使用Linux系统过程中我们不可避免的需要远程登录Linux&#xff0c;这是因为未来大家使用Linux服务器的时候你所对应的那台Linux服务器不一定提供界面(服务器可能在外地)。本篇将会介绍远程登录Linux的方法。 文章目录 1. SSH介绍2. Linux平台相互远程及文件传输2.1 Linux…

准备搞OpenStack了,先装一台最新的Ubuntu 23.10

正文共&#xff1a;1113 字 25 图&#xff0c;预估阅读时间&#xff1a;2 分钟 依稀记得前面发了一篇Ubuntu的安装文档&#xff08;66%的经验丰富开发者和69%的学生更喜欢的Ubuntu的安装初体验&#xff09;&#xff0c;当时安装的是20.04.3的版本&#xff0c;现在看来已经是非常…

C语言数据结构-----栈和队列(概念,代码实现及简单练习)

前言 本篇主要介绍栈和队列的相关知识&#xff0c;练习以及代码实现。 代码主要展示部分功能的实现。完整代码在gitee上查看。 链接: 栈和队列的完整代码实现 文章目录 前言1.栈1.1 栈的概念及结构1.2 栈的实现1.3 栈的代码实现1.3.1 栈的初始化1.3.2 栈顶插入1.3.3 栈顶删除1…

若依框架修改包名报错

1.首先看下报错截图 启动GateWay 2.这个是因为 我改了里面的包名就是下面 ruoyi改成screen爆了上面的问题 3.那么关键的来了&#xff0c;我测了下 改了core不管启动gateway还是modules里面任何一个都会爆打不开工具类的问题 &#xff0c;我看了其他pom也没有引用core&#xff…

功能强大的国产API管理神器 Eolink,亲测好用

前言 大家好&#xff0c;我是小月&#xff0c;今天给大家讲讲最近很火的Eolink&#xff0c;一款功能强大且非常实用的国产 API管理工具。在我们日常的前端、后端开发测试过程中经常会用到API&#xff0c;特别是在大型项目中API管理工具也就必不可少。工欲善其事必先利其器&…

[模版总结] - 树的基本算法1 - 遍历

树结构定义 一种非线性存储结构&#xff0c;具有存储“一对多”关系的数据元素集合 种类 General Tree TrieB/B 树二叉树 满/完满/完全二叉树 完美BT : 除了叶子结点外所有节点都有两个字节点&#xff0c;每一层都完满填充完全BT&#xff1a; 除最后一层以外其他每一层都完美…

FaceBook登录提示密码错误的原因及解决方法

下面这一种类型的提示密码错误&#xff0c;大家首先能够想到的可能就是本身的账号密码有错误&#xff0c;但这个只代表其一。有一种情况的话&#xff0c;他可能根本不是账号或者密码的错误&#xff0c;他仅仅是因为注册的地方和登录的地方不太一样&#xff0c;也会造成这样的结…

【JavaEE初阶】IP协议简介

文章目录 前言&#x1f334;IP协议的概念&#x1f333;IP数据报&#x1f6a9;IPv4协议头格式&#x1f6a9;IPv6的诞生 &#x1f38d;IP地址&#x1f6a9;IP地址的格式&#xff1a;&#x1f6a9;IP地址的分类&#x1f388;网络号与主机号的划分 &#x1f6a9;特殊的IP地址&#…

QGIS之十九矢量投影

效果 步骤 1、准备数据 2、Qgis矢量投影 Qgis工具箱中搜索“投影” 3、结果

算法笔记-第七章-栈的应用(未完成)

算法笔记-第七章-栈的应用 栈的基本常识栈的解释一栈的解释二 栈的操作序列合法的出栈序列可能的出栈序列补充知识点 后缀表达式&#xff08;无优先级&#xff09; 栈的基本常识 栈&#xff08;Stack&#xff09;是只允许在一端进行插入或删除操作的线性表。 栈的解释一 栈的…

Vue dev-tools的安装

安装 Vue 开发者工具&#xff0c;装插件调试Vue应用 1.通过谷歌应用商店来进行安装&#xff08;国外网站&#xff09; 2.极简插件&#xff1a; 搜索 Vue -> 下载解压 -> 浏览器扩展模式打开&#xff0c;开发者模式 -> 将解压的CRX文件拖拽安装 -> 插件详情 &…

YOLOV8目标识别——详细记录从环境配置、自定义数据、模型训练到模型推理部署

一、概述 Yolov8建立在Yolo系列历史版本的基础上&#xff0c;并引入了新的功能和改进点&#xff0c;以进一步提升性能和灵活性。Yolov8具有以下特点&#xff1a; 高效性&#xff1a;Yolov8采用了新的骨干网络、新的Ancher-Free检测头和新的损失函数&#xff0c;可在CPU到GPU的…