ACL 2024 | CoCA:自注意力的缺陷与改进

news2024/11/18 18:45:12

近年来,在大语言模型(LLM)的反复刷屏过程中,作为其内核的 Transformer 始终是绝对的主角。然而,随着业务落地的诉求逐渐强烈,有些原本不被过多关注的特性,也开始成为焦点。例如:在 Transformer 诞生之初,被视为天然具备的长度外推能力,随着相关研究的深入,人们发现,传统的 Transformer 架构在训练长度之外无一例外表现出糟糕的推理性能。

在本文中,作者从一个全新的视角,剖析了造成这种糟糕表现的可能原因,并给出了相应的解决方案。文章主要聚焦于 Self-Attention (Vaswani et al., 2017) 与 RoPE (Su et al., 2021) 的碰撞,后者是近年较多开源模型所采用的位置编码方式,例如:LLaMA (Touvron et al., 2023a) 和 Qwen (Bai et al., 2023)。

论文已被ACL 2024接收,技术细节可以查看预印版本:https://arxiv.org/abs/2309.08646

图片

引言:

在自注意力 (Vaswani et al., 2017) 诞生之初,长度外推被认为是一种理所当然的能力。然而,随着实际应用的不断验证,这在事实上是有难度的,进而产生了一系列相关的优化工作。

现有工作通常聚焦于2个方向:注意力模块和位置编码,并有一系列优秀的工作产生。如:Longformer (Beltagy et al., 2020)、StreamingLLM (Xiao et al., 2023)、LM-Infinite (Han et al., 2023)、Alibi (Press et al., 2021)、Position Interpolation (PI) (Chen et al., 2023)、NTK-aware Scaled RoPE (bloc97, 2023)、CLEX (Chen et al., 2024) 等。

本文从一个全新的视角,揭示了自注意力与位置编码之间的内在联系(尤其是如今广泛应用的RoPE)。自注意力之中,查询和键之间天然存在的夹角,将位置编码引入了意料之外的困境,尤其是对具有关键信息的邻近位置的估计,存在不符合预期的异常行为。文章以此为切入,提出了相应的解决方案。

主要贡献如下:

  • 揭示了自注意力与位置编码之间的一种异常行为

  • 提出了 Collinear Constrained Attention (CoCA) 以解决上述问题

  • 实验表明 CoCA 在长上下文处理能力比常规自注意力具有显著优势

  • 开源了一份 CoCA 高效实现,不会增加现有计算和空间复杂度

图片

Fig. 1. CoCA model architecture.

01

背景

旋转位置编码

理论完备性和简洁的实现,使 RoPE 成为了多数开源模型的选择。RoPE 通过旋转矩阵来编码每一个 Token 的位置信息,并利用查询和键的旋转复合,来实现相对位置的表达。

图片

Fig. 2. rotary position embedding.(Su et al., 2021)

异常行为

在 Transformer 模型中,核心思想是计算 query 和 key 之间的关系。注意力机制使用这些关系来决定模型应该“关注”输入序列中的哪些部分。而 RoPE 利用旋转矩阵来编码位置信息的过程中,存在以下潜在的异常行为,如图 3 所示:

图片

Fig. 3. Anomalous Behavior between RoPE and Attention Matrices.

情况(b)和(c):这是符合预期的行为,因为 query 和 key 之间注意力得分随着 m 和 n 的距离变大而逐渐减小,符合“近大远小”的先验假设。

情况(a)和(d):这是发生异常的行为,因为在最邻近的 Token 处,注意力得分预期之外的衰减,模型为了补偿这种衰减,必须在训练阶段给邻近 Token 补偿额外的增益,进而在长度外推过程中产生训练/推理的不一致。

02

CoCA实现

共线约束

基于上述观察,一个很自然的想法是让 Self-Attention 中的query和key初始夹角为0,这是论文中共线约束(Collinear Constrained Attention)的由来。

详细的推导和公式,这里不进行一一展开,读者可以阅读原文进行深入理解,这里只给出核心公式:

图片

与原始的 Self-Attention 和 RoPE 相比,上述公式表达了CoCA 的核心:即在第 m 个 query 和第 n 个 key 之间建立联系,使它们的任意一个二维切片共线,从而保证 query 和 key 初始夹角为 0 。

松弛约束

然而,上述共线约束所导出的精确解仅仅在理论上可行,实际操作过程中,由于空间复杂度的问题,并不能够实现。为此,文章中给出了一种“对偶”实现,并证明了两者的等价性。

