CN117688287A - 基于自注意力的数据处理方法、装置、介质及终端 - Google Patents
基于自注意力的数据处理方法、装置、介质及终端 Download PDFInfo
- Publication number
- CN117688287A CN117688287A CN202311762425.1A CN202311762425A CN117688287A CN 117688287 A CN117688287 A CN 117688287A CN 202311762425 A CN202311762425 A CN 202311762425A CN 117688287 A CN117688287 A CN 117688287A
- Authority
- CN
- China
- Prior art keywords
- matrix
- floating
- binary
- query
- point
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims abstract description 373
- 238000007667 floating Methods 0.000 claims abstract description 108
- 238000006243 chemical reaction Methods 0.000 claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 62
- 239000013598 vector Substances 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 58
- 238000004364 calculation method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 44
- 238000013139 quantization Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 12
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 abstract description 19
- 238000005265 energy consumption Methods 0.000 abstract description 10
- 238000000605 extraction Methods 0.000 abstract description 3
- 238000003058 natural language processing Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 235000019800 disodium phosphate Nutrition 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
本申请提供一种基于自注意力的数据处理方法、装置、介质及终端,通过TIF转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,并使用汉明距离来衡量比较二进制查询矩阵和二进制关键字矩阵中的每一个向量之间的相似度,是一种基于位运算的新型注意力机制,在保留全局特征提取能力的同时,减少了对高精度计算单元的需求,使得Transformer模型在处理数据享有高性能表现的同时降低了计算复杂度和难度,避免大规模的浮点数运算,提高了计算效率、降低能耗消耗并提高了计算准确性,这对于能量资源和计算能力有限的边缘设备至关重要。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于自注意力的数据处理方法、装置、介质及终端。
背景技术
大模型深度学习技术近几年备受关注,它在图像处理,自然语言处理等任务上都取得了良好的效果。但是大模型的推理和训练过程对计算资源要求很高,这导致大模型的使用变得非常昂贵,同时对诸如手机等计算能力有限的设备很不友好。
现在的深度学习大模型技术都以Transformer模型为基础打造,Transformer模型在图像处理、自然语言处理等很多领域有着广泛的应用。Transformer模型中最重要的算法是自注意力算法,自注意力算法把每个输入的数据两两进行比较,通过内积的大小衡量他们的相似程度,然后依照他们的相似程度来对输出数据进行重新表示。
自注意力机制相比于之前的算法,拥有更好的捕捉长距离依赖的能力,同时拥有更好的并行度。但是,带来的代价是相比以前算法更加高昂的计算复杂度。由于需要对输入数据两两进行比较,所以带来了平方的复杂度,这带来了很多计算上的挑战。尤其是对于一些低计算精度的设备,很难在上面进行自注意力机制的部署。
现有的一些针对自注意力机制的精简操作,重点关注在减少比较次数上。但是这在减少计算量的同时也削弱了算法对长距离依赖的捕捉能力。另外,即使减少了操作数,本质上还是无法离开大量的浮点数矩阵乘法运算,这仍旧是十分昂贵的操作,造成Transformer模型在图像处理、自然语言处理等数据处理方面计算较复杂、计算难度高,造成能耗高、性能低,准确性得不到保证。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种基于自注意力的数据处理方法、装置、介质及终端,用于解决如何使Transformer模型在处理数据时享有其高性能表现的同时降低计算复杂度和难度,避免大规模的浮点数运算,以提高计算效率、降低能耗消耗、减少高精度计算单元以及提高计算准确性的技术问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于自注意力的数据处理方法,包括:
获取待处理数据并计算得到对应的浮点数矩阵;
将所述浮点数矩阵输入Transformer模型,通过所述Transformer模型的Transformer块对所述浮点数矩阵进行线性投影处理,以得到所述浮点数矩阵所对应的浮点型查询矩阵、浮点型关键字矩阵、浮点型赋值矩阵;
基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵;
计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵;
将所述自注意力分数矩阵与所述浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
于本申请的第一方面的一些实施例中,所述基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵,其二进制转换过程包括:
对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵;
基于二进制转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,计算得到若干个二进制查询子矩阵、二进制关键字子矩阵;
根据所述若干个二进制查询子矩阵、二进制关键字子矩阵,计算得到对应的二进制查询矩阵、二进制关键字矩阵。
于本申请的第一方面的一些实施例中,对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵的获取方式包括:
其中,Qf表示浮点型量化查询矩阵;Kf表示浮点型量化关键字矩阵;Q'f表示浮点型查询矩阵;K'f表示浮点型关键字矩阵;min(Q'f)表示浮点型查询矩阵Q'f数值的最小值;max(Q'f)表示浮点型查询矩阵Q'f数值的最大值;min(K'f)表示浮点型关键字矩阵K'f数值的最小值;max(K'f)表示浮点型关键字矩阵k'f数值的最大值。
于本申请的第一方面的一些实施例中,所述二进制转换算法包括TIF转换算法;所述TIF转换算法的计算过程包括:
Vi=(Vi-1+Qf)[1-[Θ(Vi-1+Qf-1)]+(Vi-1+Qf-1)[Θ(Vi-1+Qf-1)];
其中,Vi表示获取第i个二进制查询子矩阵整个过程中的累积值;Qf表示浮点型量化查询矩阵;Vi-1表示获取第i-1个二进制查询子矩阵/>整个过程中的累积值;Θ(x)表示Heaviside函数;Qb表示二进制查询矩阵;/>表示二进制查询矩阵Qb中的第i个二进制查询子矩阵;T表示时间步长。
于本申请的第一方面的一些实施例中,所述二进制转换算法包括TIF转换算法;所述TIF转换算法的计算过程包括:
V′i=(V′i-1+Kf)[1-Θ(Vi-1+Kf-1)]+(V′i-1+Kf-1)[Θ(Vi-1+Kf-1)];
其中,V'i表示获取第i个二进制关键字子矩阵整个过程中的累积值;Kf表示浮点型量化关键字矩阵;V'i-1表示获取第i-1个二进制关键字子矩阵/>整个过程中的累积值;Θ(x)表示Heaviside函数;Kb表示二进制关键字矩阵;/>表示二进制关键字矩阵Kb中的第i个二进制关键字子矩阵;T表示时间步长。
于本申请的第一方面的一些实施例中,计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵的获取方式包括:
其中,Ai表示第i个自注意力矩阵;Ai(m,n)表示第i个自注意力矩阵Ai中的第m行第n列元素;表示第i个二进制查询子矩阵/>中的第m行向量;/>表示第i个二进制关键字子矩阵/>中的第n行向量;/>表示/>之间的汉明距离;A表示自注意力分数矩阵;T表示时间步长。
为实现上述目的及其他相关目的,本申请的第二方面提供一种基于自注意力的数据处理装置,包括:
数据预处理模块,用于获取待处理数据并计算得到对应的浮点数矩阵;
浮点型矩阵获取模块,用于将所述浮点数矩阵输入Transformer模型,通过所述Transformer模型的Transformer块对所述浮点数矩阵进行线性投影处理,以得到所述浮点数矩阵所对应的浮点型查询矩阵、浮点型关键字矩阵、浮点型赋值矩阵;
二进制矩阵转换模块,用于基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵;
自注意力分数矩阵计算模块,用于计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵;
数据处理输出模块,用于将所述自注意力分数矩阵与所述浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
于本申请的第二方面的一些实施例中,所述二进制矩阵转换模块还用于执行如下步骤:
对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵;
基于二进制转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,计算得到若干个二进制查询子矩阵、二进制关键字子矩阵;
根据所述若干个二进制查询子矩阵、二进制关键字子矩阵,计算得到对应的二进制查询矩阵、二进制关键字矩阵。
为实现上述目的及其他相关目的,本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于自注意力的数据处理方法。
为实现上述目的及其他相关目的,本申请的第四方面提供一种电子终端,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上所述的基于自注意力的数据处理方法。
如上所述,本申请的基于自注意力的数据处理方法、装置、介质及终端,具有以下有益效果:通过TIF转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,并使用汉明距离来衡量比较二进制查询矩阵和二进制关键字矩阵中的每一个向量之间的相似度,是一种基于位运算的新型注意力机制,在保留全局特征提取能力的同时,利用了按位运算,降低了计算量,减少了对高精度计算单元的需求,使得Transformer模型在处理数据享有高性能表现的同时降低了计算复杂度和难度,避免了大规模的浮点数运算,提高了计算效率、降低了能耗消耗并提高了计算准确性,这对于能量资源和计算能力有限的边缘设备至关重要。另外,本申请基于TIF转换算法的二进制转换过程涉及将输入的浮点数表示为T个二进制分数的组合,使得整个计算过程都在一个可量化的误差范围内。在低精度设备上执行注意力操作时,从而巧妙地在微小但可量化的精度水平上进行了权衡,带来了在计算过程中降低功耗需求以及同时提升计算效率的显著好处。
附图说明
图1A显示为本申请一实施例中的基于自注意力的数据处理方法的流程示意图。
图1B显示为本申请一实施例中的二进制转换过程的流程示意图。
图2A显示为本申请一实施例中的基于位运算的新型注意力机制架构图。
图2B显示为本申请一实施例中与其他模型在文本分类上的性能表现对比表。
图2C显示为本申请一实施例中与其他模型在图片分类任务上的性能表现对比表。
图2D显示为本申请一实施例中与其他模型在硬件结构上的性能表现对比表。
图3显示为本申请一实施例中的基于自注意力的数据处理装置的结构示意图。
图4显示为本申请一实施例中电子终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
Transformer模型在图像处理、自然语言处理等很多领域有着广泛的应用,Transformer模型中最重要的算法是自注意力算法,自注意力算法把每个输入的数据两两进行比较,通过内积的大小衡量他们的相似程度,然后依照他们的相似程度来对输出数据进行重新表示。自注意力机制相比于之前的算法,拥有更好的捕捉长距离依赖的能力,同时拥有更好的并行度。但是,由于需要对输入数据两两进行比较,带来了平方的复杂度,使得相比以前的算法具有更加高昂的计算复杂度。尤其是对于一些低计算精度的设备,很难在上面进行自注意力机制的部署。
而现有的一些针对自注意力机制的精简操作,重点关注在减少比较次数上。但是这在减少计算量的同时也削弱了算法对长距离依赖的捕捉能力。另外,即使减少了操作数,本质上还是无法离开大量的浮点数矩阵乘法运算,这仍旧是十分昂贵的操作,造成Transformer模型在图像处理、自然语言处理等数据处理方面计算较复杂、计算难度高,造成能耗高、性能低,准确性得不到保证。
为解决上述背景技术中的问题,本发明提供一种基于自注意力的数据处理方法、装置、介质及终端,旨在解决如何使Transformer模型在处理数据时享有其高性能表现的同时降低计算复杂度和难度,避免大规模的浮点数运算的技术问题,以提高计算效率、降低能耗消耗、减少高精度计算单元以及提高计算准确性。
在对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
<1>Transformer模型:是一种基于自注意力机制的神经网络模型,用于处理序列数据。
<2>BiLSTM(Bidirectional Long Short-Term Memory)是一种双向长短时记忆网络,是长短时记忆网络(LSTM)的一种变体。BiLSTM则可以同时处理正向和反向的序列数据,从而更好地捕捉序列中的上下文信息。
<3>IMDB(Internet Movie Data Base):互联网电影资料库,是一个关于电影演员、电影、电视节目、电视明星、电子游戏和电影制作的在线数据库。
<4>CIFAR:是一个图像分类的数据集,分十个类别(飞机、机动车、鸟类等等),每个类有1000张图片。CIFAR数据集由CIFAR-10和CIFAR-100两个子集组成。CIFAR-10包含10个不同类别的图像,每个类别有6000张32x32像素大小的彩色图像。CIFAR-100则包含100个不同细粒度的类别,每个类别有600张图像。CIFAR数据集的图像来源于真实世界中的日常物体和动物,具有较高的复杂性和多样性。
<5>VIT(Vision Transformer):是一种用于图像分类的深度学习模型,它采用与自然语言处理(NLP)中Transformer类似的架构,通过将图像分解为固定大小的patch(小块),然后将这些patch(小块)视为序列数据,使用Transformer进行处理。
<6>Hybrid Training:一种混合式训练方法,可以根据具体任务和数据特点进行定制和优化。
<7>STBP-tdBN:是一种深度学习模型,具有在非常深的SNN(Spiking NeuralNetwork,脉冲神经网络)上进行直接训练的能力,并在相应的硬件上有效实现推断。
<8>Spikeformer:表示一个将脉冲神经网络模型应用于Transformer网络的结构。
<10>FPGA(Field Programmable GateArray):即现场可编程门阵列,是一种可编程逻辑电路,由大量的可编程逻辑单元、存储单元和互连资源组成。
<11>BRAM(Block RAM):是FPGA内部的一种存储资源,主要用于存储用户数据,实现查找表(LUT)、数据存储和操作(RAM)、缓冲区(FIFO)等功能。
<12>LUT(Lookup Table):全称为查找表,是一种用于实现特定逻辑函数或操作的存储结构。在FPGA中,LUT通常用于实现组合逻辑或时序逻辑功能。
<13>FF(First-In,First-Out):是FIFO先进先出存储器。
<14>DSP(Digital Signal Processor):即数字信号处理器,是一种专门用于处理数字信号的处理器件。
与此同时,为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
如图1A所示,展示了本发明实施例中的基于自注意力的数据处理方法的流程示意图。本实施例中基于自注意力的数据处理方法主要包括如下各步骤:
S101:获取待处理数据并计算得到对应的浮点数矩阵。
于本实施例中,所述待处理数据包括图像数据、视频数据、文本数据、自然语言数据中的一种或者多种的组合。
于本实施例中,对获取的待处理数据进行编码处理,以计算得到所述待处理数据编码后的浮点数矩阵X。
S102:将所述浮点数矩阵输入Transformer模型,通过所述Transformer模型的Transformer块对所述浮点数矩阵进行线性投影处理,以得到所述浮点数矩阵所对应的浮点型查询矩阵、浮点型关键字矩阵、浮点型赋值矩阵。
于本实施例中,Transformer模型是一种基于自注意力机制的神经网络模型,用于处理序列数据。相比于传统的循环神经网络模型,Transformer模型具有更好的并行性能和更短的训练时间,因此在自然语言处理领域中得到了广泛应用。作为一种基于自注意力机制的神经网络模型,Transformer模型能够对序列中的每个元素进行全局建模,并在各个元素之间建立联系。与循环神经网络模型相比,Transformer模型具有更好的并行性能和更短的训练时间。在Transformer模型中,还使用了残差连接和层归一化等技术来加速模型收敛和提高模型性能。在使用基于Transformer深度学习模型处理诸如图像分类,文本生成等任务时,模型输入为待处理的图片或文本,输出根据任务目标的不同有所不同,可以是翻译后文本,图片类别等。Transformer模型由多个相同的包含自注意力层的Transformer块构成。本发明修改了原有算法中的自注意力层。
于本实施例中,将所述浮点数矩阵输入Transformer模型,经过线性投影得到自注意力计算中需要的浮点型查询矩阵Q'f,浮点型关键字矩阵K'f和浮点型赋值矩阵Vf,下标f表示矩阵为浮点数矩阵,其中浮点型查询矩阵Q'f,浮点型关键字矩阵K'f和浮点型赋值矩阵Vf的计算公式如下:
Q'f=XWq; 公式(1)
K'f=XWk; 公式(2)
Vf=XWv; 公式(3)
其中,Q'f表示浮点型查询矩阵;K'f表示浮点型关键字矩阵;Vf表示浮点型赋值矩阵;X表示浮点数矩阵;Wq表示浮点型查询矩阵W'f对应的线性投影矩阵;Wk表示浮点型关键字矩阵K'f对应的线性投影矩阵;Wv表示浮点型赋值矩阵Vf对应的线性投影矩阵。
S103:基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵。
于本实施例中,如图1B所示,展示了本发明实施例中的二进制转换过程的流程示意图。所述基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵,其二进制转换过程包括:
S1031:对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵。
于本实施例中,对所述浮点型查询矩阵Q'f、浮点型关键字矩阵K'f进行线性量化处理,以确保所有值都为正且值在[0,1]范围内,从而保证计算中的数据区分度,进而保证Transformer模型的精度损失在可接受范围内,使得Transformer模型在对待处理数据进行处理时,可以在保证处理结果精度的同时,还能提升Transformer模型的推理速度。
于本实施例中,所述浮点型量化查询矩阵Qf、浮点型量化关键字矩阵Kf的计算过程包括:
其中,Qf表示浮点型量化查询矩阵;Kf表示浮点型量化关键字矩阵;Q'f表示浮点型查询矩阵;K'f表示浮点型关键字矩阵;min(Q'f)表示浮点型查询矩阵Q'f数值的最小值;max(Q'f)表示浮点型查询矩阵Q'f数值的最大值;min(K'f)表示浮点型关键字矩阵K'f数值的最小值;max(K'f)表示浮点型关键字矩阵K'f数值的最大值。
S1032:基于二进制转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,计算得到若干个二进制查询子矩阵、二进制关键字子矩阵。
于本实施例中,所述二进制转换算法包括TIF转换算法,基于TIF转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,能够计算得到T个二进制查询子矩阵、二进制关键字子矩阵。
S1033:根据所述若干个二进制查询子矩阵、二进制关键字子矩阵,计算得到对应的二进制查询矩阵、二进制关键字矩阵。
于本实施例中,基于TIF转换算法计算得到的二进制查询矩阵Qb包括T个二进制查询子矩阵基于TIF转换算法计算得到的二进制关键字矩阵Kb包括T个二进制关键字子矩阵/>其中下标b代表矩阵是二进制类型的数据。下文对所述二进制查询矩阵Qb、二进制关键字矩阵Kb的计算过程进行详细的说明。
于本实施例中,设置V为获取第i个二进制查询子矩阵整个过程中的累积值,令V0=Qf,则基于TIF转换算法计算二进制查询子矩阵Qb的过程包括:
Vi=(Vi-1+Qf)[1-Θ(Vi-1+Qf-1)]+(Vi-1+Qf-1)[ΘVi-1+Wf-1)]; 公式(6)
其中,Vi表示获取第i个二进制查询子矩阵整个过程中的累积值;Qf表示浮点型量化查询矩阵;Vi-1表示获取第i-1个二进制查询子矩阵/>整个过程中的累积值;Θ(x)表示Heaviside函数;Qb表示二进制查询矩阵;/>表示二进制查询矩阵Qb中的第i个二进制查询子矩阵;T表示时间步长。
于本实施例中,设置V'i为获取第i个二进制关键字子矩阵整个过程中的累积值,令V'0=Kf,则基于TIF转换算法计算二进制关键字矩阵Kb的过程包括:
V'i=(V'i-1+kf)[1-Θ(V'i-1+Kf-1)]+(V'i-1+Kf-1)[Θ(V'i-1+Kf-1)]; 公式(10)
其中,V'i表示获取第i个二进制关键字子矩阵整个过程中的累积值;kf表示浮点型量化关键字矩阵;V'i-1表示获取第i-1个二进制关键字子矩阵/>整个过程中的累积值;Θ(x)表示Heaviside函数;Kb表示二进制关键字矩阵;/>表示二进制关键字矩阵Kb中的第i个二进制关键字子矩阵;T表示时间步长。
于本实施例中,Heaviside函数是一种阶跃函数,代表了一个在特定位置发生突变的函数,Heaviside函数取决于一个变量,并具有两个值--1和0,当变量小于零时为0,大于等于零时为1。
于本实施例中,基于TIF转换算法输出的二进制查询矩阵Qb可以表示为浮点型量化查询矩阵Qf与时间步长T的函数,如公式(9)所示。基于TIF转换算法输出的二进制关键字矩阵kb可以表示为浮点型量化关键字矩阵Kf与时间步长T的函数,如公式(13)所示,时间步长T可根据实际使用需要自行控制。
值得说明的是,基于TIF转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,降低了计算量,减少对高精度计算单元的需求,使得Transformer模型在处理数据享有高性能表现的同时降低了计算复杂度和难度,避免了大规模的浮点数运算,提高了计算效率、降低了能耗消耗并提高了计算准确性。
S104:计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵。
于本实施例中,汉明距离是使用在数据传输差错控制编码里面的,汉明距离表示两个(相同长度)字符串对应位置的不同字符的数量。本发明使用汉明距离来衡量二进制查询矩阵Qb与二进制关键字矩阵Kb中在每个对应位置上向量的相似程度,通过逐位比较两个向量a、b,并计算它们在相同位置上的不同字符数量,不同字符数量即汉明距离,汉明距离的计算公式如下:
其中,a表示二进制查询矩阵Qb中的一个向量;b表示二进制关键字矩阵Kb中的一个向量;ai表示向量a中某一位置的字符串;bi表示向量b位于对应位置上的字符串;XOR(ai,bi)表示字符串ai与bi在对应位置的不同字符的数量。
于本实施例中,计算所述二进制查询矩阵与二进制关键字矩阵中每个相同位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵的获取方式包括:
其中,Ai表示第i个自注意力矩阵;Ai(m,n)表示第i个自注意力矩阵Ai中的第m行第n列元素;表示第i个二进制查询子矩阵/>中的第m行向量;/>表示第i个二进制关键字子矩阵/>中的第n行向量;/>表示/>之间的汉明距离;A表示自注意力分数矩阵;T表示时间步长。
于本实施例中,通过计算第i个二进制查询子矩阵与第i个二进制关键字子矩阵之间的汉明距离,以得到第i个自注意力矩阵Ai,第i个自注意力矩阵Ai中第m行第n列元素Ai(m,n)由/>中第m行向量/>和/>中第n行向量/>得到,如公式(15)所示。其中,汉明距离越大的相似度越小。
于本实施例中,结合所有时间步长T的二进制查询矩阵Qb与二进制关键字矩阵Kb的汉明距离,计算得到最终的自注意力分数矩阵A,如公式(17)所示,在分母中加入了1,以防止Ai为0的极端情况,影响计算结果。
值得说明的是,现有标准自注意力机制会通过浮点数内积运算比较浮点型查询矩阵中的每一个向量和浮点型关键字矩阵中每一个向量的相似度。本发明使用汉明距离来衡量比较二进制查询矩阵Qb和二进制关键字矩阵Kb中的每一个向量之间的相似度,利用了按位XOR运算,避免了繁琐的浮点数乘法和加法,从而提高了计算效率,降低了能耗消耗,这些修改对于能量资源和计算能力有限的边缘设备至关重要。
进一步地,本发明基于TIF转换算法的二进制转换过程涉及将输入的浮点数表示为T个二进制分数的组合,使得整个计算过程都在一个可量化的误差范围内。在低精度设备上执行注意力操作时,从而巧妙地在微小但可量化的精度水平上进行了权衡,带来了在计算过程中降低功耗需求以及同时提升计算效率的显著好处。
S105:将所述自注意力分数矩阵与所述浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
于本实施例中,所述浮点型自注意力矩阵的计算过程包括:
Yf=AVf; 公式(18)
其中,Vf表示浮点型赋值矩阵;A表示自注意力分数矩阵;Yf表示浮点型自注意力矩阵。
于本实施例中,所述浮点型自注意力矩阵是一个浮点型矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
值得说明的是,本发明的基于自注意力的数据处理方法,是一种基于位运算的新型注意力机制,适用于二进制数据,成为Transformer模型的核心操作,通过TIF转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,在保留全局特征提取能力的同时,利用了按位运算,降低了计算量,减少了对高精度计算单元的需求,使得Transformer模型在处理数据享有高性能表现的同时降低了计算复杂度和难度,避免了大规模的浮点数运算,提高了计算效率、降低了能耗消耗并提高了计算准确性,这对于能量资源和计算能力有限的边缘设备至关重要。另外,本发明基于TIF转换算法的二进制转换过程涉及将输入的浮点数表示为T个二进制分数的组合,使得整个计算过程都在一个可量化的误差范围内。在低精度设备上执行注意力操作时,从而巧妙地在微小但可量化的精度水平上进行了权衡,带来了在计算过程中降低功耗需求以及同时提升计算效率的显著好处。
如图2A所示,展示为本发明实施例中的基于位运算的新型注意力机制架构图。输入的是图像对应的浮点数矩阵,通过对所述浮点数矩阵进行线性处理,并基于TIF转换算法进行二进制转换,通过汉明距离计算得到自注意力分数矩阵,将自注意力分数矩阵与浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到输入图像的处理结果。
如图2B所示,展示为本发明实施例中与其他模型在文本分类上的性能表现对比表。Bitformer表示为本发明所涉及的方法,是一种基于位运算的新型注意力机制,将本发明所涉及的方法与原始Transformer和BiLSTM进行了性能比较分析。根据实验结果,本发明在15个任务中有8个任务中取得了比两个常用基线模型更好的性能,比如运动、彩票、政治、星座、社会、技术、股票、金融。事实上,本发明在最终平均结果上比标准Transformer取得了显著的1.2个百分点的提升。
如图2C所示,展示为本发明实施例中与其他模型在图片分类任务上的性能表现对比表。输入数据是CIFAR数据,本发明在CIFAR10 TOP 1准确率方面取得了95.88%的成绩,这在基于SNN的其他模型中是最高的。在CIFAR100中,本发明的准确率达到了80.13%。这比其他模型高出至少8个百分点,仅比VIT低了0.89%,显示了可以替代Transformer的能力。
如图2D所示,展示为本发明实施例中与其他模型在硬件结构上的性能表现对比表。与标准Transformer相比,尽管多消耗了3.4%的BRAM资源,但本发明涉及的基于位运算的新型注意力机制,显示出了显著的14.5%延迟降低,表明了更快的处理速度。此外,从DSP、FF和LUT的使用效率来看,它更加高效,消耗的DSP资源减少了70.4%,在FF和LUT的使用上分别高效了40.9%和36.4%。
值得说明的是,本发明的基于自注意力的数据处理方法是一种基于位运算的新型注意力机制,相对于现有技术,在保证模型高性能表现的同时,显著的降低了计算复杂度和难度,并规避了大量的浮点数乘法运算,提高了计算效率、降低了能耗消耗并提高了计算准确性,这对于能量资源和计算能力有限的边缘设备有着非常重要的意义。
如图3所示,展示为本发明实施例中的基于自注意力的数据处理装置的结构示意图。该装置300主要包括:数据预处理模块301、浮点型矩阵获取模块302、二进制矩阵转换模块303、自注意力分数矩阵计算模块304以及数据处理输出模块305,下文对各模块的功能进行详细的说明:
数据预处理模块301,用于获取待处理数据并计算得到对应的浮点数矩阵。
于本实施例中,所述待处理数据包括图像数据、视频数据、文本数据、自然语言数据中的一种或者多种的组合。
于本实施例中,对获取的待处理数据进行编码处理,以计算得到所述待处理数据编码后的浮点数矩阵X。
浮点型矩阵获取模块302,用于将所述浮点数矩阵输入Transformer模型,通过所述Transformer模型的Transformer块对所述浮点数矩阵进行线性投影处理,以得到所述浮点数矩阵所对应的浮点型查询矩阵、浮点型关键字矩阵、浮点型赋值矩阵。
于本实施例中,将所述浮点数矩阵输入Transformer模型,经过线性投影得到自注意力计算中需要的浮点型查询矩阵Q'f,浮点型关键字矩阵K'f和浮点型赋值矩阵Vf,下标f表示矩阵为浮点数矩阵,其中浮点型查询矩阵Q'f,浮点型关键字矩阵K'f和浮点型赋值矩阵Vf的计算公式如前文的公式(1)、公式(2)、公式(3)所示,此处不再进行赘述。
二进制矩阵转换模块303,用于基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵。
于本实施例中,所述二进制矩阵转换模块303还用于执行如下步骤:
(1)对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵。
于本实施例中,对所述浮点型查询矩阵Q'f、浮点型关键字矩阵K'f进行线性量化处理,以确保所有值都为正且值在[0,1]范围内,从而保证计算中的数据区分度,进而保证Transformer模型的精度损失在可接受范围内,使得Transformer模型在对待处理数据进行处理时,可以在保证处理结果的精度的同时,还能提升Transformer模型的推理速度。
于本实施例中,所述浮点型量化查询矩阵Qf、浮点型量化关键字矩阵Kf的计算过程如前文的公式(4)、公式(5)所示,此处不再进行赘述。
(2)基于二进制转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,计算得到若干个二进制查询子矩阵、二进制关键字子矩阵。
于本实施例中,所述二进制转换算法包括TIF转换算法,基于TIF转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,能够计算得到T个二进制查询子矩阵、二进制关键字子矩阵。
(3)根据所述若干个二进制查询子矩阵、二进制关键字子矩阵,计算得到对应的二进制查询矩阵、二进制关键字矩阵。
于本实施例中,基于TIF转换算法进行二进制转换以得到二进制查询矩阵、二进制关键字矩阵的计算过程如前文的公式(6)~公式(13)所示,此处不再进行赘述。
自注意力分数矩阵计算模块304,用于计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵。
于本实施例中,基于汉明距离得到自注意力分数矩阵的计算过程如前文的公式(14)~公式(17)所示,此处不再进行赘述。
数据处理输出模块305,用于将所述自注意力分数矩阵与所述浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
于本实施例中,所述浮点型自注意力矩阵的计算过程如前文的公式(18)所示,此处不再进行赘述。
于本申请的一实施例中,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于自注意力的数据处理方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
如图4所示,展示为本申请于一实施例中电子终端的结构示意图,本实例提供的电子终端400,包括:处理器401及存储器402;存储器402通过***总线与处理器401连接并完成相互间的通信,存储器402用于存储计算机程序,处理器401用于执行存储器402存储的计算机程序,以使电子终端400执行如上所述的基于自注意力的数据处理方法。
本发明实施例提供的基于自注意力的数据处理方法可以采用终端侧或服务器侧实施,就电子终端的硬件结构而言,请参阅图4,为本发明实施例提供的电子终端400的一个可选的硬件结构示意图,该终端400可以是移动电话、计算机设备、平板设备、个人数字处理设备、工厂后台处理设备等。电子终端400包括:至少一个处理器401、存储器402、至少一个网络接口404和用户接口406。装置中的各个组件通过总线***405耦合在一起。可以理解的是,总线***405用于实现这些组件之间的连接通信。总线***405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线***。
其中,用户接口406可以包括显示器、键盘、鼠标、轨迹球、点击枪、按键、按钮、触感板或者触摸屏等。
可以理解,存储器402可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,StaticRandom Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous StaticRandomAccess Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
本发明实施例中的存储器402用于存储各种类别的数据以支持电子终端400的操作。这些数据的示例包括:用于在电子终端400上操作的任何可执行程序,如操作***4021和应用程序4022;操作***4021包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序4022可以包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例提供的基于自注意力的数据处理方法可以包含在应用程序4022中。
上述本发明实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器401可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器401可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的配件优化方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子终端400可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice),用于执行前述方法。
综上所述,本申请提供一种基于自注意力的数据处理方法、装置、介质及终端,通过TIF转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,并使用汉明距离来衡量比较二进制查询矩阵和二进制关键字矩阵中的每一个向量之间的相似度,是一种基于位运算的新型注意力机制,在保留全局特征提取能力的同时,利用了按位运算,降低了计算量,减少了对高精度计算单元的需求,使得Transformer模型在处理数据享有高性能表现的同时降低了计算复杂度和难度,避免了大规模的浮点数运算,提高了计算效率、降低了能耗消耗并提高了计算准确性,这对于能量资源和计算能力有限的边缘设备至关重要。另外,本申请基于TIF转换算法的二进制转换过程涉及将输入的浮点数表示为T个二进制分数的组合,使得整个计算过程都在一个可量化的误差范围内。在低精度设备上执行注意力操作时,从而巧妙地在微小但可量化的精度水平上进行了权衡,带来了在计算过程中降低功耗需求以及同时提升计算效率的显著好处。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种基于自注意力的数据处理方法,其特征在于,包括:
获取待处理数据并计算得到对应的浮点数矩阵;
将所述浮点数矩阵输入Transformer模型,通过所述Transformer模型的Transformer块对所述浮点数矩阵进行线性投影处理,以得到所述浮点数矩阵所对应的浮点型查询矩阵、浮点型关键字矩阵、浮点型赋值矩阵;
基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵;
计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵;
将所述自注意力分数矩阵与所述浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
2.根据权利要求1所述的基于自注意力的数据处理方法,其特征在于,所述基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵,其二进制转换过程包括:
对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵;
基于二进制转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,计算得到若干个二进制查询子矩阵、二进制关键字子矩阵;
根据所述若干个二进制查询子矩阵、二进制关键字子矩阵,计算得到对应的二进制查询矩阵、二进制关键字矩阵。
3.根据权利要求2所述的基于自注意力的数据处理方法,其特征在于,对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵的获取方式包括:
其中,Qf表示浮点型量化查询矩阵;Kf表示浮点型量化关键字矩阵;Q'f表示浮点型查询矩阵;K'f表示浮点型关键字矩阵;min(Q'f)表示浮点型查询矩阵Q'f数值的最小值;max(Q'f)表示浮点型查询矩阵Q'f数值的最大值;min(K'f)表示浮点型关键字矩阵K'f数值的最小值;max(K'f)表示浮点型关键字矩阵K'f数值的最大值。
4.根据权利要求2所述的基于自注意力的数据处理方法,其特征在于,所述二进制转换算法包括TIF转换算法;所述TIF转换算法的计算过程包括:
Vi=(Vi-1+Qf)[1-Θ(Vi-1+Qf-1)]+(Vi-1+Qf-1)[Θ(Vi-1+Qf-1)];
其中,Vi表示获取第i个二进制查询子矩阵整个过程中的累积值;Qf表示浮点型量化查询矩阵;Vi-1表示获取第i-1个二进制查询子矩阵/>整个过程中的累积值;Θ(x)表示Heaviside函数;Qb表示二进制查询矩阵;/>表示二进制查询矩阵Qb中的第i个二进制查询子矩阵;T表示时间步长。
5.根据权利要求4所述的基于自注意力的数据处理方法,其特征在于,所述二进制转换算法包括TIF转换算法;所述TIF转换算法的计算过程包括:
(V′i=(V′i-1+Kf)[1-Θ(V′i-1+Kf-1)]+(V′i-1+Kf-1)[Θ(V′i-1+Kf-1)];
其中,V'i表示获取第i个二进制关键字子矩阵整个过程中的累积值;Kf表示浮点型量化关键字矩阵;V'i-1表示获取第i-1个二进制关键字子矩阵/>整个过程中的累积值;Θ(x)表示Heaviside函数;Kb表示二进制关键字矩阵;/>表示二进制关键字矩阵Kb中的第i个二进制关键字子矩阵;T表示时间步长。
6.根据权利要求5所述的基于自注意力的数据处理方法,其特征在于,计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵的获取方式包括:
其中,Ai表示第i个自注意力矩阵;Ai(m,n)表示第i个自注意力矩阵Ai中的第m行第n列元素;表示第i个二进制查询子矩阵/>中的第m行向量;/>表示第i个二进制关键字子矩阵/>中的第n行向量;/>表示/>之间的汉明距离;A表示自注意力分数矩阵;T表示时间步长。
7.一种基于自注意力的数据处理装置,其特征在于,包括:
数据预处理模块,用于获取待处理数据并计算得到对应的浮点数矩阵;
浮点型矩阵获取模块,用于将所述浮点数矩阵输入Transformer模型,通过所述Transformer模型的Transformer块对所述浮点数矩阵进行线性投影处理,以得到所述浮点数矩阵所对应的浮点型查询矩阵、浮点型关键字矩阵、浮点型赋值矩阵;
二进制矩阵转换模块,用于基于二进制转换算法对所述浮点型查询矩阵、浮点型关键字矩阵进行二进制转换,以得到对应的二进制查询矩阵、二进制关键字矩阵;
自注意力分数矩阵计算模块,用于计算所述二进制查询矩阵与二进制关键字矩阵中每个对应位置上的子矩阵之间的汉明距离,以得到自注意力分数矩阵;
数据处理输出模块,用于将所述自注意力分数矩阵与所述浮点型赋值矩阵相乘,得到浮点型自注意力矩阵,以供所述Transformer模型通过对所述浮点型自注意力矩阵进行计算来得到所述待处理数据的处理结果。
8.根据权利要求7所述的基于自注意力的数据处理装置,其特征在于,所述二进制矩阵转换模块还用于执行如下步骤:
对所述浮点型查询矩阵、浮点型关键字矩阵进行线性量化处理,以得到对应的浮点型量化查询矩阵、浮点型量化关键字矩阵;
基于二进制转换算法分别对所述浮点型量化查询矩阵、浮点型量化关键字矩阵进行二进制转换,计算得到若干个二进制查询子矩阵、二进制关键字子矩阵;
根据所述若干个二进制查询子矩阵、二进制关键字子矩阵,计算得到对应的二进制查询矩阵、二进制关键字矩阵。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于自注意力的数据处理方法。
10.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至6中任一项所述的基于自注意力的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311762425.1A CN117688287A (zh) | 2023-12-19 | 2023-12-19 | 基于自注意力的数据处理方法、装置、介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311762425.1A CN117688287A (zh) | 2023-12-19 | 2023-12-19 | 基于自注意力的数据处理方法、装置、介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117688287A true CN117688287A (zh) | 2024-03-12 |
Family
ID=90128222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311762425.1A Pending CN117688287A (zh) | 2023-12-19 | 2023-12-19 | 基于自注意力的数据处理方法、装置、介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117688287A (zh) |
-
2023
- 2023-12-19 CN CN202311762425.1A patent/CN117688287A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543824B (zh) | 一种序列模型的处理方法和装置 | |
CN112487182A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN106776673B (zh) | 多媒体文档概括 | |
CN111755078A (zh) | 药物分子属性确定方法、装置及存储介质 | |
CN108629414B (zh) | 深度哈希学习方法及装置 | |
CN110286778B (zh) | 一种中文深度学习输入法、装置及电子设备 | |
WO2020244475A1 (zh) | 用于语言序列标注的方法、装置、存储介质及计算设备 | |
WO2022156561A1 (zh) | 一种自然语言处理方法以及装置 | |
Imani et al. | Fach: Fpga-based acceleration of hyperdimensional computing by reducing computational complexity | |
Wang et al. | TRC‐YOLO: A real‐time detection method for lightweight targets based on mobile devices | |
CN112270200B (zh) | 一种文本信息的翻译方法、装置、电子设备和存储介质 | |
CN114925320B (zh) | 一种数据处理方法及相关装置 | |
JP2022169743A (ja) | 情報抽出方法、装置、電子機器及び記憶媒体 | |
EP4222646A1 (en) | Dynamic cache management in beam search | |
CN114840734A (zh) | 多模态表示模型的训练方法、跨模态检索方法及装置 | |
CN114065771A (zh) | 一种预训练语言处理方法及设备 | |
Xia et al. | Combination of multi‐scale and residual learning in deep CNN for image denoising | |
CN113591490B (zh) | 信息处理方法、装置和电子设备 | |
Huai et al. | Latency-constrained DNN architecture learning for edge systems using zerorized batch normalization | |
US20210279594A1 (en) | Method and apparatus for video coding | |
CN113360683A (zh) | 训练跨模态检索模型的方法以及跨模态检索方法和装置 | |
CN117453949A (zh) | 一种视频定位方法以及装置 | |
US20230135109A1 (en) | Method for processing signal, electronic device, and storage medium | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN116503596A (zh) | 图片分割方法、装置、介质和电子设备 |
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 |