线性注意力机制全新升级!性能显著提高,速度、精度更优

线性注意力机制通过对传统注意力机制中的Softmax操作进行线性化处理,可以提高Transformer模型的并行性能、降低复杂度,在计算效率、模型表达能力等方面都具有优势。

作为一种常用有效的优化方法,线性注意力机制可以在保证模型性能的同时提高计算效率。而近期,有关线性注意力机制的研究有了新的成果,其中最具代表的就是代理注意力、TransNormerLLM。

  • Agent Attention:Softmax注意力与线性注意力的结合,创造了一种既高效又强大的新型注意力机制。这种结合体现在所谓的“代理注意力”中,它通过两个常规的Softmax注意力操作的组合,实现了高性能和高效率的融合。

  • TransNormerLLM:第一个基于线性注意力的大模型,完全抛弃了基于 Softmax 的注意力机制,而是使用了新提出的线性注意力。

除以上两种创新以外,还有一些值得关注的线性注意力机制相关成果,都是前沿最新,我也帮同学们列出了部分成果的方法和创新点,大家可以借鉴学习,目前共有9篇,附上开源代码方便复现。

论文以及开源代码需要的同学看文末

Agent Attention

Agent Attention: On the Integration of Softmax and Linear Attention

方法:论文提出了一种新颖的注意力机制,Agent Attention,用于在计算效率和表示能力之间取得良好的平衡。Agent Attention引入了一组额外的代理令牌A到传统的注意力模块中,通过代理令牌A从键K和值V中聚合信息,并将信息广播回查询令牌Q。Agent Attention可以显著提高计算效率,同时保持全局上下文建模能力。

创新点:

  • 作者引入了一种新的注意力范式,称为Agent Attention,它是一种高效的注意力机制,能够在计算效率和表示能力之间取得良好的平衡。

  • Agent Attention通过引入额外的代理令牌,将传统的Softmax注意力与线性注意力无缝集成,既具有高表达能力又具有低计算复杂度。

  • 通过在各种视觉Transformer模型和不同的视觉任务中进行广泛实验证明了Agent Attention的有效性,特别是在高分辨率场景下。

  • Agent Attention还可以直接应用于预训练的大规模扩散模型,加速图像生成过程并显著提高生成质量。

TransNormerLLM

TransNormerLLM: A Faster and Better Large Language Model with Improved TransNormer

方法:论文介绍了一种改进的TransNormer模型——TransNormerLLM,该模型在准确性和效率方面均优于传统的Transformer模型。作者还提出了一种原始推理算法,并对GLA结构的激活函数进行了实验。此外,作者还对模型并行性和系统优化技术进行了评估,包括它们对训练速度和上下文长度的影响。

创新点:

  • TransNormerLLM是一种改进的TransNormer,专为LLMs定制。

  • TransNormerLLM在准确性和效率方面始终优于Transformers。

  • TransNormerLLM在位置编码、门控机制、激活函数、归一化函数和闪电注意力方面进行了修改和创新,这些修改共同促成了TransNormerLLM的出色性能,使其成为最先进语言模型的有希望选择。

  • TransNormerLLM的基准结果表明,具有3.85亿、10亿和70亿参数的模型不仅与当前领先的基于Transformer的大型语言模型的性能相匹配,而且具有更快的推理速度。

其他创新方法

Lightning Attention-2: A Free Lunch for Handling Unlimited Sequence Lengths in Large Language Models

方法:论文提出了Lightning Attention-2,这是第一个能够实现线性注意力的理论计算优势的线性注意力实现。为了实现这一目标,作者采用了切分和平铺技术的思想,分别处理线性注意力计算中的内部块和间隔块组件。具体而言,作者利用传统的注意力计算机制处理内部块,并对间隔块应用线性注意力核技巧。通过前向和后向过程中的平铺技术,充分利用GPU硬件的优势。

