CN113918882A - 可硬件实现的动态稀疏注意力机制的数据处理加速方法 - Google Patents

可硬件实现的动态稀疏注意力机制的数据处理加速方法 Download PDF

Info

Publication number
CN113918882A
CN113918882A CN202111239200.9A CN202111239200A CN113918882A CN 113918882 A CN113918882 A CN 113918882A CN 202111239200 A CN202111239200 A CN 202111239200A CN 113918882 A CN113918882 A CN 113918882A
Authority
CN
China
Prior art keywords
matrix
attention mechanism
mask
hardware
sparse
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
CN202111239200.9A
Other languages
English (en)
Inventor
梁云
卢丽强
金奕成
罗梓璋
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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN202111239200.9A priority Critical patent/CN113918882A/zh
Publication of CN113918882A publication Critical patent/CN113918882A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公布了一种可硬件实现的动态稀疏注意力机制的数据处理加速方法,对以序列数据作为输入的注意力机制模型进行优化,将应用数据进行序列化得到序列数据和相应的查询矩阵Q,键矩阵K与值矩阵V;对查询矩阵Q与键矩阵K计算低比特分数矩阵;进行二值化得到掩模,作为对注意力机制动态稀疏性的预测;对注意力掩模进行分块打包,得到固定大小且稀疏性均匀的结构化掩模块,均匀的稀疏性在硬件上取得好的负载均衡,从而提升硬件计算资源的利用率;再使用输入到动态稀疏注意力机制模型的矩阵Q、K、V和掩模块,通过执行动态稀疏注意力机制实现基于稀疏注意力机制的数据处理加速。

Description

