深度学习加速芯片的数据压缩方法、数据压缩系统及运算方法技术方案

技术编号:34003018 阅读:23 留言:0更新日期:2022-07-02 12:38
一种深度学习加速芯片的数据压缩方法、数据压缩系统及运算方法。数据压缩方法包括以下步骤。获得深度学习模型的滤波系数张量矩阵。依据该滤波系数张量矩阵进行矩阵分解程序,以获得至少一稀疏张量矩阵及至少一转换矩阵。转换矩阵与滤波系数张量矩阵的乘积为稀疏张量矩阵。转换矩阵为正交正规矩阵。对稀疏张量矩阵进行压缩。储存稀疏张量矩阵及转换矩阵、或储存稀疏张量矩阵及还原矩阵在存储器。深度学习加速芯片利用稀疏张量矩阵进行运算,以获得卷积运算结果。深度学习加速芯片并利用还原矩阵对卷积运算结果进行还原。阵对卷积运算结果进行还原。阵对卷积运算结果进行还原。

【技术实现步骤摘要】
深度学习加速芯片的数据压缩方法、数据压缩系统及运算方法


[0001]本专利技术涉及一种深度学习加速芯片的数据压缩方法、数据压缩系统及运算方法。

技术介绍

[0002]随着深度学习技术的发展,发展出一种深度学习加速芯片。通过深度学习加速芯片可以直接以硬件计算复杂的卷积运算,以加快运算速度。
[0003]深度学习加速芯片搭配大容量存储器通过系统汇流排交换暂存数据。在理想状况下,数据搬移与运算同时并行,然而实际状况因共用汇流排或是物理限制,大部分时间被数据搬移占据造成效能不如预期,而且外部存储器存取形成主要的功率损耗。Amdahl定律也说明使用平行度提升效能仍有其上限,从近期论文比较也发现此效能比上界落在10TOPs/W。如何突破此斜率限制,已成为深度学习加速芯片的一大技术瓶颈。

技术实现思路

[0004]本专利技术涉及一种深度学习加速芯片的数据压缩方法、数据压缩系统及运算方法。
[0005]根据本专利技术的一实施例,提出一种深度学习加速芯片的数据压缩方法。深度学习加速芯片的数据压缩方法包括以下步骤。获得深度学习模型的滤波系数张量矩阵。依据该滤波系数张量矩阵进行矩阵分解程序,以获得至少一稀疏张量矩阵及至少一转换矩阵。转换矩阵与滤波系数张量矩阵的乘积为稀疏张量矩阵。转换矩阵为正交正规矩阵(orthonormal matrix)。对稀疏张量矩阵进行压缩。储存稀疏张量矩阵及转换矩阵、或储存稀疏张量矩阵及还原矩阵在存储器。深度学习加速芯片利用稀疏张量矩阵进行运算,以获得卷积运算结果。深度学习加速芯片并利用还原矩阵对卷积运算结果进行还原。
[0006]根据本专利技术的另一实施例,提出一种深度学习加速芯片的数据压缩系统。数据压缩系统用以降低深度学习模型的数据搬移量。数据压缩系统包括分解单元、压缩单元及转存单元。分解单元用于依据滤波系数张量矩阵进行矩阵分解程序,以获得至少一稀疏张量矩阵及至少一转换矩阵。转换矩阵与滤波系数张量矩阵的乘积为稀疏张量矩阵。转换矩阵为正交正规矩阵(orthonormal matrix)。压缩单元用于对稀疏张量矩阵进行压缩。转存单元用于将稀疏张量矩阵及转换矩阵储存在存储器,或将稀疏张量矩阵及还原矩阵储存于存储器。深度学习加速芯片利用稀疏张量矩阵进行运算,以获得卷积运算结果。深度学习加速芯片并利用还原矩阵对卷积运算结果进行还原。
附图说明
[0007]图1为根据一实施例的深度学习加速芯片的示意图;
[0008]图2示例说明深度学习加速芯片的运算过程;
[0009]图3为存储器所需要储存的数据的变化;
[0010]图4为根据一实施例的深度学习加速芯片的数据压缩系统的方块图;
[0011]图5为根据一实施例的深度学习加速芯片的数据压缩方法的流程图;
[0012]图6为根据一实施例的深度学习加速芯片的运算方法的流程图;
[0013]图7为根据一实施例的滤波系数张量矩阵的矩阵分解程序;
[0014]图8A~图8E为根据一实施例的卷积层(Convolution Layer)的整体数据量的比较结果;
[0015]图8F~图8H为根据一实施例的全连接层(fully connect layer)的整体数据量的比较结果;
[0016]图9为卷积层与全连接层的数据降低比率曲线。
[0017]【附图标记说明】
[0018]100:深度学习加速芯片
[0019]110:暂存器
[0020]120:运算单元
[0021]200:存储器
[0022]300:数据压缩系统
[0023]310:分解单元
[0024]320:压缩单元
[0025]330:转存单元
[0026]A,A1,A2:转换矩阵
[0027]A
T
:还原矩阵
[0028]Conv1,Conv2,Conv3,Conv4,Conv5:卷积层
[0029]D0:原数据量
[0030]FC6,FC7,FC8:全连接层
[0031]H,H1,H2:滤波系数张量矩阵
[0032]M:分割数量
[0033]S110,S120,S130,S140,S210,S220,S230:步骤
[0034]W,W1,W2:稀疏张量矩阵
[0035]X:辨识数据
[0036]Y,Y

