Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

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

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

大型语言模型(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(右)所示。

图片

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

工程Sytem 2 Attention
1
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

推理引擎技术

推理机是实施问题求解的核心执行机构,常见于专家系统。它是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中去。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

自然语言推理技术

自然语言推理是在给定“前提”的情况下确定“假设”是真(蕴涵),假(矛盾)还是未确定(中立)的任务。

推荐文章
暂无评论
暂无评论~