核心公式如下:

图片

文章中证明了“对偶”实现施加以下额外约束后,等价于理论精确解:

图片

最后,文章移除该额外约束,并得到CoCA的最终实现,这是松弛约束(Slack Constraint)的由来。

03

实验结果

长文本能力

文章分别评估了重新训练和基于LLaMA微调2种方式,在PG-19 数据集 (Rae et al., 2019)和 (Mohtashami & Jaggi, 2023) 提出的密钥检索综合评估任务,均表明CoCA相比常规的Self-Attention在长文本能力上具有显著优势。

图片

Fig. 4. Experiment Results.

消融实验

文章对比了松弛约束和非松弛版本的模型,得到了一些出人意料的结果:即尽管模型结构一致,但松弛约束具有更大的上下文窗口,且不影响模型表达能力。

图片

Fig. 5.  Ablation study.

04

总结

文章提出了一种新的自注意力架构,以解决 RoPE 和原始 Self-Attention 之间的异常行为。这是首次对自注意力机制中查询和键的相对位置的深入研究,并由此发现了此前被忽视的位置编码异常。文章进一步导出了 CoCA 的松弛实现,并在大量实验上表明了该方法在长文本扩展上的优越性。同时,CoCA 与其他优化方法的兼容性,也为其未来的实用价值提供了基础。

CoCA 开源地址:https://github.com/codefuse-ai/Collinear-Constrained-Attention

参考文献

CoCA 预印版本:https://arxiv.org/abs/2309.08646

致谢

感谢来自 Moonshot AI Ltd 的苏剑林和Sangfor Technology 的黄忠强,在论文修改过程中提出的宝贵建议。

本文属于 CodeFuse 模型创新成果,想了解更多CodeFuse 详情和互动交流,欢迎加入 CodeFuse 技术交流群。

获取最新信息,你还可以扫描二维码直接加入群聊

图片

阅读原文

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

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

相关文章

Shopee Live的订单量在泰国猛增超40倍!然鹅,泰国站佣金费率上调,还有得做吗?

Shopee,作为东南亚地区电子商务领域的佼佼者,不仅在区域内树立了行业标杆,更在泰国这一充满活力的市场中占据了举足轻重的地位。其创新的商业模式与不断优化的服务体验,赢得了广大消费者的青睐与信赖。近日,Shopee官方…

合成孔径雷达原理与应用(四)

合成孔径雷达原理与应用(四) 2. 应用2.7. 沉降形变滑坡2.7.1. 地面沉降2.7.2. 铁路沉降2.7.3. 大坝形变2.7.4. 机场形变2.7.5. 桥梁形变2.7.6. 滑坡监测 2. 应用 2.7. 沉降形变滑坡 2.7.1. 地面沉降 由图2-17可知,从整体的区域分布上来看&a…

iPad手写笔哪款比较好?2024五款爆火iPad电容笔推荐!新手必看!

在iPad等触控设备日益普及的今天,手写笔作为提升生产力和创意表达的重要工具,正受到越来越多用户的青睐。然而,随着市场需求的激增,市面上电容笔品牌与型号繁多,跟风购买往往容易遭遇“踩雷”情况。因此,作…

认识不-物联网“六域模型”有哪些有什么作用

如下参考源于苏州稳联授权可见认知域-感知域-网络域-应用域-管理域-安全域-物联网六域模型 苏州稳联 (iotrouter.cn) 认识物联网“六域模型”:构成与作用 “六域模型”是一个有效的框架。这个模型通过将物联网划分为六个相互关联的域,帮助我们更好地理…

docker介绍与详细安装

1 docker 介绍 1.1 虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实…

关键帧功能怎么使用 关键帧控制视频特效怎么用 会声会影视频剪辑软件教程

一篇文章,轻松掌握关键帧的用法,小白也能将关键帧玩得出神入化。在专业级的视频剪辑软件中,滤镜、转场、调色、遮罩等功能都离不开关键帧。可以毫不夸张地说,学会了关键帧的用法,就等于掌握了视频特效的基本逻辑 一、…

Qualcomm QCA206x EasyMesh For Ubuntu

1. 引言 关于EasyMesh概念我们这里就不再过多的赘述,此篇文档的目的是,让广大初学者,有一个很方便的平台进行EasyMesh的学习和测试。 2. X86 Ubuntu平台 2.1 硬件环境准备 备注:QCA206x WiFi module推荐使用移远的FC64E/FC66E。…