:卷积运算结果
具体实施方式
[0037]请参照图1,其为根据一实施例的深度学习加速芯片100的示意图。在深度学习加速芯片100的运作过程中,需要搭配外部的存储器200(例如是DRAM)来储存深度学习模型的已训练的滤波系数张量矩阵H。滤波系数张量矩阵H传递至暂存器110后,通过运算单元120进行运算。
[0038]研究人员发现在深度学习加速芯片100的运算过程中,最耗费时间与功耗的是从存储器200搬运滤波系数张量矩阵H的过程。因此,研究人员致力于降低存储器200与深度学习加速芯片100之间的数据搬移量,以期加快深度学习加速芯片100的处理速度并降低功耗。
[0039]请参照图2,其示例说明深度学习加速芯片100的运算过程。在深度学习加速芯片
100的运算过程中,会取得滤波系数张量矩阵H及辨识数据X。如图2及下式(1)所示,滤波系数张量矩阵H与辨识数据X进行运算后可以获得一卷积运算结果Y。
[0040]H
×
X=Y.........................................(1)
[0041]滤波系数张量矩阵H为非稀疏矩阵而无法进行压缩,或者能够压缩的程度相当少。在本实施例中,透过矩阵分解程序,可以取得一稀疏张量矩阵W。如下式(2)所示,稀疏张量矩阵W为一转换矩阵A与滤波系数张量矩阵H的乘积。转换矩阵为一正交正规矩阵(orthonormal matrix)。稀疏张量矩阵W为稀疏矩阵,而能够大幅压缩。
[0042]W=A
×
H........................................(2)
[0043]存储器200可以改储存可压缩的稀疏张量矩阵W及转换矩阵A。如图2及下式(3)所示,深度学习加速芯片100可以先利用稀疏张量矩阵W运算出一卷积运算结果Y


[0044]W
×
X=Y

......................................(3)
[0045]然后,如图2及下式(4)所示,深度学习加速芯片100可以利用一还原矩阵A
T
对卷积运算结果Y

还原出卷积运算结果Y。还原矩阵A
T
为转换矩阵A的一转置矩阵。
[0046]A
T
×
Y

[0047]=A
T
×
(W
×
...

【技术保护点】

【技术特征摘要】
1.一种深度学习加速芯片的数据压缩方法,其特征在于,该深度学习加速芯片的数据压缩方法包括:获得深度学习模型的滤波系数张量矩阵;依据该滤波系数张量矩阵进行矩阵分解程序,以获得至少一稀疏张量矩阵及至少一转换矩阵,该转换矩阵与该滤波系数张量矩阵的乘积为该稀疏张量矩阵,该转换矩阵为正交正规矩阵;对该稀疏张量矩阵进行压缩;以及储存该稀疏张量矩阵及该转换矩阵、或储存该稀疏张量矩阵及还原矩阵在存储器,该深度学习加速芯片利用该稀疏张量矩阵进行运算,以获得卷积运算结果,该深度学习加速芯片并利用该还原矩阵对该卷积运算结果进行还原。2.根据权利要求1所述的深度学习加速芯片的数据压缩方法,其中该还原矩阵为该转换矩阵的转置矩阵。3.根据权利要求1所述的深度学习加速芯片的数据压缩方法,其中该卷积运算结果为无损还原。4.根据权利要求1所述的深度学习加速芯片的数据压缩方法,其中在依据该滤波系数张量矩阵进行该矩阵分解程序的步骤中,该滤波系数张量矩阵分割为M个部分,该至少一稀疏张量矩阵的数量为M个,该至少一转换矩阵的数量为M个,M为自然数。5.根据权利要求4所述的深度学习加速芯片的数据压缩方法,其中M为2^N,N为自然数。6.根据权利要求4所述的深度学习加速芯片的数据压缩方法,其中该滤波系数张量矩阵平均分割。7.根据权利要求4所述的深度学习加速芯片的数据压缩方法,其中该些稀疏张量矩阵的尺寸相同。8.根据权利要求4所述的深度学习加速芯片的数据压缩方法,其中该些转换矩阵的尺寸相同。9.一种深度学习加速芯片的数据压缩系统,其特征在于,该数据压缩系统用于降低深度学习模型的数据搬移量,该数据压缩系统包括:分解单元,用于依据滤波系数张量矩阵进行矩阵分解程序,以获得至少一稀疏张量矩阵及至少一转换矩阵,该转换矩阵与该滤波系数张量矩阵的乘积为该稀疏张量矩阵,该转换矩阵为正交正规矩阵;压缩单元,用于对该稀疏张量矩阵进行压缩;以及转存单元,用于将该稀疏张量矩阵及该转换矩阵储存在存储器,或将该稀疏张量矩阵及还原矩阵储存于该存储器,该深度学习加...

【专利技术属性】
技术研发人员:杨凯钧李国君孙际恬
申请(专利权)人:财团法人工业技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1