可硬件实现的动态稀疏注意力机制的数据处理加速方法
技术领域
本发明涉及人工智能算法优化技术,具体涉及一种可以在硬件上高效实现的稀疏注意力机制的数据处理加速方法,该方法在推理时动态地对注意力机制进行稀疏化,并对稀疏模式进行分块打包。该方法包括一系列硬件友好的优化,从而可以使用领域专用加速器(如脉动阵列架构)高效实现。
背景技术
近年来,包含注意力机制的神经网络模型被广泛用于自然语言处理任务(如机器翻译)以及计算机视觉任务(如图像分割)中.但是注意力机制在长序列上带来沉重的计算负担,而稀疏注意力机制可以有效解决这个问题.
基于注意力机制[1]的神经网络在近年深度学习的发展中占据重要地位.其中,以注意力机制作为基本组件的转换器(Transformer)模型在自然语言处理领域的语言模型,机器翻译,文本分类以及文本生成任务中都取得了突出的表现.而在计算机视觉领域,结合使用注意力机制与卷积算子可以获得全局感受野,从而在图像标注,图像生成,图像分割等任务中取得更优性能.
注意力机制接受三个矩阵作为其输入,它们分别是查询矩阵Q,键矩阵K与值矩阵V.在计算注意力机制的过程中,我们首先将Q与K两个矩阵相乘得到分数矩阵S,然后逐行使用柔性最大值Softmax操作对其进行归一化,最后将其与V矩阵相乘得到最终结果.由于注意力机制会计算每一对键向量(对应K矩阵的一行)与查询向量(对应Q矩阵的一行)的内积作为他们之间的注意力权重(对应S矩阵的一个元素),实现注意力机制所需要的计算资源随着输入序列的长度呈平方级别增长.例如,对于一个长度为1.6万的输入序列,BERT-Base[2]模型中单个注意力机制的计算量将达到861.9吉浮点运算(GFLOPs).
为了降低长序列上注意力机制的计算负担,稀疏注意力机制技术给分数矩阵添加稀疏性约束,即只计算一部分键向量-查询向量对的注意力权重.稀疏注意力机制中,原本稠密的Q-K矩阵乘法变为一个样本化稠密矩阵乘法(SDDMM)操作,而S-V矩阵乘法变为一个稀疏矩阵乘法(SpMM)操作.现有的稀疏注意力机制技术可以分为静态稀疏性与动态稀疏性两类.静态稀疏性给分数矩阵施加的稀疏性模式不会随着具体的输入样本变化,并且为了方便在现有硬件加速器上高效实现往往具有一定结构性.因为额外的结构性约束,这类技术在相同模型准确度条件下所能实现的稀疏程度较低,节省的计算量比较少.而动态稀疏性的稀疏性模式会根据输入样本动态决定,并且一般呈现出高度非结构化的特征.这类技术可以实现更高的稀疏程度,但是其稀疏性模式非结构化以及动态生成的特性使其不容易在现有硬件上高效实现。综上所述,现有的两类稀疏注意力技术在保持模型准确度的条件下不能同时实现高稀疏度与硬件实现的高效性。
参考文献:
[1]A.Vaswani,N.Shazeer,N.Parmar,J.Uszkoreit,L.Jones,A.N.Gomez,
Figure BDA0003318589820000021
Kaiser,and I.Polosukhin,“Attention is all you need,”in Proceedings of the31st International Conference on Neural Information Processing Systems,2017,pp.6000–6010.
[2]J.Devlin,M.-W.Chang,K.Lee,and K.Toutanova,“Bert:Pre-training ofdeep bidirectional transformers for language understanding,”in NAACL-HLT,2019.
发明内容
为克服上述现有技术存在的不足,本发明提供一种可在硬件上高效实现的稀疏注意力机制的数据处理加速方法,是一种可以使用硬件加速器高效实现的动态稀疏注意力算法,从而使得在保持模型高准确度的条件下同时做到节约更多计算量以及高效的硬件实现。注意力机制是一种广泛应用于各种任务以及各种神经网络模型的通用算子,因此本方法同样可以适用于各种应用与模型。
本发明方法对注意力机制进行优化。基于注意力机制的模型接受序列数据作为输入,因此,将输入数据(如文本与图像数据等)按一定方式进行序列化,得到相应的序列数据。再将序列数据进行映射处理,得到对应的查询向量、键向量与值向量,进一步得到输入动态稀疏注意力机制的查询矩阵Q,键矩阵K与值矩阵V。对于输入动态稀疏注意力机制的查询矩阵Q与键矩阵K,首先将它们进行低比特量化并以此计算出分数矩阵的低比特版本,然后通过对该分数矩阵进行二值化得到一个掩模,以此作为对注意力机制动态稀疏性的预测.接着,对该注意力掩模进行分块打包,得到一些固定大小且稀疏性较为均匀的结构化掩模块,这种均匀的稀疏性可以在硬件上取得更好的负载均衡,从而提升硬件计算资源的利用率。最后,使用输入矩阵(查询矩阵Q,键矩阵K与值矩阵V)以及上述掩模块执行稀疏注意力机制,由此实现基于稀疏注意力机制的数据处理加速。
本发明提供的技术方案如下:
一种可硬件实现的动态稀疏注意力机制的数据处理加速方法,包含以下步骤:
1)对图文应用数据进行序列化预处理,得到相应序列数据对应的查询向量、键向量与值向量,并进一步得到输入注意力机制的查询矩阵Q与键矩阵K;
具体实施时,基于机器翻译应用的Transformer模型,将该模型中所包含的注意力机制算子改进为采用本发明的可硬件实现的动态稀疏注意力机制。给定输入文本,首先使用词例化程序(tokenizer)对其进行预处理,得到一个整数序列,整数序列中的每一个元素均对应输入文本中的一个单元。以该整数序列作为索引,通过词嵌入矩阵(word embeddingmatrix)获取每个文本单元对应的嵌入向量,每个嵌入向量即为词嵌入矩阵中索引对应位置的一行。接着通过将嵌入向量分别乘以参数矩阵,进行三次独立的线性映射,即得到每个文本单元对应的查询向量、键向量与值向量。将查询向量、键向量与值向量作为本发明方法的输入。
2)计算低比特的分数矩阵;包括:
1.1对查询矩阵Q与键矩阵K进行低比特量化,得到量化后矩阵QQ与QK;
具体实施时,量化采用对称线性量化方式,具体的实现方法是将输入数据乘以一个比例因子,然后四舍五入到整数。该比例因子可以从在训练时收集的Q矩阵与K矩阵元素的动态范围推算出来。量化位宽可以根据需求选择。通常设置为4比特。在训练时,为了保证端到端训练,可采用直通估计器(straight-through estimator)对不可微的对称线性量化算子的梯度进行估计。
1.2将量化后的QQ矩阵与QK矩阵相乘;
得到量化后的QQ矩阵与QK矩阵之后,将二者相乘,得到矩阵乘法的结果。
1.3对矩阵乘法的结果使用逐行softmax操作进行归一化,从而得到低比特分数矩阵。
3)对低比特分数矩阵进行二值化,得到注意力掩模;
使用一个固定的阈值T1,对归一化之后的分数矩阵进行二值化。给定低比特分数矩阵,将它与一个预先设定的阈值T1进行逐元素比较,将比较结果保存为一个由0与1组成,与低比特分数矩阵相同大小的注意力掩模。掩模中的元素的值为1,则代表着低比特分数矩阵中对应元素不小于阈值,为0则为小于阈值。该阈值通常设置在0.002到0.08之间。
4)对注意力掩模进行分块打包,得到打包后的结构化掩模块;
4.1使用一个预先设定的宽度参数W,将注意力掩模在列维度上划分为多个宽度为W的子矩阵;
一般设置参数W为硬件计算单元阵列的宽度。
4.2对于每个子矩阵,删除所有全零的行;
4.3使用一个预先设定的阈值T2,将所有非零元素数量超过T2的行分割为多个行,使得子矩阵中的每一行中的非零元素数量不超过T2;这一步使得各行非零元素数量更加均匀,从而可以在硬件上取得更好的负载均衡。T2可根据硬件计算单元阵列中计算单元的密度进行取值。
4.4使用一个预先设定的高度参数H,将每个子矩阵在行维度上划分为多个高度为H的结构化掩模块;
参数H一般设置为硬件计算单元阵列的高度,使得得到的每一个结构化掩模块的大小与计算单元阵列的大小一致,从而可以被映射到计算单元阵列的一次执行。
5)使用打包后的结构化掩模块计算稀疏注意力机制;
5.1使用Q矩阵,K矩阵,以及以上得到的结构化掩模块,通过执行样本化稠密矩阵乘法(SDDMM),得到稀疏分数矩阵;
5.2对稀疏分数矩阵使用逐行Softmax操作进行归一化;
5.3使用归一化之后的稀疏分数矩阵与V矩阵作为输入,通过执行稀疏矩阵乘法(SpMM),得到输出矩阵,即最终结果。
通过上述步骤,即可在硬件上高效实现稀疏注意力机制的数据处理加速。
与现有技术相比,本发明的有益效果:
本发明提供一种可在硬件上高效实现的稀疏注意力机制的数据处理加速方法,是一种可以使用硬件加速器高效实现的动态稀疏注意力算法,从而使得在保持模型高准确度的条件下同时做到节约更多计算量以及高效的硬件实现。本发明的技术优势包括:
A.本发明针对系列数据进行加速处理,根据注意力机制输入矩阵的特性,动态高效地预测注意力机制的稀疏模式,能够节省3.0-11.5倍的计算量.
B.本发明将原本高度非结构化的注意力掩模分块打包,得到稀疏性较均匀并且固定大小的掩模块,可以在硬件上取得更好的负载均衡,有助于高效提升硬件的计算性能。
附图说明
图1为动态稀疏注意力机制算法的流程示意图;
其中,①表示计算低比特的分数矩阵,②表示根据阈值对低比特分数矩阵进行二值化得到注意力掩模,③表示对注意力掩模进行分块打包,④表示使用打包后的注意力掩模计算稀疏注意力机制。
图2为对注意力掩模进行分块打包的分步实施过程的示意图;
其中,⑤表示将注意力掩模在列维度上划分为若干个等宽的子矩阵,⑥表示对于每个子矩阵删除所有全零的行,⑦表示将非零元素较多的行分割为多行,使得每一行非零元素数量不超过某个阈值,⑧表示将每个子矩阵在行维度上划分为若干个等宽的结构化掩模块。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种可以使用硬件加速器高效实现的动态稀疏注意力算法,根据注意力机制输入矩阵的特性动态高效地预测注意力机制的稀疏模式,通过端到端训练的方式最大限度地降低稀疏注意力机制对算法准确性的影响,可以取得与原先稠密注意力机制相当甚至更高的准确度;将原本高度非结构化的注意力掩模分块打包,得到稀疏性较均匀并且固定大小的掩模块,可以在硬件上取得更好的负载均衡,有助于硬件高效计算。
本发明方法对注意力机制进行优化。因为这是一种广泛应用于各种任务以及各种神经网络模型的通用算子,所以本算法同样可以适用于各种应用与模型。这些模型接受序列数据作为输入,因此要求输入数据可以以一定方式进行序列化,比如文本与图像数据。
以下我们以机器翻译的Transformer模型为例介绍本方法的一个实例,该模型中所包含的注意力机制算子都可以替换为本算法,而其余部分保持不变。
机器翻译应用中,本算法或是原本注意力机制的输入一般可以通过以下方式得到。给定输入文本,我们首先使用词例化程序(tokenizer)对其进行预处理得到一个整数序列,其中每一个元素对应输入文本中的一个单元。接着,我们以该整数序列作为索引从一个词嵌入矩阵(word embedding matrix)中获取每个文本单元对应的嵌入向量,每个向量即为词嵌入矩阵中索引对应位置的一行。接着我们对嵌入向量进行三次独立的线性映射(即乘以一个参数矩阵)得到每个文本单元对应的查询向量,键向量与值向量,并以此作为本算法的输入。
以下我们结合具体输入文本说明以上过程。假设输入序列为句子“这是中文词典”,词例化程序首先将其按照一定准则切分成一系列更小的文本单元(比如词语),如[“这”,“是”,“中文”,“词典”]。接着词例化程序会将这些文本单元映射到各自在某个给定词汇表(vocabulary,一个包含该语言可能出现的各种文本单元的列表)中所在的位置,得到一个整数序列,如[2,15,312,577]。然后,我们以这个序列作为索引从词嵌入矩阵中依次取出对应位置的行作为各个文本单元的嵌入向量,其中词嵌入矩阵的行数即为词汇表的大小。在这个例子中,我们会取出词嵌入矩阵的2,15,312,577四行。最后我们将每个嵌入向量依次与三个独立的参数矩阵相乘,得到对应的查询向量,键向量与值向量。
以下描述经过本算法优化后的单个注意力机制算子的执行过程,其三个输入矩阵分别由以上过程得到的各文本单元所对应的查询向量,键向量与值向量构成。
本发明方法的总体流程如图1所示.在图1中,①表示使用量化后的查询矩阵QQ与键矩阵QK计算得到低比特版本的分数矩阵;②表示对分数矩阵进行二值化,得到注意力掩模;③表示对注意力掩模进行分块打包;最后④表示使用打包后的注意力掩模计算稀疏注意力机制。
如图1中的①所示,在计算低比特分数矩阵时,算法首先对查询矩阵Q与键矩阵K进行低比特量化。量化采用对称线性量化方式,具体的实现方法是将输入数据乘以一个比例因子然后四舍五入到最近整数。该比例因子可以从在训练时收集的Q矩阵与K矩阵元素的动态范围推算出来,具体推算过程如式1所示。其中n为量化位宽,xf为浮点数类型的矩阵,qx为推算得到的比例因子。量化位宽可以根据需求选择。通常设置为4比特。在训练过程中对于一个注意力机制算子,算法计算所有输入的Q矩阵或K矩阵的比例因子,并取其平均值作为推理过程中使用的比例因子。给定比例因子,对称线性量化过程如式2所示。其中xq为浮点数类型矩阵xf的量化结果。在训练时,为了实现端到端训练,可采用直通估计器对不可微的量化算子的梯度进行估计,即在反向传播过程中将量化算子输入xf的梯度直接置为其输出xq的梯度。得到量化后的QQ矩阵与QK矩阵之后,将二者相乘并对结果使用逐行softmax操作进行归一化,从而得到低比特分数矩阵。
Figure BDA0003318589820000061
xq=round(qxxf) (式2)
图1中的②中,注意力掩模可以通过以下方式得到。给定低比特分数矩阵,将它与一个预先设定的阈值进行逐元素比较,将比较结果保存为一个由0与1组成,与低比特分数矩阵相同大小的注意力掩模。掩模中的元素的值为1,则代表着低比特分数矩阵中对应元素不小于阈值,为0则为小于阈值。该阈值通常设置在0.002到0.08之间。可以通过调整其大小改变注意力机制的稀疏程度,阈值越大意味着稀疏程度越高。
图1中的③中,对注意力掩模进行分块打包的具体流程如图2所示。给定二值化得到的注意力掩模,算法首先将其在列维度上划分为若干个等宽的子矩阵。如图2中的⑤所示,该步骤将原本大小为8x8的掩模划分为8x4的两个子矩阵。然后,算法遍历每个子矩阵并删除所有全零的行。如图2中的⑥所示,该步骤在两个子矩阵中分别删去了一个加粗的全零行。接着,算法将将非零元素较多的行分割为多行,使得每一行非零元素数量不超过某个阈值。如图2中的⑦所示,假设该阈值为2,加粗的两行因为各有三个非零元素所以被算法分别划分为两行。假设某一行(共4个元素)原本在2,3,4位置有非零元素,则划分之后的两行分别在2,3以及4位置有非零元。最后,算法将每个子矩阵在行维度上划分为若干个等宽的结构化掩模块。如图2中⑧所示,每个子矩阵被划分成了两个大小为4x4的结构化掩模块。
图1中④表示在得到结构化掩模块之后,算法首先使用未量化的查询矩阵Q,键矩阵K,以及以上得到的结构化掩模块作为采样掩模,执行SDDMM得到稀疏分数矩阵.对于每一个结构化掩模块,算法加载Q,K矩阵的对应行计算稀疏分数矩阵中的相应局部.接着,算法对稀疏分数矩阵使用逐行softmax操作进行归一化,其中稀疏分数矩阵中的零元素在计算softmax时被跳过.最后,算法使用归一化之后的稀疏分数矩阵与未量化的值矩阵V作为输入,执行SpMM得到最终的输出矩阵。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (7)

