用于能量高效深度学习的动态量化的制作方法

文档序号:34373632发布日期:2023-06-05 06:43阅读:34来源:国知局
用于能量高效深度学习的动态量化的制作方法

领域本公开的各方面一般涉及用于能量高效深度学习神经网络的动态量化。背景卷积神经网络(诸如深度卷积神经网络(dcnn))可以使用大量的计算和存储资源。如此,可能难以将传统的神经网络部署在具有有限资源的系统上,诸如云系统、嵌入式系统或联合学习系统。一些传统的神经网络被修剪和/或量化以减少处理器负载和/或存储器使用。期望改进量化方法以减少计算和存储资源。


背景技术:


技术实现思路

0、概述

1、在本公开的一个方面,公开了一种由深度神经网络(dnn)执行的方法。该方法包括在推断阶段期间在该dnn的层处接收包括与在该dnn处接收的dnn输入相关联的内容的层输入。该方法还包括基于该层输入的内容来量化与该层相关联的多个参数中的一个或多个参数。该方法进一步包括执行与该dnn输入相对应的任务,该任务是利用该一个或多个经量化参数来执行的。

2、本公开的另一方面涉及一种设备,该设备包括用于在推断阶段期间在dnn的层处接收包括与在该dnn处接收的dnn输入相关联的内容的层输入的装置。该设备还包括用于基于该层输入的内容来量化与该层相关联的多个参数中的一个或多个参数的装置。该设备进一步包括用于执行与该dnn输入相对应的任务的装置,该任务是利用该一个或多个经量化参数来执行的。

3、在本公开的另一方面,公开了一种其上记录有非瞬态程序代码的非瞬态计算机可读介质。该程序代码用于dnn。该程序代码由处理器执行,并且包括用于在推断阶段期间在该dnn的层处接收包括与在该dnn处接收的dnn输入相关联的内容的层输入的程序代码。该程序代码还包括用于基于该层输入的内容来量化与该层相关联的多个参数中的一个或多个参数的程序代码。该程序代码进一步包括用于执行与该dnn输入相对应的任务的程序代码,该任务是利用该一个或多个经量化参数来执行的。

4、本公开的另一方面涉及一种装置。该装置具有存储器、耦合到该存储器的一个或多个处理器以及存储在该存储器中的指令。这些指令在由该处理器执行时可操作用于使该装置在推断阶段期间在dnn的层处接收包括与在该dnn处接收的dnn输入相关联的内容的层输入。这些指令还使得该装置基于该层输入的内容来量化与该层相关联的多个参数中的一个或多个参数。附加地,这些指令使得该装置执行与该dnn输入相对应的任务,该任务是利用该一个或多个经量化参数来执行的。

5、各方面一般包括如基本上在本文参照附图和说明书描述并且如附图和说明书所解说的方法、装置(设备)、系统、计算机程序产品、非瞬态计算机可读介质、用户装备、基站、无线通信设备和处理系统。

6、前述内容已较宽泛地勾勒出根据本公开的示例的特征和技术优势以力图使下面的详细描述可被更好地理解。附加的特征和优势将在此后描述。所公开的概念和具体示例可容易地被用作修改或设计用于实施与本公开相同目的的其他结构的基础。此类等效构造并不背离所附权利要求书的范围。所公开的概念的特性在其组织和操作方法两方面以及相关联的优势将因结合附图来考虑以下描述而被更好地理解。每一附图是出于解说和描述目的来提供的,而非定义对权利要求的限定。



技术特征:

1.一种由深度神经网络(dnn)执行的方法,包括:

2.如权利要求1所述的方法,其中所述多个参数包括权重集合和激活集合。

3.如权利要求2所述的方法,其中量化所述一个或多个参数包括量化与所述层相关联的一个或多个输出通道的相应权重集合或相应激活集合中的一者或两者。

4.如权利要求1所述的方法,其中所述多个参数中的第一参数的第一量化量不同于所述多个参数中的第二参数的第二量化量。

5.如权利要求1所述的方法,其中量化所述一个或多个参数包括通过调整与所述一个或多个参数相关联的原始位宽的大小来生成经调整的位宽。

