首页 > 其他分享 >Meta对Transformer架构下手了:新注意力机制更懂推理

Meta对Transformer架构下手了:新注意力机制更懂推理

时间:2023-11-28 13:15:08浏览次数:44  
标签:Transformer S2A 架构 System CV Meta LLM 上下文 注意力

前言 作者表示,这种全新注意力机制(Sytem 2 Attention)或许你也需要呢。

本文转载自机器之心

仅用于学术分享,若侵权请联系删除

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!

大型语言模型(LLM)很强已经是一个不争的事实,但它们有时仍然容易犯一些简单的错误,表现出较弱的推理能力。

举个例子,LLM 可能会因不相关的上下文或者输入提示中固有的偏好或意见做出错误的判断。后一种情况表现出的问题被叫做「阿谀奉承」,即模型与输入保持一致。

有没有方法来缓解这类问题呢?有些学者试图通过添加更多监督训练数据或通过强化学习策略来解决,但这些无法从根本上解决问题。

近日 Meta 研究者在论文《System 2 Attention (is something you might need too)》中认为,根本问题在于 Transformer 本身固有的构建方式,尤其是其注意力机制。也就是说,软注意力既倾向于将概率分配给大部分上下文(包括不相关的部分),也倾向于过度关注重复的 token。

因此,研究者提出了一种完全不同的注意力机制方法,即通过将 LLM 用作一个自然语言推理器来执行注意力。具体来讲,他们利用 LLM 遵循指令的能力,提示它们生成应该注意的上下文,从而使它们只包含不会扭曲自身推理的相关资料。研究者将这一过程称为 System 2 Attention(S2A),他们将底层 transformer 及其注意力机制视为类似于人类 System 1 推理的自动操作。

当人们需要特意关注一项任务并且 System 1 可能出错时,System 2 就会分配费力的脑力活动,并接管人类的工作。因此,这一子系统与研究者提出的 S2A 具有类似目标,后者希望通过额外的推理引擎工作来减轻上述 transformer 软注意力的失败。

论文地址:https://arxiv.org/pdf/2311.11829.pdf

研究者详细描述了 S2A 机制的类别、提出该机制的动机以及几个具体实现。在实验阶段,他们证实与基于标准注意力的 LLM 相比,S2A 可以产生更讲事实、更少固执己见或阿谀奉承的 LLM。

特别是在问题中包含干扰性观点的修正后 TriviQA 数据集上,与 LLaMA-2-70B-chat 相比,S2A 将事实性从 62.8% 提高到 80.3%;在包含干扰性输入情绪的长格式参数生成任务重,S2A 的客观性提高了 57.4%,并且基本上不受插入观点的影响。此外对于 GSM-IC 中带有与主题不相关语句的数学应用题,S2A 将准确率从 51.7% 提高到了 61.3%。

这项研究得到了 Yann LeCun 的推荐。

 

System 2 Attention

下图 1 展示了一个伪相关示例。当上下文包含不相关的句子时,即使是最强大的 LLM 也会改变关于简单事实问题的答案,从而因为上下文中出现的 token 无意间增加了错误答案的 token 概率。

因此我们需要探究一种依赖更深入理解的更深思熟虑的注意力机制。为了与更底层的注意力机制区分开来,研究者将提出的系统称为 S2A。他们探索了利用 LLM 本身来构建这样一种注意力机制的方法,尤其是利用指令调整 LLM 通过移除不相关的文本来重写上下文。

通过这种方式,LLM 可以在输出响应之前对要关注的输入部分做出深思熟虑的推理决定。使用指令调整的 LLM 还有另一个好处,即可以控制注意力焦点,这有点类似于人类控制自己注意力的方式。

S2A 包含两个过程:

  • 给定上下文 x,S2A 首先重新生成上下文 x ',从而删除会对输出产生不利影响的上下文的不相关部分。本文将其表示为 x ′ ∼ S2A (x)。
  • 给定 x ′ ,然后使用重新生成的上下文而不是原始上下文生成 LLM 的最终响应:y ∼ LLM (x ′ )。

 

替代实现和变体

本文考虑了 S2A 方法的几种变体。

无上下文和问题分离。在图 2 的实现中,本文选择重新生成分解为两部分(上下文和问题)的上下文。图 12 给出了该提示变体。

保留原始上下文在 S2A 中,在重新生成上下文之后,应该包含所有应该注意的必要元素,然后模型仅在重新生成的上下文上进行响应,原始上下文被丢弃。图 14 给出了该提示变体。

指令式提示。图 2 中给出的 S2A 提示鼓励从上下文中删除固执己见的文本,并使用步骤 2(图 13)中的说明要求响应不固执己见。

强调相关性与不相关性。以上 S2A 的实现都强调重新生成上下文以提高客观性并减少阿谀奉承。然而,本文认为还有其他需要强调的点, 例如,人们可以强调相关性与不相关性。图 15 中的提示变体给出了这种方法的一个实例:

 

实验

本文在三种设置下进行了实验:事实问答、长论点生成以及对数学应用题的解决。此外,本文还使用 LLaMA-2-70B-chat 作为基础模型,在两种设置下进行评估:

  • 基线:数据集中提供的输入提示被馈送到模型,并以零样本方式回答。模型生成可能会受到输入中提供的虚假相关性的影响。
  • Oracle Prompt:没有附加意见或不相关句子的提示被输入到模型中,并以零样本的方式回答。

图 5 (左) 展示了在事实问答上的评估结果。System 2 Attention 比原来的输入提示有了很大的改进,准确率达到 80.3%—— 接近 Oracle Prompt 性能。

图 6(左)显示了长论点生成的总体结果,基线、Oracle Prompt 以及 System 2 Attention 都被评估为可以提供类似的高质量评估。图 6(右)为细分结果:

图 7 显示了不同方法在 GSM-IC 任务上的结果。与 Shi 等人的研究结果一致,本文发现基线准确率远低于 oracle。当不相关的句子与问题属于同一主题时,这种影响甚至更大,如图 7(右)所示。

了解更多内容,请参考原论文。

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

分享一个CV知识库,上千篇文章、专栏,CV所有资料都在这了

明年毕业,还不知道怎么做毕设的请抓紧机会了

LSKA注意力 | 重新思考和设计大卷积核注意力,性能优于ConvNeXt、SWin、RepLKNet以及VAN

CVPR 2023 | TinyMIM:微软亚洲研究院用知识蒸馏改进小型ViT

ICCV2023|涨点神器!目标检测蒸馏学习新方法,浙大、海康威视等提出

ICCV 2023 Oral | 突破性图像融合与分割研究:全时多模态基准与多交互特征学习

听我说,Transformer它就是个支持向量机

HDRUNet | 深圳先进院董超团队提出带降噪与反量化功能的单帧HDR重建算法

南科大提出ORCTrack | 解决DeepSORT等跟踪方法的遮挡问题,即插即用真的很香

1800亿参数,世界顶级开源大模型Falcon官宣!碾压LLaMA 2,性能直逼GPT-4

SAM-Med2D:打破自然图像与医学图像的领域鸿沟,医疗版 SAM 开源了!

GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR

Meta推出像素级动作追踪模型,简易版在线可玩 | GitHub 1.4K星

CSUNet | 完美缝合Transformer和CNN,性能达到UNet家族的巅峰!

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

标签:Transformer,S2A,架构,System,CV,Meta,LLM,上下文,注意力
From: https://www.cnblogs.com/wxkang/p/17861695.html

相关文章

  • dremio metabase 高版本jdk连接问题
    目前已经有不少新项目都是使用了高版本的jdk,比如不少使用了jdk11,还有直接使用jdk17的dremiojdbc驱动支持的jdk主要是8,对于其他高版本jdk的支持会有一些问题核心是netty相关的以下是一个参考配置启动参数配置适合jdk17以及以上版本的 java--add-opens=java.base/java.......
  • Rancher七--基础架构
    1.Swarm在Rancher中部署Swarm,您首先需要添加一个新的环境。这个环境需要使用编排引擎为Swarm的环境模版进行创建。需求Docker1.13以上端口 2377 以及 2378 需要能在主机之间相互访问。创建一个Swarm环境在左上角的环境的下拉菜单中,点击环境管理。通过点击添加环境去创建一......
  • VM虚拟机安装系统出现架构不兼容提示
    报错内容:无法打开此虚拟机的电源,因为此虚拟机需要使用Arm计算机架构,而该架构与此X86计算机架构主机不兼容。请参见知识库文章84273。解决方法:这是因为镜像所需的架构和计算机本身的架构不兼容,比如我下载的就是arm64架构的iso镜像,但是我本身的电脑是win11系统,是x86_64系统,......
  • GWAS:plink进行meta分析
    之前教程提到过Metal是可以做Meta分析,除了Metal,PLINK也可以进行Meta分析。命令如下所示:plink--meta-analysisgwas1.plinkgwas2.plinkgwas3.plink+logscaleqt--meta-analysis-snp-fieldSNP--meta-analysis-chr-fieldCHR--meta-analysis-bp-fieldBP--meta-analysis......
  • nn.transformer
     torch上给的案例transformer_model=nn.Transformer(nhead=16,num_encoder_layers=12)#创建一个具有16个注意力头和12个编码器层的Transformer模型src=torch.rand((10,32,512))#创建一个形状为(10,32,512)的随机输入张量,代表序列的编码器输入tgt=torch.rand......
  • SD Host控制器微架构设计
    微架构设计思路ahb_slave_if中的寄存器可以在datasheet中进行描述sd_clk-时钟产生模块的接口描述sd_data_fsm和sd_cmd_fsm-状态机描述发送时序需要遵守,并且在发送的时候需要产生CRC接受时序需要遵守,并且要接收CRC,进行比较FiFo中有存储体存储数据,FiFo_ctrl模块进行......
  • 在x86_64的ubuntu下载并运行aarch64架构的容器
    在x86_64的ubuntu下载并运行aarch64架构的容器docker仓库官网https://hub.docker.com/docker操作相关指令#拉取docker镜像sudodockerpull镜像名称#加载本地docker文件sudodockerload-i文件路径#进入相关容器sudodockerexec-it容器名称或容器ID/bin/bash#显......
  • 元空间 metaspace
    JVM(JavaVirtualMachine)的元空间(Metaspace)是在Java8之后引入的一个新的内存区域,用于存储类的元数据信息,取代了之前版本中的永久代(PermGen)。元空间不再受到永久代的限制,它的内存可以动态地增长或缩小,不再导致常见的永久代内存溢出错误。元空间的主要作用是存储以下......
  • 2023版Web前端架构师:引领前端开发的创新与变革
    2023版Web前端架构师:引领前端开发的创新与变革一、前言随着互联网技术的飞速发展,Web前端领域也在不断演进。作为一名2023版的Web前端架构师,你需要具备广博的技术知识、卓越的架构能力以及敏锐的市场洞察力,从而引领前端开发的创新与变革。本文将为你揭示如何在这个充满挑战与机遇的......
  • 软件测试/人工智能|AutoGPT原理与架构介绍
    简介我们生活中已经有越来越多的人工智能融入了,手机汽车等等接入了越来越多的人工智能,人工智能就像是我们的一个助手一样。不仅能够理解我们的需求,而且还能够与我们一起学习与成长。人工智能已无缝融入我们工作、生活,并帮助我们有效完成各种目标。大模型技术的发展与应用,使以上想法......