1.一种可硬件实现的动态稀疏注意力机制的数据处理加速方法,对以序列数据作为输入的注意力机制模型进行优化,将应用数据进行序列化得到相应的序列数据,再将序列数据进行映射处理,得到对应的查询向量、键向量与值向量,进一步得到查询矩阵Q,键矩阵K与值矩阵V,作为动态稀疏注意力机制模型的输入;
对查询矩阵Q与键矩阵K进行低比特量化并计算出低比特分数矩阵;通过对分数矩阵进行二值化得到掩模,作为对注意力机制动态稀疏性的预测;接着对注意力掩模进行分块打包,得到固定大小且稀疏性均匀的结构化掩模块,均匀的稀疏性在硬件上取得好的负载均衡,从而提升硬件计算资源的利用率;最后,使用输入到动态稀疏注意力机制模型的查询矩阵Q、键矩阵K、值矩阵V和掩模块,通过执行动态稀疏注意力机制实现基于稀疏注意力机制的数据处理加速;包括以下步骤:
1)对应用数据进行序列化预处理,得到相应序列数据对应的查询向量、键向量与值向量,并进一步得到输入注意力机制的查询矩阵Q与键矩阵K;
2)计算低比特的分数矩阵;包括:
2.1对查询矩阵Q与键矩阵K进行低比特量化,得到量化后矩阵QQ与QK;
所述低比特量化具体是采用对称线性量化方式,将输入数据乘以比例因子,再四舍五入到整数,得到量化后查询矩阵QQ与量化后键矩阵QK;
2.2将QQ矩阵与QK矩阵相乘,得到矩阵乘法结果;
2.3对矩阵乘法结果使用逐行softmax操作进行归一化,即得到低比特分数矩阵;
3)设定阈值T1,对低比特分数矩阵进行二值化,得到注意力掩模;
具体是将低比特分数矩阵与设定的阈值T1进行逐元素比较,将比较结果保存为一个与低比特分数矩阵相同大小的注意力掩模;所述注意力掩模由0与1组成;掩模中的元素的值为1,表示低比特分数矩阵中对应元素不小于阈值;掩模中的元素的值为0则表示低比特分数矩阵中对应元素小于阈值。该阈值通常设置在0.002到0.08之间。
4)对注意力掩模进行分块打包,得到打包后的结构化掩模块;
4.1设定宽度参数W,将注意力掩模在列维度上划分为宽度为W的多个子矩阵;所述参数W的取值可设置为硬件计算单元阵列的宽度;
4.2对于每个子矩阵,删除所有全零的行;
4.3设定阈值T2,将所有非零元素数量超过阈值T2的行分割为多个行,使得子矩阵中每一行中的非零元素数量不超过T2;
4.4设定高度参数H,将每个子矩阵在行维度上划分为多个高度为H的结构化掩模块;所述高度参数H的取值可设置为硬件计算单元阵列的高度,使得得到的每一个结构化掩模块的大小与计算单元阵列的大小一致,从而可以被映射到计算单元阵列的一次执行;
5)使用打包后的结构化掩模块计算稀疏注意力机制;包括:
5.1利用矩阵Q、矩阵K和结构化掩模块,通过执行样本化稠密矩阵乘法SDDMM,得到稀疏分数矩阵;
5.2对稀疏分数矩阵通过使用逐行Softmax操作进行归一化;
5.3使用归一化之后的稀疏分数矩阵与值矩阵V作为输入,通过执行稀疏矩阵乘法SpMM,得到输出矩阵,即得到最终结果;
通过上述步骤,即可在硬件上高效实现稀疏注意力机制的数据处理加速。
2.如权利要求1所述可硬件实现的动态稀疏注意力机制的数据处理加速方法,其特征是,输入的应用数据为可进行序列化得到相应序列数据,包括文本数据、图像数据。
3.如权利要求1所述可硬件实现的动态稀疏注意力机制的数据处理加速方法,其特征是,输入的应用数据为文本数据;步骤1)具体包括:
11)首先使用词例化程序tokenizer对文本数据进行预处理,得到一个整数序列,整数序列中的每一个元素均对应输入文本中的一个单元;
12)以整数序列作为索引,通过词嵌入矩阵获取每个文本单元对应的嵌入向量,每个嵌入向量即为词嵌入矩阵中索引对应位置的一行;
13)通过将嵌入向量分别乘以参数矩阵,进行三次独立的线性映射,即得到每个文本单元对应的查询向量、键向量与值向量。
4.如权利要求1所述可硬件实现的动态稀疏注意力机制的数据处理加速方法,其特征是,步骤2.1中,所述比例因子可根据矩阵Q与矩阵K中的元素的动态范围进行推算得到;量化位宽可设置为4比特。
5.如权利要求4所述可硬件实现的动态稀疏注意力机制的数据处理加速方法,其特征是,所述比例因子表示为式1:
Figure FDA0003318589810000021
其中,n为量化位宽,xf为浮点数类型的矩阵,qx为推算得到的比例因子。
6.如权利要求1所述可硬件实现的动态稀疏注意力机制的数据处理加速方法,其特征是,步骤2.1中,可采用直通估计器对不可微的对称线性量化算子的梯度进行估计。
7.如权利要求1所述可硬件实现的动态稀疏注意力机制的数据处理加速方法,其特征是,步骤3)中,阈值T1通常设置在0.002到0.08之间。
CN202111239200.9A 2021-10-25 2021-10-25 可硬件实现的动态稀疏注意力机制的数据处理加速方法 Pending CN113918882A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111239200.9A CN113918882A (zh) 2021-10-25 2021-10-25 可硬件实现的动态稀疏注意力机制的数据处理加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111239200.9A CN113918882A (zh) 2021-10-25 2021-10-25 可硬件实现的动态稀疏注意力机制的数据处理加速方法