创新点:

  • Lightning Attention-2在计算速度上具有显著优势,这归功于其创新的内部-外部分离策略。

  • Lightning Attention-2相比其他机制具有更小的内存占用,而不会影响性能。

FLatten Transformer: Vision Transformer using Focused Linear Attention

方法:论文提出了一种新颖的聚焦线性注意力模块。通过从关注能力和特征多样性的角度解决以前线性注意力方法的局限性,作者的模块实现了高效性和表达能力的令人印象深刻的结合。在图像分类、目标检测和语义分割等广泛实验中,作者的模块可以广泛应用于各种视觉Transformer,并在计算效率和模型性能之间取得更好的平衡。

创新点:

  • Focused Linear Attention:通过对线性注意力的性能下降进行了详细分析,从关注能力和特征多样性两个方面提出了改进方法,解决了线性注意力的性能问题,实现了高效性和表达能力。

  • Vision Transformer:在计算机视觉领域引入了Transformer和自注意机制,但由于计算复杂度高,直接应用于视觉任务存在困难。先前的研究从多个角度尝试解决这个问题,如减少输入分辨率、采用稀疏注意力模式、逐渐降低特征分辨率等。这些方法在一定程度上解决了计算复杂度的问题,但仍存在一些限制。

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

回复“线性注意力”获取论文+代码

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

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

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

相关文章

qt 开发 “控件之家“

本篇文章我们来描述一下Qt 控件 是qt中最基本 也是最难缠的 有种“小鬼难缠的感觉” qt常用控件大集合 Qt是一个广泛使用的跨平台应用程序框架,它提供了许多用于构建图形用户界面(GUI)的控件。以下是一些Qt中常用的控件: QPushButton:这是…

软考 系统分析师系列知识点之信息系统战略规划方法(12)

接前一篇文章:软考 系统分析师系列知识点之信息系统战略规划方法(11) 所属章节: 第7章. 企业信息化战略与实施 第4节. 信息系统战略规划方法 7.4.8 战略一致性模型 信息化战略接受企业战略的指导,企业战略需要信息化…

链表总结 -- 《数据结构》-- c/c++

链表的概念 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的…

适用于Android 的 7 大短信恢复应用程序

对于 Android 用户来说,丢失重要的短信可能是一种令人沮丧的体验。幸运的是,有许多短信恢复应用程序可以帮助恢复丢失或删除的短信。在本文中,将与您分享 7 个最佳短信恢复应用程序,并帮助您找到可用于恢复已删除消息的最佳应用程…

【网工】华为设备命令学习(防火墙)

实验目的PC1连接到外网。 关于防火墙的其他知识后续补充。 ensp里的防火墙 用户名admin 密码Admin123 防火墙的接口类型 1.路由模式 物理口可以直接配. ​​​​​2.交换模式 物理口不能直接配IP,类似交换机,可以配vlan 首先我们先要对各个设备进…

2.1.1 摄像头

摄像头 更多内容,请关注: github:https://github.com/gotonote/Autopilot-Notes.git 摄像头是目前自动驾驶车中应用和研究最广泛的传感器,其采集图像的过程最接近人类视觉系统。基于图像的物体检测和识别技术已经相当成熟&#…

【TC3xx芯片】TC3xx芯片SMU模块详解