详解yolov5的网络结构

转载自文章 网络结构图(简易版和详细版) 此图是博主的老师,杜老师的图 网络框架介绍 前言: YOLOv5是一种基于轻量级卷积神经网络(CNN)的目标检测算法,整体可以分为三个部分, ba…

大数据平台之CDC (Chanage Data Capture) 方案

Change Data Capture (CDC) 是一种用于跟踪和捕获数据库中数据变更的技术,它可以在数据发生变化时实时地将这些变更捕获并传递到下游系统。以下是一些常用的开源 CDC 方案: 1. Flink CDC Flink CDC 是基于 Apache Flink 的一个扩展,它通过集…

.NET下的开源OCR项目:解锁图片文字识别的新篇章

在数字化时代,从图片中高效准确地提取文字信息已成为众多应用场景的迫切需求。OCR(Optical Character Recognition,光学字符识别)技术正是满足这一需求的关键技术。对于.NET开发者而言,幸运的是,存在多个开…

Wireshark网络抓包工具入门指南

目录 引言 安装抓包工具 抓包基础概念 抓包步骤 流程 抓包工具头的分析 14.3 以太网的完整帧格式 粘包与拆包现象解析及解决方案 发生原因 解决方案 14.3.1以太网头 14.3.2 IP头 14.3.3 UDP头 14.3.4 TCP头 引言 Wireshark是一款功能强大的开源网络协议分析器&am…

2024企业加密软件丨为什么企业需要防泄密

企业为什么需要防泄密? 企业的数据中包含了许多核心机密,如研发成果、商业计划、客户资料等。这些信息的泄露可能使竞争对手获得不正当的优势,给企业带来严重损失。 数据泄露事件往往会对企业的声誉造成负面影响,降低客户信任度…

数字化装备场转型,RFID军标桌面发卡器再现创新风暴

在过去,人们主要依靠条形码扫描枪、简单手工抄录等方式来记录数据。部队数字化装备场的出现,对普通发卡器有更高层次的需求:广州一芯未来在传统发卡器基础上,研发出一款利用无线射频信号与RFID军标标签进行通信的设备——RFID军标…

三线表学习记录

参考链接 1,必须使用三线表?全线表如何改为三线表? 这个帖子写的不错。 2,https://www.zhihu.com/question/609126613/answer/3368122091 我设置了三线表格式,可以直接套用。 这块学习先到此为止,7月4号…

新闻发布及管理系统-计算机毕业设计源码21929

新闻发布及管理系统的设计与实现 摘 要 新闻发布及管理系统的设计与实现,是当下信息社会发展的重要一环。随着互联网的普及和新闻媒体的数字化转型,一个高效、稳定且功能全面的新闻发布与管理平台显得尤为重要。SpringBoot框架以其简洁、快速和易于集成的…

什么是声明式编程?发展趋势怎么样的?

一、什么是声明式编程? 声明式编程(Declarative programming)是一种编程范式,与命令式编程相对立。它主要描述目标的性质,让计算机明白目标,而非具体的执行流程。在声明式编程中,开发者只需声明…

程序员,去哪个城市工作更幸福?

深漂、沪漂、京漂、杭漂……又是一年毕业季,作为CS专业or新手程序员会选择什么城市工作呢?希望这篇文章给各位一些参考。 根据拉勾招聘大数据研究院的数据显示,超六成程序员集中在一线城市,其中北京19%,深圳16%&#x…

程序员自由创业周记#37:程序员创业的几个方向

程序员自由创业周记#37:程序员创业的几个方向 报志愿 这几天亲戚一外甥报志愿,让我推荐,我基于自己的认知觉得还是计算机相关是第一优选,即便现在各大互联网公司都过得不怎么好,裁员的消息此起彼伏,很多计…

UE5 01-给子弹一个跟角色一致的向前的方向的冲量

默认Pawn 负责角色位置, 默认PlayerController 负责记录角色相机旋转

微信全民经纪人活动怎么搭建

在这个信息爆炸的时代,如何借助微信这一拥有数亿用户的社交平台,让每一个普通人都成为我们产品的“经纪人”,共同推动品牌的发展,成为了我们面临的重大课题。今天,我们将为您揭开一场以“全民经纪人”为主题的活动盛宴…