CN115577796A - 用重用transformer利用注意力中的冗余 - Google Patents

用重用transformer利用注意力中的冗余 Download PDF

Info

Publication number
CN115577796A
CN115577796A CN202211220686.6A CN202211220686A CN115577796A CN 115577796 A CN115577796 A CN 115577796A CN 202211220686 A CN202211220686 A CN 202211220686A CN 115577796 A CN115577796 A CN 115577796A
Authority
CN
China
Prior art keywords
attention
layer
reuse
machine learning
layers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211220686.6A
Other languages
English (en)
Inventor
文卡塔·S·博贾纳帕里
安德烈亚斯·法伊特
阿扬·查克拉巴尔蒂
弗雷德里克·利乌
黑曼舒·贾殷
米夏尔·卢卡西克
桑吉夫·库马尔
张潆文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN115577796A publication Critical patent/CN115577796A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Machine Translation (AREA)

Abstract

本公开涉及用重用TRANSFORMER利用注意力中的冗余。提供的是通过在Transformer或其他基于注意力的神经网络或机器学习模型的层和/或头之间重用许多注意力分数来改进该模型的计算效率的系统和方法。为了在实现可比较的或甚至优良的结果的同时降低基于自注意力的模型的计算成本,本公开的示例方面提出在一个或多个后续层中重用在一个层中计算的注意力分数的新颖架构。

Description