目录 前言 正文 1.SMU功能概述 1.1 SMU架构 1.2 SMU_core 1.3 SMU_stdby 2. SMU功能详述 2.1 SMU_core 2.1.1 Reset类型 2.1.2 接口(Interfaces)概述 2.1.2.1 SMU_core到SCU的接口 2.1.2.2 SMU_core到IR的接口 2.1.2.3 SMU_core到Ports(Err…

私立医院患者大数据分析平台建设方案

一、项目目标 1、数据质量,统计数字不仅是真实可信,而且要及时,便于及时判断企业经营情况,同时通过内外部数据的对标,发现企业经营问题。 2、提供指标的监控预警,为决策提供支持,减少杂乱无用报表的生产。 3、提升数据处理效率,提高报表的可用性,让数据标准化,提高…

英文论文(sci)解读复现【NO.18】基于DS-YOLOv8的目标检测方法用于遥感图像

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

代码随想录算法训练营第三十四天|860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 细节: 1. 首先根据题意就是只有5.的成本,然后就开始找钱,找钱也是10.和5. 2. 直接根据10 和 5 进行变量定义,然后去循环…

面试经典150题——螺旋矩阵

"The harder the conflict, the more glorious the triumph." - Thomas Paine 1. 题目描述 2. 题目分析与解析 2.1 思路一 看到题目,先仔细观察矩阵,题目要求我们给出顺时针遍历的结果即可,我们根据矩阵可以看出,首…

Android 12.0 MTK Camera2 设置默认拍照尺寸功能实现

1.前言 在12.0的系统rom定制化开发中,在mtk平台的camera2关于拍照的一些功能修改中,在一些平台默认需要设置最大的分辨率 来作为拍照的分辨率,所以就需要了解拍照尺寸设置流程,然后来实现相关的功能 如图: 2.MTK Camera2 设置默认拍照尺寸功能实现的核心类 \vendor\me…

.NET Core MongoDB数据仓储和工作单元模式实操

前言 上一章节我们主要讲解了MongoDB数据仓储和工作单元模式的封装,这一章节主要讲的是MongoDB用户管理相关操作实操。如:获取所有用户信息、获取用户分页数据、通过用户ID获取对应用户信息、添加用户信息、事务添加用户信息、用户信息修改、用户信息删除…

Matplotlib plt.scatter:从入门到精通,只需一篇文章!

Matplotlib plt.scatter:从入门到精通,只需一篇文章!🚀 利用Matplotlib进行数据可视化示例 🌵文章目录🌵 一、plt.scatter入门:轻松迈出第一步 👣二、进阶探索:plt.scatt…

使用Docker Compose搭建Redis主从复制

在Docker中搭建Redis主从架构非常方便,下面是一个示例,演示一下如何使用Docker Compose搭建一个Redis主从复制环境。首先,确保我们本地环境已经安装了Docker和Docker Compose。 我这里使用OrbStack替代了Docker desktop。 1. 创建一个名为r…

Ansible file文件模块 设置文件的属性,比如创建文件、创建链接文件、删除文件

目录 语法创建目录创建链接文件删除文件 每个值的属性 语法 创建目录 ansible slave -m file -a path/data/app statedirectory path/data/app # 定义创建路径 statedirectory # 如果目录不存在就创建目录这就是创建目录成功之后的回显 可以看到,已经打印出目录a…

OLMo 以促进语言模型科学之名 —— OLMo Accelerating the Science of Language Models —— 全文翻译

OLMo: Accelerating the Science of Language Models OLMo 以促进语言模型科学之名 摘要 语言模型在自然语言处理的研究中和商业产品中已经变得无所不在。因为其商业上的重要性激增,所以,其中最强大的模型已经闭源,控制在专有接口之中&#…

stl~string

迭代器 typedef char* iterator;typedef const char* const_iterator;iterator begin(){return _str;}iterator end(){return _str _size;}const_iterator begin() const//左值const{return _str;}const_iterator end() const{return _str _size;} for(auto e : …

排序算法---计数排序

原创不易,转载请注明出处。欢迎点赞收藏~ 计数排序(Counting Sort)是一种线性时间复杂度的排序算法,其核心思想是通过统计待排序元素的个数来确定元素的相对位置,从而实现排序。 具体的计数排序算法步骤如下&#xff…

政安晨:【示例演绎】【Python】【Numpy数据处理】快速入门(一)

简介 NumPy是SciPy家族的成员之一。 SciPy家族是一个专门应用于数学、科学和工程领域的开源Python生态圈,或者说是一个由多个Python库组成的集合,用于解决科学计算中的各种问题。这些库构成了一个功能强大的科学计算工具箱,可以进行数值计算…