6.如权利要求5所述的方法,其中生成所述经调整的位宽包括从最低有效位到最高有效位丢弃所述原始位宽的位直到所述原始位宽的大小等于基于所述层输入的所述内容确定的所述经调整的位宽的大小。

7.如权利要求6所述的方法,进一步包括:训练所述dnn以基于总损失来确定用于调整所述原始位宽的大小,所述总损失是性能损失和正则化损失的函数。

8.如权利要求7所述的方法,其中所述性能损失确定交叉熵损失或均方误差。

9.如权利要求8所述的方法,其中所述正则化损失是惩罚以下之一的逐位l0正则化损失:

10.如权利要求9所述的方法,其中所述复杂性度量包括所述dnn的二进制运算数目、所述dnn的存储器占用或所述dnn的计算能力中的一者或多者。

11.如权利要求9所述的方法,进一步包括:

12.如权利要求1所述的方法,其中所述层是所述dnn的多个层中的一个层,并且

13.如权利要求12所述的方法,其中对于所述多个层中的每一层,量化量是不同的。

14.一种用于实现深度神经网络(dnn)的装置,包括:

15.如权利要求14所述的装置,其中所述多个参数包括权重集合和激活集合。

16.如权利要求15所述的装置,其中所述指令进一步使所述装置通过量化与所述层相关联的一个或多个输出通道的相应权重集合或相应激活集合中的一者或两者来量化所述一个或多个参数。

17.如权利要求14所述的装置,其中所述多个参数中的第一参数的第一量化量不同于所述多个参数中的第二参数的第二量化量。

18.如权利要求14所述的装置,其中所述指令进一步使所述装置通过以下操作来量化所述一个或多个参数:通过调整与所述一个或多个参数相关联的原始位宽的大小来生成经调整的位宽。

19.如权利要求18所述的装置,其中所述指令进一步使所述装置通过以下操作来生成所述经调整的位宽:从最低有效位到最高有效位丢弃所述原始位宽的位直到所述原始位宽的大小等于基于所述层输入的所述内容确定的所述经调整的位宽的大小。

20.如权利要求19所述的装置,其中所述指令进一步使所述装置在训练阶段期间基于总损失来确定用于调整所述原始位宽的大小,所述总损失是性能损失和正则化损失的函数。

21.如权利要求20所述的装置,其中所述正则化损失是惩罚以下之一的逐位l0正则化损失:

22.如权利要求21所述的装置,其中所述复杂性度量包括所述dnn的二进制运算数目、所述dnn的存储器占用或所述dnn的计算能力中的一者或多者。

23.如权利要求21所述的dnn,其中所述指令进一步使所述dnn:

24.如权利要求14所述的dnn,其中所述层是所述dnn的多个层中的一个层,并且

25.如权利要求24所述的dnn,其中对于所述多个层中的每一层,量化量是不同的。

26.一种其上记录有用于深度神经网络(dnn)的程序代码的非瞬态计算机可读介质,所述程序代码由处理器执行并且包括:

27.如权利要求26所述的非瞬态计算机可读介质,其中所述多个参数包括权重集合和激活集合。

28.如权利要求27所述的非瞬态计算机可读介质,其中用于量化所述一个或多个参数的程序代码包括用于量化与所述层相关联的一个或多个输出通道的相应权重集合或相应激活集合中的一者或两者的程序代码。

29.一种实现深度神经网络(dnn)的设备,包括:

30.如权利要求29所述的设备,其中用于量化所述一个或多个参数的装置包括用于量化与所述层相关联的一个或多个输出通道的相应权重集合或相应激活集合中的一者或两者的装置。


技术总结
一种由深度神经网络(DNN)执行的方法,包括在推断阶段期间在该DNN的层处接收包括与在该DNN处接收的DNN输入相关联的内容的层输入。该方法还包括基于该层输入的内容来量化与该层相关联的多个参数中的一个或多个参数。该方法进一步包括执行与该DNN输入相对应的任务,该任务是利用该一个或多个经量化参数来执行的。

技术研发人员:R·阿迪威博沃,V·R·K·达亚纳,H·黄
受保护的技术使用者:高通股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1