用重用TRANSFORMER利用注意力中的冗余
相关申请
本申请要求2021年10月5日提交的美国临时专利申请号63/252,489的优先权。美国临时专利申请号63/252,489通过引用整体并入本文。
技术领域
本公开通常涉及机器学习。更特别地,本公开涉及通过在Transformer或其他基于注意力的神经网络或机器学习模型的层和/或头之间重用许多注意力分数来改进该模型的计算效率的系统和方法。
背景技术
最近,诸如通常称为“Transformer”的那些基于注意力的模型已经跨许多任务示出了高质量结果。这些高质量结果主要由模型实现或者是由模型执行“自注意力”操作(还称为“注意力机制”)的功能。
在一些示例自注意力操作中,能够相对于输入嵌入的序列内的所有其他嵌入为该序列内的每个嵌入计算注意力分数。能够在任何给定模型内执行此过程或操作相当多的次数。例如,典型的Transformer模型将包含许多注意力层,其中每个注意力层包括许多注意力头,其中每个注意力头对该层的相应输入执行如上所述的自注意力操作。
注意力操作是相对计算上成本高的(例如,需要大量处理器使用和/或存储器空间)。此外,众所周知,注意力计算的成本随输入序列长度呈二次增长并且这对训练用于长序列长度任务的模型提出挑战。
更特别地,Transformer是跨自然语言处理和计算机视觉中的任务实现现有技术水平性能的序列到序列模型。Transformer用其计算输入序列的上下文嵌入的注意力层实现高性能。在一些示例中,注意力层能够基于输入词元(tokens)的成对点积来计算注意力分数。通常在层中存在对输入的不同投影操作的多个此类自注意力头。
自注意力层已经成为对注意力分数的可解释性和注意力在语言理解中的作用进行分析的许多最近研究的主题。许多这种分析是定性的或者集中于注意力层的特定自然语言能力,因此,未能补救与注意力层相关联的计算挑战。
发明内容
本公开的实施例的各方面和优点将部分地在以下描述中阐述,或者能够从说明书中学习,或者能够通过对实施例的实践来学习。
本公开的一个示例方面涉及一种用于以改进的计算效率执行注意力的计算系统。该计算系统包括一个或多个处理器和一个或多个非暂时性计算机可读介质,该一个或多个非暂时性计算机可读介质共同地存储:机器学习模型,该机器学习模型被配置成对模型输入执行注意力操作以生成模型输出,其中,该机器学习模型包括多个注意力层,并且其中,每个注意力层包括多个注意力头;以及指令,这些指令当由一个或多个处理器执行时使该计算系统执行操作。这些操作包括获得模型输入。这些操作包括用机器学习模型来处理模型输入以生成模型输出。用机器学习模型来处理模型输入包括,对于多个注意力层中的一个或多个重用层:接收层输入;访问为多个注意力层中的先前层计算的一个或多个注意力分数;以及对于重用层的多个注意力头中的一个或多个重用头,重用为先前层计算的一个或多个注意力分数以基于层输入来生成重用头的相应头输出。这些操作包括基于重用层的多个注意力头中的一个或多个重用头的相应头输出来生成层输出。
在一些实现方式中,对于一个或多个重用层中的至少一个重用层,一个或多个重用头包括重用层的所有多个注意力头。
在一些实现方式中,对于一个或多个重用层中的至少一个重用层,一个或多个重用头包括重用层的多个注意力头的真子集。
在一些实现方式中,这些操作进一步包括,对于重用层的多个注意力头中的一个或多个非重用头中的每个非重用头:基于层输入来计算一个或多个新的注意力分数;以及使用该一个或多个新的注意力分数来生成非重用头的相应头输出。在一些实现方式中,生成层输出包括级联一个或多个重用头的相应头输出和一个或多个非重用头的相应头输出。
在一些实现方式中,访问为先前层计算的一个或多个注意力分数包括访问向前推进(carry-forward)张量,该向前推进张量包含为先前层计算的一个或多个注意力分数。在一些实现方式中,这些操作进一步包括将一个或多个新的注意力分数插入到向前推进张量中。
在一些实现方式中,一个或多个重用层包括机器学习模型的除初始层之外的所有多个注意力层。
在一些实现方式中,一个或多个重用层包括机器学习模型的多个注意力层的真子集。
在一些实现方式中,重用为先前层计算的一个或多个注意力分数以基于层输入来生成相应头输出包括在重用头中直接使用为先前层计算的一个或多个注意力分数。在一些实现方式中,直接使用一个或多个注意力分数包括将一个或多个注意力分数乘以基于层输入的值矩阵。
在一些实现方式中,重用为先前层计算的一个或多个注意力分数以基于层输入来生成相应头输出包括在重用头中使用为两个或更多个先前层计算的一个或多个注意力分数的加权组合。
在一些实现方式中,加权组合是使用一个或多个学习的加权参数来生成的。
在一些实现方式中,重用层的数目和每个重用层中的重用头的数目包括用户定义的超参数。
在一些实现方式中,每个重用层中的重用头的数目是恒定的。
在一些实现方式中,每个重用层中的重用头的数目与机器学习模型内的层深度相关地减小。
在一些实现方式中,在机器学习模型的训练期间指定并且完成重用头和重用层。
在一些实现方式中,在机器学习模型的训练之后指定并且完成重用头和重用层。
在一些实现方式中,对于一个或多个重用层中的每个重用层,先前层包括直接顺序先前层。
在一些实现方式中,模型输入包括影像(imagery)并且模型输出包括描述该影像的特性的预测。
在一些实现方式中,机器学习模型包括编码器部分和解码器部分。在一些实现方式中,重用层中的至少一个重用层被包含在解码器部分内。在一些实现方式中,先前层被包含在编码器部分内。
在一些实现方式中,机器学习模型包括仅解码器模型。
在一些实现方式中,为先前层计算的一个或多个注意力分数包括仅针对序列中的在前词元的注意力分数。
在一些实现方式中,机器学习模型包括仅编码器模型。
在一些实现方式中,为先前层计算的一个或多个注意力分数包括针对序列中的在前词元和后续词元二者的注意力分数。
另一示例方面涉及一种用于以改进的计算效率执行注意力的计算机实现的方法。该方法包括获得模型输入。该方法包括用机器学习模型来处理模型输入以生成模型输出。在一些实现方式中,用机器学习模型来处理模型输入包括:对于机器学习模型的包括第一多个头的至少初始层:新生成第一多个注意力分数;以及基于多个注意力分数来计算第一层输出。在一些实现方式中,用机器学习模型来处理模型输入包括:对于机器学习模型的在初始层之后的一个或多个重用层中的每个重用层:确定第二多个注意力分数,其中,第二多个注意力分数中的至少一些注意力分数是从一个或多个先前层重用的;以及基于第二多个注意力分数来计算第二层输出。
在一些实现方式中,对于一个或多个重用层中的至少一个重用层,一个或多个重用头包括重用层中包括的注意力头的真子集。
本公开的另一示例方面涉及一种或多种非暂时性计算机可读介质,该一种或多种非暂时性计算机可读介质共同地存储用于在神经网络中实现第二神经网络层的指令。该神经网络还包括在第二神经网络层之前的第一神经网络层。第一神经网络层基于第一层输入来计算一个或多个注意力分数以生成第一层输出。这些指令使一个或多个计算机执行操作。这些操作包括接收第二神经网络层的第二层输入。这些操作包括获得由第一神经网络层计算的一个或多个注意力分数。这些操作包括基于第二层输入和一个或多个注意力分数来生成第二层输出。生成第二层输出包括重用一个或多个注意力分数至少部分地代替从第二层输入计算新的注意力分数。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户接口和电子设备。
参考以下描述和所附权利要求,本公开的各种实施例的这些及其他特征、方面和优点将变得更好理解。并入在本说明书中并构成本说明书的一部分的附图图示本公开的示例实施例,并且与说明书一起用来说明相关原理。
附图说明
在本说明书中阐述针对本领域的普通技术人员的实施例的详细讨论,本说明书参考附图,在附图中:
图1描绘Transformer模型的简化图形图。
图2描绘现有技术的Transformer块的简化图形图。
图3描绘Transformer块中的现有技术的注意力头的简化图形图。
图4描绘根据本公开的示例实施例的包括重用头和非重用头二者的示例注意力层的图形图。
图5描绘根据本公开的示例实施例的示例重用头的图形图。
图6A描绘根据本公开的示例实施例的示例计算系统的框图。
图6B描绘根据本公开的示例实施例的示例计算设备的框图。
图6C描绘根据本公开的示例实施例的示例计算设备的框图。
跨多个图重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
概述
通常,本公开涉及通过在Transformer或其他基于自注意力的神经网络或机器学习模型的层和/或头之间重用许多注意力分数来改进该模型的计算效率的系统和方法。特别地,基于成对点积的注意力允许Transformer以输入相关方式在词元之间交换信息并且是它们跨语言和视觉中的各种各样的应用成功的关键。然而,典型的Transformer模型在多个层中的多个头中针对同一序列重复地计算此类成对注意力分数,这是计算上成本高的。对这些分数跨头和层的经验相似性的系统分析指示它们是相当冗余的,尤其相邻层示出高相似性。因此,为了在实现可比较的或甚至优良的结果的同时降低基于自注意力的模型的计算成本,本公开的示例方面提出在一个或多个后续层中重用在一个层中计算的注意力分数的新颖架构。许多标准基准上的示例实验示出重用注意力递送相当于或好于标准transformer的性能,同时减少计算和存储器使用二者。
更特别地,本公开利用对由Transformer模型的不同层计算的注意力分数中的相似性的系统分析的结果。在与它们适当地匹配之后,针对由不同层中的头计算的注意力分数评价相似性。该分析示出在由Transformer模型的不同层计算的注意力分数中存在高相似性,其中相邻层常常是最相似的。此外,对层中的不同头而言此相似性变化,其中一些头与其他层具有高相似性并且一些头具有较低的相似性。这表明仅自注意力层中的几个注意力头计算新颖注意力分数。
本公开提出用来通过跨Transformer或其他基于注意力的模型的不同层重用注意力计算来减少或者利用冗余的新颖方式。特别地,本公开提出仅在层的一些头中计算注意力并且对于剩余头重用来自较早层的注意力分数。重用来自较早层的注意力分数减少计算,因为该层不再需要计算查询投影和键投影以及注意力分数。这还减少注意力层中的参数的数目。这些效果中的每一个导致诸如处理器使用、存储器使用、网络带宽使用等的计算资源的节省。
本公开还考虑对于一些层中的所有头重用注意力的极端情况。这自然地引入要针对哪些层计算/重用注意力的挑战。示例实验指示在较早层中重用注意力导致最佳性能。
所提出的重用注意力分数的途径与在较早工作中考虑的跨层的参数/权重共享不同。神经网络中的参数共享由减小模型大小驱使,并且与重用注意力分数不同,不会导致计算/FLOP方面的节省。如较早地讨论的,重用注意力分数将在实际数据上演示的归纳偏置纳并入到架构中。
美国临时专利申请号63/252,489中包含的示例实验在两个不同设定中评价所提出的模型。在第一设定中,实验考虑在大数据集上预训练的模型,然后在特定任务上微调。特别地,这些实验考虑BERT(Devlin等人,2018)、T5(Raffel等人,2020)和VisionTransformer(ViT)(Dosovitskiy等人,2021)模型。实验数据包括GLUE(Wang等人,2019b)、SuperGlue(Wang等人,2019a)、SQuAD(Rajpurkar等人,2016)和ImageNet基准上的微调结果。在第二设定中,实验考虑在被设计成测试用于NLP和视觉二者中的长序列长度任务的模型的性能的机器翻译(WMT 2018)(Bojar等人,2018)和Long Range Arena(LRA)基准(Tay等人,2021)上从头开始训练的模型。
在这些设定中的二者中,示例实验演示了重用注意力分数在匹配(并且有时改进)下游任务上的性能的同时节省计算和存储器,从而示出跨任务重用注意力分数对Transformer来说是有用的归纳偏置。实验还演示了在计算和参数方面与基线匹配的重用模型在下游任务中表现得比它们好,从而在资源使用和性能之间提供更好的权衡。最后对挂钟训练时间和存储器使用进行基准测试,并且示出重用注意力容易地转化为现实世界的资源节省。
因此,本公开的示例方面提供用于重用来自基于注意力的模型的较早层的注意力分数并且减少注意力计算中的冗余的新颖架构。
本公开提供许多技术效果和益处。作为一个示例技术效果和益处,本文描述的系统和方法能够节约计算资源。特别地,本公开提出用来通过跨Transformer或其他基于注意力的模型的不同层重用注意力计算来减少或者利用冗余的新颖方式。特别地,本公开提出仅在层的一些头中计算注意力并且对于剩余头重用来自较早层的注意力分数。重用来自较早层的注意力分数减少计算,因为该层不再需要计算查询投影和键投影以及注意力分数。因此,总体上能够减少计算的数目。对注意力分数的重用还减少注意力层中的参数的数目。因此,能够减少模型中的参数的数目,从而使得能够使用更少的存储器来实现存储并且使得能够使用更少的网络带宽来实现传输。以上效果中的每一个导致诸如处理器使用、存储器使用、网络带宽使用等的计算资源的节省。因此,本公开的系统和方法能够改进计算机的功能。此外,示例实验指示,除上述计算资源的节省以外,所提出的技术还能够在某些设定中相对于基线模型改进性能。
现在参考附图,将进一步详细地讨论本公开的示例实施例。
示例Transformer模型
图1描绘Transformer模型的简化图形图。Transformer模型能够被配置成对模型输入执行注意力操作以生成模型输出。特别地,Transformer模型能够包括Transformer块的序列,这些Transformer块能够被视为注意力层的特定示例。出于说明的目的,图1中的图示被简化和概括。Transformer模型(和本文描述的其他模型)能够包括未具体地图示的许多其他层(例如,前馈层、交叉注意力层等)或操作。
现在参考图2,本领域中已知的现有Transformer模型能够包括许多Transformer块,其中每个Transformer块包括多个注意力头。现在参考图3,Transformer块中的现有技术的注意力头能够执行如图示的自注意力操作。
具体地,参考图2和图3二者,每个Transformer块的输入能够是向量的序列。这些通常是输入词元序列的嵌入。更具体地,令
Figure BDA0003877915650000101
为具有嵌入大小d的序列长度n的输入嵌入矩阵。示例自注意力层能够通过计算输入嵌入之间的成对点积注意力来更新这些嵌入。注意力层和前馈层二者都能够使用层规范化和跳过连接。
自注意力层能够计算如在下面定义的基于点积的注意力分数。
Figure BDA0003877915650000102
其中W是可训练的参数矩阵,并且Z是层输入。这里σ是逐列softmax运算符。
投影WQZ和WKZ通常分别被称为查询投影和键投影。
注意力分数能够被用于线性地组合输入如下:
Figure BDA0003877915650000103
多头注意力涉及其输出被级联的单个层中的多个此类可训练的注意力头。注意力层的输出能够被馈送到逐词元前馈层:W2φ(W1YT)。φ通常是诸如Gelu的非线性激活。
具有注意力重用的示例注意力模型
图4描绘根据本公开的示例实施例的包括重用头404和非重用头406(又名精确头)二者的示例注意力层402的图形图。考虑到注意力层402包括重用头404,还能够将注意力层402称为重用层。图5描绘根据本公开的示例实施例的示例重用头的更详细图形图。
更特别地,首先参考图4,重用层402能够接收层输入408。重用层402能够访问为包括在机器学习模型中的多个注意力层的先前层计算的一个或多个注意力分数410。
对于重用层402的重用头404中的每个重用头,重用层402能够重用为先前层计算的一个或多个注意力分数410以基于层输入408来生成重用头的相应头输出。在图4中,示出了六个注意力分数矩阵并且四个由四个重用头404使用来生成它们的相应头输出。图5更详细地示出此过程。
然而,仍然参考图4,重用层402能够基于重用头404的相应头输出来生成层输出412。层输出412能够例如作为层输入被提供给下一个顺序注意力层。
在一些实现方式中,对于包括在模型中的一个或多个重用层中的至少一个重用层,重用头能够是重用层的多个注意力头的真子集。例如,如图4所示,层402总共包括六个头,其中的四个是重用头。附加地或替换地,对于模型中的一个或多个重用层中的至少一个重用层,一个或多个重用头能够是重用层的所有多个注意力头。也就是说,在另一途径中,层402的所有六个头能够是重用头。
仍然参考图4,对于非重用头406,注意力层402能够基于层输入408来计算一个或多个新的注意力分数。注意力层402能够使用一个或多个新的注意力分数来生成每个非重用头的相应头输出。生成层输出412能够包括级联一个或多个重用头404的相应头输出和一个或多个非重用头406的相应头输出。
在一些实现方式中,能够将为先前层计算的一个或多个注意力分数410保持在向前推进张量中。在一些实现方式中,实现重用层402的计算系统能够将从非重用头406生成的一个或多个新的注意力分数插入到向前推进张量中。例如,如在图4的414所示,对于下一个注意力层能够向前推进为非重用头406计算的新的注意力分数。例如,能够以先进先出方式向前推进注意力分数。因此,在一些实例中,由重用层使用的注意力分数能够来自直接顺序先前层,而在其他实例中,重用分数可以来自不是直接顺序先前的先前层。
在一些实现方式中,包括在机器学习模型中的除初始层之外的所有多个注意力层能够是重用层。或者,在其他实现方式中,仅包括在机器学习模型中的注意力层的真子集能够是重用层。
现在参考图5,每个重用头能够重用为先前层计算的一个或多个注意力分数510以基于层输入508来生成相应头输出512。
例如,如图5所图示的,重用头能够直接使用为先前层计算的先前的注意力分数510。特别地,直接使用一个或多个注意力分数510能够包括将一个或多个注意力分数乘以基于层输入508的值矩阵514。
或者,在另一途径中,重用为先前层计算的一个或多个注意力分数以基于层输入来生成相应头输出能够包括在重用头中使用为两个或更多个先前层计算的一个或多个注意力分数的加权组合。例如,该加权组合能够使用一个或多个学习的加权参数来生成。学习的加权参数能够是与模型的其他参数联合地学习的模型参数。因此,在一些实现方式中,某些模型参数能够被学习并且能够控制哪些在先的注意力分数被向前推进并且向此类向前推进的分数给予多少权重。
在一些实现方式中,许多重用层和每个重用层中的许多重用头包括用户定义的超参数。因此,用户能够定义在哪里发生注意力重用并且到什么程度。在一些实现方式中,每个重用层中的重用头的数目是恒定的。在其他实现方式中,每个重用层中的重用头的数目是变化的。作为一个示例,在一些实现方式中,每个重用层中的重用头的数目与机器学习模型内的层深度相关地减小。也就是说,在较早层中能够发生更多的重用,而在更晚层中发生更少的重用。
在一些实现方式中,能够在机器学习模型的训练期间指定并且完成重用头和重用层。例如,模型的架构能够被最初定义有注意力重用。在一些此类情况下,当损失的梯度被反向传播时,损失能够通过所重用的注意力分数传递到原始计算点。
然而,在其他实现方式中,能够在机器学习模型的训练之后指定并且完成重用头和重用层。作为一个示例,从现有的预训练模型开始,能够向该模型提供许多测试输入。能够执行相似性分析以标识哪些层/头提供最相似的(冗余)注意力分数。这些层/头然后能够如本文所描述的那样与重用链接以实现计算效率增益。
示例实现方式细节和算法
回想具有H个头的Transformer模型的注意力层l的输出是
多头注意力
Figure BDA0003877915650000131
这里Concat表示最后维度上的级联操作。Al,h表示由层l中的头h计算的注意力分数(参见等式1)。为了简单我们降低Al,h对层输入Z的依赖性。
此部分现在定义具有L个层和H个头的Transformer模型中的示例重用多头注意力层。令P<L为作为重用层的层的数目并且令K<H为每重用层重用注意力分数的头的数目。然后,Transformer的注意力层仅为P层中的H-K个头计算注意力分数并且对于K个头重用来自较早层的注意力分数。在算法1中描述此注意力计算的一个示例实现方式。算法1包含具有固定K和其他设计选择的一个示例途径。本公开不限于算法1中描述的示例实现方式。
Figure BDA0003877915650000141
第一层——算法1第2-3行。在第一层中,实现计算系统计算所有头的注意力分数,因为没有要从中重用分数的较早层。计算系统还将注意力分数传递到下一层以供重用(R1)。
重用注意力分数——算法1第5-6行。对于任何后续层l,计算系统仅为H–K个头计算注意力分数并且对于剩余K个头,计算系统重用来自Rl-1的前K个头的注意力分数。
设定重用注意力分数——算法1第7行。最后计算系统指配重用注意力分数Rl以被传递到下一个层。在一些实现方式中,计算系统通过将在当前层计算的H–K个注意力分数与来自较早层Rl-1的前K个头的注意力分数级联来完成这一点。这确保首先在下一个层中重用在当前层中计算的注意力分数。
剩余层——算法1第10行。从P+1至L的层再次计算所有层的注意力分数。
注意,此部分仅描述注意力分数计算部分,因为层的其余部分与在等式4中相同。通过重用来自较早层的交叉注意力分数,能够将以上重用注意力架构容易地扩展到解码器模型中的交叉注意力层(Vaswani等人,2017)。
注意,重用注意力分数与跨层共享权重/参数矩阵(Dehghani等人,2018;Lan等人,2019)基本上不同。参数共享主要由减小模型大小驱使,而我们的注意力重用部分地由分析学习的Transformer网络的需要驱使。虽然参数共享帮助减小模型大小,但是它不减少计算/FLOPS。另外,共享参数矩阵能够导致每层的注意力得分不同,因为对每个层而言输入不同。
参数P、K控制在Transformer模型中重用注意力计算到什么程度,从而将注意力计算的数目从L*H个头减少为(L*H–P*K)。注意,对于给定重用预算(P*K)存在选取参数P和K的许多方式。紧接在下面描述两个不同的示例可能性。
部分层重用。在此示例设定中,重用层的数目P总是被设定为L–2。K能够是变化的,使得第一层和最后层的所有头都计算注意力分数,并且这些层的其余部分重用K个头。在此架构中,每一层具有计算注意力分数的至少一个头(当K<H时)。
全层重用。在此示例设定中,K总是被设定为H,并且P能够是变化的。在这种设定中,不在模型的P个层中计算注意力,而从较早层重用注意力。注意,第一层能够再次被设定为精确的以能够在后面的层中重用注意力分数。
计算复杂性的示例讨论
重用注意力分数减少注意力层的存储器和计算二者,因为重用注意力分数的头也不必计算查询投影和键投影。因此在一些示例实现方式中,对于重用K个头的长度n的输入序列,模型将每个层中的注意力分数计算成本从H·n2减少到(H-K)·n2。这将多头注意力层的整体计算复杂性从4·d2·n+2·d·n2减少到
Figure BDA0003877915650000161
类似地,这将参数的数目从4·d2减少到
Figure BDA0003877915650000162
示例设备和系统
图6A描绘根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102能够是任何类型的计算设备,诸如例如个人计算设备(例如,笔记本电脑或台式机)、移动计算设备(例如,智能电话或平板电脑)、游戏机或控制器、可穿戴计算设备、嵌入式计算设备、或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112能够是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且能够是一个处理器或在操作上连接的多个处理器。存储器114能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪速存储器设备、磁盘等及其组合。存储器114能够存储数据116和指令118,这些指令由处理器112执行以使用户计算设备102执行操作。
在一些实现方式中,用户计算设备102能够存储或者包括一个或多个机器学习模型120。例如,机器学习模型120能够是或者能够以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络能够包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。一些示例机器学习模型能够利用诸如自注意力的注意力机制。例如,一些示例机器学习模型能够包括多头自注意力模型(例如,Transformer模型)。
在一些实现方式中,一个或多个机器学习模型120能够通过网络180从服务器计算系统130接收,被存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或者以其他方式实现。在一些实现方式中,用户计算设备102能够实现单个机器学习模型120的多个并行实例(例如,以跨输入的多个实例执行并行注意力计算)。
附加地或替换地,一个或多个机器学习模型140能够被包括在根据客户端-服务器关系与用户计算设备102进行通信的服务器计算系统130中或者由该服务器计算系统以其他方式存储和实现。例如,机器学习模型140能够由服务器计算系统140实现为web服务(例如,预测服务)的一部分。因此,能够在用户计算设备102处存储并且实现一个或多个模型120和/或能够在服务器计算系统130处存储并且实现一个或多个模型140。
用户计算设备102还能够包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122能够是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏幕或触摸板)。触敏组件能够用来实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘、或用户能够用来提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132能够是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且能够是一个处理器或在操作上连接的多个处理器。存储器134能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪速存储器设备、磁盘等及其组合。存储器134能够存储数据136和指令138,这些指令由处理器132执行以使服务器计算系统130执行操作。
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式实现。在服务器计算系统130包括多个服务器计算设备的实例中,此类服务器计算设备能够根据顺序计算架构、并行计算架构或其某种组合操作。
如上所述,服务器计算系统130能够存储或者以其他方式包括一个或多个机器学习模型140。例如,模型140能够是或者能够以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。一些示例机器学习模型能够利用诸如自注意力的注意力机制。例如,一些示例机器学习模型能够包括多头自注意力模型(例如,Transformer模型)。
用户计算设备102和/或服务器计算系统130能够经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150能够与服务器计算系统130分开或者能够是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152能够是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且能够是一个处理器或在操作上连接的多个处理器。存储器154能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪速存储器设备、磁盘等及其组合。存储器154能够存储数据156和指令158,这些指令由处理器152执行以使训练计算系统150执行操作。在一些实现方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备以其他方式实现。
训练计算系统150能够包括模型训练器160,该模型训练器使用各种训练或学习技术(诸如例如误差的反向传播)来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。例如,损失函数能够通过模型反向传播以更新模型的一个或多个参数(例如,基于损失函数的梯度)。能够使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或其他各种损失函数。梯度下降技术能够被用于在许多训练迭代上迭代地更新参数。
在一些实现方式中,执行误差的反向传播能够包括通过时间执行截断反向传播。模型训练器160能够执行许多泛化技术(例如,权重衰减、dropout等)以改进正在训练的模型的泛化能力。
特别地,模型训练器160能够基于训练数据集162来训练机器学习模型120和/或140。在一些实现方式中,如果用户已经提供了同意,则训练示例能够由用户计算设备102提供。因此,在此类实现方式中,提供给用户计算设备102的模型120能够由训练计算系统150在从用户计算设备102接收到的用户特定数据上训练。在一些实例中,能够将此过程称为使模型个性化。
模型训练器160包括被利用来提供期望功能性的计算机逻辑。模型训练器160能够用控制通用处理器的硬件、固件和/或软件加以实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160包括一组或多组计算机可执行指令,这些计算机可执行指令被存储在诸如RAM、硬盘或光学或磁性介质的有形计算机可读存储介质中。
网络180能够是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合并且能够包括任何数目的有线或无线链接。一般而言,通过网络180的通信能够使用各种各样的通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)来经由任何类型的有线连接和/或无线连接承载。
可以在各种任务、应用和/或用例中使用本说明书中描述的机器学习模型。
在一些实现方式中,本公开的机器学习模型的输入能够是图像数据。机器学习模型能够处理图像数据以生成输出。作为一个示例,机器学习模型能够处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一示例,机器学习模型能够处理图像数据以生成图像分割输出。作为另一示例,机器学习模型能够处理图像数据以生成图像分类输出。作为另一示例,机器学习模型能够处理图像数据以生成图像数据修改输出(例如,图像数据的变更等)。作为另一示例,机器学习模型能够处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一示例,机器学习模型能够处理图像数据以生成尺度放大的图像数据输出。作为另一示例,机器学习模型能够处理图像数据以生成预测输出。
在一些实现方式中,本公开的机器学习模型的输入能够是文本或自然语言数据。机器学习模型能够处理文本或自然语言数据以生成输出。作为一个示例,机器学习模型能够处理自然语言数据以生成语言编码输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成翻译输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成分类输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成文本分割输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成语义意图输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成尺度放大的文本或自然语言输出(例如,质量比输入文本或自然语言更高的文本或自然语言数据等)。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成预测输出。
在一些实现方式中,本公开的机器学习模型的输入能够是语音数据。机器学习模型能够处理语音数据以生成输出。作为一个示例,机器学习模型能够处理语音数据以生成语音识别输出。作为另一示例,机器学习模型能够处理语音数据以生成语音翻译输出。作为另一示例,机器学习模型能够处理语音数据以生成潜在嵌入输出。作为另一示例,机器学习模型能够处理语音数据以生成编码语音输出(例如,语音数据的编码和/或压缩表示等)。作为另一示例,机器学习模型能够处理语音数据以生成尺度放大的语音输出(例如,质量比输入语音数据更高的语音数据等)。作为另一示例,机器学习模型能够处理语音数据以生成文本表示输出(例如,输入语音数据的文本表示等)。作为另一示例,机器学习模型能够处理语音数据以生成预测输出。
在一些实现方式中,本公开的机器学习模型的输入能够是潜在编码数据(例如,输入的潜在空间表示等)。机器学习模型能够处理潜在编码数据以生成输出。作为一个示例,机器学习模型能够处理潜在编码数据以生成识别输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成重构输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成搜索输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成再聚类输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成预测输出。
在一些实现方式中,本公开的机器学习模型的输入能够是统计数据。统计数据能够是、表示或者以其他方式包括从某个其他数据源计算和/或运算的数据。机器学习模型能够处理统计数据以生成输出。作为一个示例,机器学习模型能够处理统计数据以生成识别输出。作为另一示例,机器学习模型能够处理统计数据以生成预测输出。作为另一示例,机器学习模型能够处理统计数据以生成分类输出。作为另一示例,机器学习模型能够处理统计数据以生成分割输出。作为另一示例,机器学习模型能够处理统计数据以生成可视化输出。作为另一示例,机器学习模型能够处理统计数据以生成诊断输出。
在一些实现方式中,本公开的机器学习模型的输入能够是传感器数据。机器学习模型能够处理传感器数据以生成输出。作为一个示例,机器学习模型能够处理传感器数据以生成识别输出。作为另一示例,机器学习模型能够处理传感器数据以生成预测输出。作为另一示例,机器学习模型能够处理传感器数据以生成分类输出。作为另一示例,机器学习模型能够处理传感器数据以生成分割输出。作为另一示例,机器学习模型能够处理传感器数据以生成可视化输出。作为另一示例,机器学习模型能够处理传感器数据以生成诊断输出。作为另一示例,机器学习模型能够处理传感器数据以生成检测输出。
在一些情况下,机器学习模型能够被配置成执行任务,该任务包括对输入数据进行编码以实现可靠和/或高效的传输或存储(和/或对应的解码)。例如,任务可以是音频压缩任务。输入可以包括音频数据并且输出可以包括压缩音频数据。在另一示例中,输入包括视觉数据(例如,一个或多个图像或视频),输出包括压缩视觉数据,并且任务是视觉数据压缩任务。在另一示例中,任务可以包括为输入数据(例如,输入音频或视觉数据)生成嵌入。
在一些情况下,输入包括视觉数据并且任务是计算机视觉任务。在一些情况下,输入包括一个或多个图像的像素数据并且任务是图像处理任务。例如,图像处理任务能够是图像分类,其中输出是分数的集合,每个分数对应于不同的对象类并且表示一个或多个图像描绘属于该对象类的对象的可能性。图像处理任务可以是对象检测,其中图像处理输出标识一个或多个图像中的一个或多个区域,并且对于每个区域,标识该区域描绘感兴趣对象的可能性。作为另一示例,图像处理任务能够是图像分割,其中图像处理输出为一个或多个图像中的每个像素定义预定类别集合中的每个类别的相应可能性。例如,类别集合能够是前景和背景。作为另一示例,类别集合能够是对象类。作为另一示例,图像处理任务能够是深度估计,其中图像处理输出为一个或多个图像中的每个像素定义相应深度值。作为另一示例,图像处理任务能够是运动估计,其中网络输入包括多个图像,并且图像处理输出为输入图像之一的每个像素定义在网络输入中的图像之间的像素处描绘的场景的运动。
在一些情况下,输入包括表示口语话语的音频数据并且任务是语音识别任务。输出可以包括被映射到口语话语的文本输出。在一些情况下,任务包括对输入数据进行加密或解密。在一些情况下,任务包括微处理器性能任务,诸如分支预测或存储器地址转换。
图6A图示能够被用于实现本公开的一个示例计算系统。也能够使用其他计算系统。例如,在一些实现方式中,用户计算设备102能够包括模型训练器160和训练数据集162。在此类实现方式中,能够在用户计算设备102处在本地既训练又使用模型120。在此类实现方式中的一些中,用户计算设备102能够实现模型训练器160以基于用户特定数据来使模型120个性化。
图6B描绘根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10能够是用户计算设备或服务器计算设备。
计算设备10包括许多应用(例如,应用1至N)。每个应用包含它自己的机器学习库和机器学习模型。例如,每个应用能够包括机器学习模型。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图6B所图示的,每个应用能够与计算设备的许多其他组件进行通信,许多其他组件诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,每个应用能够使用API(例如,公用API)与每个设备组件进行通信。在一些实现方式中,由每个应用使用的API是特定于该应用的。
图6C描绘根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50能够是用户计算设备或服务器计算设备。
计算设备50包括许多应用(例如,应用1至N)。每个应用与中央智能层进行通信。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用能够使用API(例如,跨所有应用的公共API)与中央智能层(和存储在其中的模型)进行通信。
中央智能层包括许多机器学习模型。例如,如图6C所图示的,能够为每个应用提供相应机器学习模型并且相应机器学习模型由中央智能层管理。在其他实现方式中,两个或更多个应用能够共享单个机器学习模型。例如,在一些实现方式中,中央智能层能够为所有应用提供单个模型。在一些实现方式中,中央智能层被包括在计算设备50的操作系统内或者由计算设备50的操作系统以其他方式实现。
中央智能层能够与中央设备数据层进行通信。中央设备数据层能够是用于计算设备50的数据的集中式储存库。如图6C所图示的,中央设备数据层能够与计算设备的许多其他组件进行通信,许多其他组件诸如例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现方式中,中央设备数据层能够使用API(例如,专用API)来与每个设备组件进行通信。
附加公开内容
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统以及采取的行动和向此类系统且从此类系统发送的信息。基于计算机的系统的固有灵活性允许实现任务和功能性在组件之间和当中的各种各样的可能配置、组合和划分。例如,本文讨论的过程能够使用单个设备或组件或相结合地工作的多个设备或组件来实现。数据库和应用能够被实现在单个系统上或者跨多个系统分布。分布式组件能够顺序地或并行地操作。
虽然已经相对于本主题的各种特定实施例详细地描述了本主题,但是每个示例是通过对本公开的说明而非限制的方式提供的。本领域的技术人员在获得对前文的理解后能够容易地产生此类实施例的变更、变化和等同物。因此,本公开不排除包括如对本领域的普通技术人员而言将显而易见的对本主题的此类修改、变化和/或添加。例如,作为一个实施例的一部分图示或者描述的特征能够与另一实现例一起使用以产生再一个实现例。因此,本公开旨在涵盖此类变更、变化和等同物。