Publications (1)

Publication Number Publication Date
CN113918882A true CN113918882A (zh) 2022-01-11

Family

ID=79242670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111239200.9A Pending CN113918882A (zh) 2021-10-25 2021-10-25 可硬件实现的动态稀疏注意力机制的数据处理加速方法

Country Status (1)

Country Link
CN (1) CN113918882A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692085A (zh) * 2022-03-30 2022-07-01 北京字节跳动网络技术有限公司 特征提取方法、装置、存储介质及电子设备
CN116383391A (zh) * 2023-06-06 2023-07-04 深圳须弥云图空间科技有限公司 一种文本分类方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692085A (zh) * 2022-03-30 2022-07-01 北京字节跳动网络技术有限公司 特征提取方法、装置、存储介质及电子设备
CN116383391A (zh) * 2023-06-06 2023-07-04 深圳须弥云图空间科技有限公司 一种文本分类方法及装置
CN116383391B (zh) * 2023-06-06 2023-08-11 深圳须弥云图空间科技有限公司 一种文本分类方法及装置

Similar Documents

Publication Publication Date Title
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
US11449729B2 (en) Efficient convolutional neural networks
CN113918882A (zh) 可硬件实现的动态稀疏注意力机制的数据处理加速方法
CN111105035A (zh) 基于稀疏学习与遗传算法相结合的神经网络剪枝方法
CN113159276A (zh) 模型优化部署方法、***、设备及存储介质
CN111814973A (zh) 一种适用于神经常微分方程网络计算的存内计算***
CN115238893B (zh) 面向自然语言处理的神经网络模型量化方法和装置
Bao et al. LSFQ: A low precision full integer quantization for high-performance FPGA-based CNN acceleration
CN113283587A (zh) 一种Winograd卷积运算加速方法及加速模块
Kulkarni et al. A survey on quantization methods for optimization of deep neural networks
Wróbel et al. Compression of convolutional neural network for natural language processing
CN114756517A (zh) 一种基于可微量化训练的视觉Transformer压缩方法及***
Jiang et al. A low-latency LSTM accelerator using balanced sparsity based on FPGA
Cai et al. Convolution without multiplication: A general speed up strategy for CNNs
CN112686384A (zh) 一种自适应比特位宽的神经网络量化方法及其装置
CN117151178A (zh) 一种面向fpga的cnn定制网络量化加速方法
CN115983343A (zh) 基于FPGA的YOLOv4卷积神经网络轻量化方法
CN116187416A (zh) 一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器
CN115860062A (zh) 一种适合fpga的神经网络量化方法及装置
Ascia et al. Improving inference latency and energy of network-on-chip based convolutional neural networks through weights compression
CN115936067A (zh) 一种具有eca通道注意力机制的神经网络
CN114492795A (zh) 深度卷积神经网络压缩方法、计算机装置及存储介质
CN113033661A (zh) 一种基于嵌入式平台特点改进的目标检测方法
KR20230032748A (ko) 심층 강화학습을 위한 심층 신경망 학습 가속 장치 및 그 방법
JP2023545575A (ja) ニューラルネットワーク計算のための量子化

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