Claims (24)

1.一种用于以改进的计算效率执行注意力的计算系统,所述计算系统包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质共同地存储:
机器学习模型,所述机器学习模型被配置成对模型输入执行注意力操作以生成模型输出,其中,所述机器学习模型包括多个注意力层,并且其中,每个注意力层包括多个注意力头;以及
指令,所述指令当由所述一个或多个处理器执行时使所述计算系统执行操作,所述操作包括:
获得所述模型输入;以及
用所述机器学习模型来处理所述模型输入以生成所述模型输出,其中,用所述机器学习模型来处理所述模型输入包括,对于所述多个注意力层中的一个或多个重用层:
接收层输入;
访问为所述多个注意力层中的先前层计算的一个或多个注意力分数;并且
对于所述重用层的所述多个注意力头中的一个或多个重用头,重用为所述先前层计算的所述一个或多个注意力分数以基于所述层输入来生成所述重用头的相应头输出;以及
基于所述重用层的所述多个注意力头中的所述一个或多个重用头的所述相应头输出来生成层输出。
2.根据权利要求1所述的计算系统,其中,对于所述一个或多个重用层中的至少一个重用层,所述一个或多个重用头包括所述重用层的所有所述多个注意力头。
3.根据权利要求1所述的计算系统,其中,对于所述一个或多个重用层中的至少一个重用层,所述一个或多个重用头包括所述重用层的所述多个注意力头的真子集。
4.根据权利要求3所述的计算系统,其中:
所述操作进一步包括,对于所述重用层的所述多个注意力头中的一个或多个非重用头中的每个非重用头:
基于所述层输入来计算一个或多个新的注意力分数;以及
使用所述一个或多个新的注意力分数来生成所述非重用头的相应头输出;
其中,生成所述层输出包括级联所述一个或多个重用头的相应头输出和所述一个或多个非重用头的相应头输出。
5.根据权利要求4所述的计算系统,其中:
访问为所述先前层计算的所述一个或多个注意力分数包括访问包含为所述先前层计算的所述一个或多个注意力分数的向前推进张量;以及
所述操作进一步包括将所述一个或多个新的注意力分数插入到所述向前推进张量中。
6.根据权利要求1所述的计算系统,其中,所述一个或多个重用层包括所述机器学习模型的除初始层之外的所有所述多个注意力层。
7.根据权利要求1所述的计算系统,其中,所述一个或多个重用层包括所述机器学习模型的所述多个注意力层的真子集。
8.根据权利要求1所述的计算系统,其中,重用为所述先前层计算的所述一个或多个注意力分数以基于所述层输入来生成所述相应头输出包括在所述重用头中直接使用为所述先前层计算的所述一个或多个注意力分数,其中,直接使用所述一个或多个注意力分数包括将所述一个或多个注意力分数乘以基于所述层输入的值矩阵。
9.根据权利要求1所述的计算系统,其中,重用为所述先前层计算的所述一个或多个注意力分数以基于所述层输入来生成所述相应头输出包括在所述重用头中使用为两个或更多个先前层计算的所述一个或多个注意力分数的加权组合。
10.根据权利要求9所述的计算系统,其中,所述加权组合是使用一个或多个学习的加权参数来生成的。
11.根据权利要求1所述的计算系统,其中,许多所述重用层和每个重用层中的许多所述重用头包括用户定义的超参数。
12.根据权利要求1所述的计算系统,其中,每个重用层中的所述重用头的数目是恒定的。
13.根据权利要求1所述的计算系统,其中,每个重用层中的所述重用头的数目与所述机器学习模型内的层深度相关地减小。
14.根据权利要求1所述的计算系统,其中,所述重用头和所述重用层在所述机器学习模型的训练期间指定并且完成。
15.根据权利要求1所述的计算系统,其中,所述重用头和所述重用层在所述机器学习模型的训练之后指定并且完成。
16.根据权利要求1所述的计算系统,其中,对于所述一个或多个重用层中的每个重用层,所述先前层包括直接顺序先前层。
17.根据权利要求1所述的计算系统,其中,所述模型输入包括影像并且所述模型输出包括描述所述影像的特性的预测。
18.根据权利要求1所述的计算系统,其中,所述机器学习模型包括编码器部分和解码器部分,其中,所述重用层中的至少一个重用层被包含在所述解码器部分中,并且其中,所述先前层被包含在所述编码器部分中。
19.根据权利要求1所述的计算系统,其中,所述机器学习模型包括仅解码器模型。
20.根据权利要求1所述的计算系统,其中,为所述先前层计算的所述一个或多个注意力分数包括仅针对序列中的在前词元的注意力分数。
21.根据权利要求1所述的计算系统,其中,所述机器学习模型包括仅编码器模型。
22.根据权利要求1所述的计算系统,其中,为所述先前层计算的所述一个或多个注意力分数包括针对序列中的在前词元和后续词元二者的注意力分数。
23.一种用于以改进的计算效率执行注意力的计算机实现的方法,所述方法包括:
获得模型输入;以及
用机器学习模型来处理所述模型输入以生成模型输出;
其中,用所述机器学习模型来处理所述模型输入包括:
对于所述机器学习模型的包括第一多个头的至少初始层:
新生成第一多个注意力分数;以及
基于所述多个注意力分数来计算第一层输出;以及
对于所述机器学习模型的在所述初始层之后的一个或多个重用层中的每个重用层:
确定第二多个注意力分数,其中,所述第二多个注意力分数中的至少一些注意力分数是从一个或多个先前层重用的;以及
基于所述第二多个注意力分数来计算第二层输出。
24.一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质共同地存储:
用于在神经网络中实现第二神经网络层的指令,其中,所述神经网络还包括在所述第二神经网络层之前的第一神经网络层,其中,所述第一神经网络层基于第一层输入来计算一个或多个注意力分数以生成第一层输出,并且其中,所述指令使一个或多个计算机执行操作,所述操作包括:
接收所述第二神经网络层的第二层输入;
获得由所述第一神经网络层计算的所述一个或多个注意力分数;以及
基于所述第二层输入和所述一个或多个注意力分数来生成第二层输出;
其中,生成所述第二层输出包括重用所述一个或多个注意力分数至少部分地代替从所述第二层输入计算新的注意力分数。
CN202211220686.6A 2021-10-05 2022-10-08 用重用transformer利用注意力中的冗余 Pending CN115577796A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163252489P 2021-10-05 2021-10-05
US63/252,489 2021-10-05

Publications (1)

Publication Number Publication Date
CN115577796A true CN115577796A (zh) 2023-01-06

Family

ID=84582287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211220686.6A Pending CN115577796A (zh) 2021-10-05 2022-10-08 用重用transformer利用注意力中的冗余

Country Status (2)

Country Link
US (1) US20230112862A1 (zh)
CN (1) CN115577796A (zh)

Also Published As

Publication number Publication date
US20230112862A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
US11449684B2 (en) Contrastive pre-training for language tasks
US20230359865A1 (en) Modeling Dependencies with Global Self-Attention Neural Networks
US20240112088A1 (en) Vector-Quantized Image Modeling
US20210383223A1 (en) Joint Architecture And Hyper-Parameter Search For Machine Learning Models
US11450096B2 (en) Systems and methods for progressive learning for machine-learned models to optimize training speed
US20230017072A1 (en) Systems And Methods For Improved Video Understanding
US11874866B2 (en) Multiscale quantization for fast similarity search
US20230394306A1 (en) Multi-Modal Machine Learning Models with Improved Computational Efficiency Via Adaptive Tokenization and Fusion
US20230401382A1 (en) Dynamic Language Models for Continuously Evolving Content
CN113673235A (zh) 基于能量的语言模型
US20230022151A1 (en) Full Attention with Sparse Computation Cost
CN115577796A (zh) 用重用transformer利用注意力中的冗余
EP4360004A1 (en) Contrastive learning and masked modeling for end-to-end self-supervised pre-training
US20220245917A1 (en) Systems and methods for nearest-neighbor prediction based machine learned models
US11755883B2 (en) Systems and methods for machine-learned models having convolution and attention
US20230419082A1 (en) Improved Processing of Sequential Data via Machine Learning Models Featuring Temporal Residual Connections
US20240119713A1 (en) Channel Fusion for Vision-Language Representation Learning
US20220245428A1 (en) Machine-Learned Attention Models Featuring Omnidirectional Processing
WO2023114141A1 (en) Knowledge distillation via learning to predict principal components coefficients
WO2024112910A1 (en) Visual transformers with sparse application of video kernels
WO2024020107A1 (en) Task-specific prompt recycling for machine-learned models that perform multiple tasks
CN115803753A (zh) 用于高效推理的多阶段机器学习模型合成
EP4150529A1 (en) Modeling of long-range interactions with reduced feature materialization via lambda functions
WO2023172692A1 (en) Maximizing generalizable performance by extraction of deep learned features while controlling for known variables
EP4397044A1 (en) Vector-quantized image modeling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination