在本公开的一个方面,一种方法包括:确定弹性瓶颈块的卷积层的循环数目;对于该数目个循环中的每个循环:加载因循环而异的卷积权重集;使用该因循环而异的卷积权重集来执行卷积运算;以及将因循环而异的卷积结果存储在本地存储器中;以及基于对与该数目个循环中的每个循环相关联的因循环而异的卷积结果的求和来确定该卷积层的输出。确定该卷积层的输出。确定该卷积层的输出。
【技术实现步骤摘要】
【国外来华专利技术】用于可变卷积运算的弹性瓶颈架构
[0001]相关申请的交叉引用
[0002]本申请要求于2021年7月19日提交的美国专利申请No.17/379,833、以及于2020年7月20日提交的美国临时专利申请No.63/054,147的利益和优先权,这两件申请的全部内容通过援引纳入于此。
[0003]引言
[0004]本公开的各方面涉及机器学习。
[0005]机器学习可以产生经训练模型(例如,人工神经网络、树或其他结构),其表示对先验已知的训练数据集合的广义拟合。将经训练模型应用于新数据产生推断,这可被用于获得关于新数据的洞察。在一些情形中,将模型应用于新数据被描述为对新数据“运行推断”。
[0006]机器学习模型被越来越多地用于各种领域,包括用于分类、检测和识别任务。例如,机器学习模型正被用于基于由电子设备上的一个或多个机载传感器所提供的传感器数据在这些设备上执行复杂任务,诸如对图像内的特征(例如,面部)进行自动分类。
[0007]机器学习能力通常通过用于执行机器学习任务(包括训练和推断)的专用硬件得到增强。例如,可以优化专用推断处理器以基于模型输入数据来执行快速推断。但是,与进入处理设备(尤其是大小和功率受限的设备,诸如移动设备、常开设备、边缘处理设备等)的所有硬件一样,存在为了满足整体产品规格而必需的设计约束和妥协。
[0008]例如,专用推断处理器(特别是集成电路(IC)或专用集成电路(ASIC)芯片的形式)可能受到物理资源容量的约束,诸如缓冲器/存储器大小、数据路径大小、向量和/或矩阵乘法单元的能力等等。因此,专用推断处理器可以实现的模型大小同样受限。作为一个示例,基于处理硬件的物理约束,深度学习模型在卷积层中所支持的通道数目方面可能受限。
[0009]该问题因机器学习模型随着这些模型变得越来越有能力而变得越来越大的趋势被复杂化。由此,已投入使用的处理硬件可能快速变得无法实现最新近的模型,从而极大地降低了现有处理硬件的效用。
[0010]当专用机器学习硬件(例如,推断处理器)对于特定模型、或模型的特定上下文或用例而言过大时,出现类似的问题,并且由此当较小的模型由过大硬件处理时处理循环、功率等等可能会浪费。一般而言,模型大小和硬件配置的固定性质导致机器学习模型架构与机器学习处理硬件之间的频繁低效配对。
[0011]相应地,需要用于提高现有处理硬件处置动态范围的机器学习模型大小的能力而不会改变硬件的物理能力的系统和方法。
[0012]简要概述
[0013]某些方面提供了一种方法,包括:确定弹性瓶颈块的卷积层的循环数目;对于该数目个循环中的每个循环:加载因循环而异的卷积权重集;使用该因循环而异的卷积权重集来执行卷积运算;以及将因循环而异的卷积结果存储在本地存储器中;以及基于对与该数目个循环中的每个循环相关联的因循环而异的卷积结果的求和来确定该卷积层的输出。
[0014]进一步方面提供了一种方法,包括:训练供弹性瓶颈块在基本模式中操作的第一权重集,其中:在该基本模式中,该弹性瓶颈块的每个卷积层被配置成循环一次;训练供该
弹性瓶颈块在扩展模式中操作的第二权重集,其中:在该扩展模式中,该弹性瓶颈块的一个或多个卷积层被配置成循环不止一次;以及将该第一权重集和该第二权重集存储在该弹性瓶颈块可访问的存储器中。
[0015]其他方面提供了:处理系统,其被配置成执行前述方法以及本文中所描述的那些方法;非瞬态计算机可读介质,其包括在由处理系统的一个或多个处理器执行时使该处理系统执行前述方法以及本文中所描述的那些方法的指令;计算机程序产品,其被实施在计算机可读存储介质上,该计算机可读存储介质包括用于执行前述方法以及本文中进一步描述的那些方法的代码;以及处理系统,其包括用于执行前述方法以及本文中进一步描述的那些方法的装置。
[0016]以下描述和相关附图详细阐述了一个或多个方面的某些解说性特征。
[0017]附图简述
[0018]附图描绘了该一个或多个方面中的某些方面,并且因此不被认为限制本公开的范围。
[0019]图1描绘了弹性瓶颈块的示例。
[0020]图2A描绘了使用三层瓶颈块的基本和扩展卷积模式的示例。
[0021]图2B描绘了扩展逐点卷积处理的示例。
[0022]图3描绘了基本卷积模式处理流和扩展卷积模式处理流的比较。
[0023]图4描绘了用于使用弹性瓶颈块进行推断的示例方法。
[0024]图5描绘了用于训练弹性瓶颈块的示例方法。
[0025]图6描绘了用于执行本文所描述的各个方面的示例处理系统。
[0026]为了促成理解,在可能之处使用了相同的附图标记来指定各附图共有的相同要素。构想一个方面的要素和特征可有益地被纳入到其他方面中而无需进一步引述。
[0027]详细描述
[0028]本公开的各方面提供了一种可缩放机器学习模型架构,其实现可变机器学习模型表达性(expressiveness)而不会改变可用于被分配成处理机器学习模型的处理硬件的底层物理资源(例如,存储器大小、卷积通道数目、位宽等等)。具体而言,本文所描述的可缩放机器学习模型架构实现了弹性瓶颈块,其可被配置成基于上下文、用例和条件来扩展或收缩模型以使得与固定大小的机器学习模型架构相比硬件使用被优化并且硬件设计受到较少约束。有益地,弹性瓶颈块可以动态地(例如,在运行时)以及静态地(例如,在模型设计期间)来配置。
[0029]瓶颈块是在许多机器学习模型架构中用于提高效率的卷积结构。常规瓶颈块可被用于使用高效逐点卷积(例如,具有1
×
1大小的核的卷积)来减少卷积运算期间的通道数目(由此用作信息“瓶颈”)。例如,瓶颈块中的初始逐点卷积层可减少用于后续深度卷积层(例如,使用3
×
3卷积核)的通道数目。在瓶颈块中减少用于中间层的通道数目减少了中间层所需要的参数数目,从而一般在性能损失最小的情况下减少计算成本(用于处理参数)和存储器使用(用于存储参数)。一般而言,瓶颈块的最终逐点卷积可被用于设置块输出中的输出通道数目,这取决于配置可与瓶颈块的输入相同或不同。常规地,瓶颈块具有固定数目的参数并且由此具有固定表达性。此类常规瓶颈块可被称为“非弹性瓶颈块”。
[0030]本文所描述的各方面涉及“弹性”瓶颈块架构,其实现对机器学习模型的瓶颈块中
的计算的动态缩放以实现机器学习模型的动态表达性。有益地,弹性瓶颈块可以替代流行的卷积神经网络(CNN)架构(诸如MobileNetV2、MobileNetV3、EfficientNet等)的现有瓶颈块,而无需进一步修改这些网络架构,从而增强这些网络的能力。此外,可在其他和新的模型架构中实现弹性瓶颈块以相比于常规办法提高性能。
[0031]如下文更详细描述的,弹性瓶颈块架构的灵活性质可通过选择性地扩展或收缩弹性瓶颈块内的处理来达成。此外,弹性瓶颈块可被配置成约束输入和输出大小(例如,通道数目)以替代现有模型架构中的现有瓶颈块本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:确定弹性瓶颈块的卷积层的循环数目;对于所述数目个循环中的每个循环:加载因循环而异的卷积权重集;使用所述因循环而异的卷积权重集来执行卷积运算;以及将因循环而异的卷积结果存储在本地存储器中;以及基于对与所述数目个循环中的每个循环相关联的因循环而异的卷积结果的求和来确定所述卷积层的输出。2.如权利要求1所述的方法,进一步包括:对于所述数目个循环中的每个循环,将所述因循环而异的卷积结果累加至存储在所述本地存储器中的当前卷积结果值。3.如权利要求1所述的方法,进一步包括:确定用于所述弹性瓶颈块的所述卷积层的中间层模式;以及基于所述中间层模式来配置循环参数,其中所述循环参数配置所述循环数目。4.如权利要求1所述的方法,进一步包括:对所述卷积层的输出执行非线性运算以生成中间激活数据;以及将所述中间激活数据作为输入提供给所述弹性瓶颈块中的第二卷积层。5.如权利要求1所述的方法,其中,所述循环数目不改变所述弹性瓶颈块的输入大小或输出大小。6.如权利要求1所述的方法,进一步包括:加载瓶颈块配置数据;以及基于所述瓶颈块配置数据来配置所述弹性瓶颈块的多个卷积层,其中:所述多个卷积层包括所述卷积层,所述瓶颈块配置数据为所述多个卷积层中的每个相应层配置循环参数,并且所述瓶颈块配置数据为所述多个卷积层中的每个卷积层配置输入大小和输出大小。7.如权利要求1所述的方法,进一步包括:基于对与所述数目循环中的每个循环相关联的因循环而异的卷积结果的求和以及来自所述卷积层的输入的跳跃连接来确定所述卷积层的输出。8.如权利要求1所述的方法,其中,所述卷积层是所述弹性瓶颈块中的多个卷积层之一。9.如权利要求8所述的方法,其中,所述卷积层包括逐点卷积层。10.如权利要求8所述的方法,其中,所述卷积层包括深度卷积层。11.如权利要求1所述的方法,其中,所述循环数目基于能用于所述卷积层的输入数据源的数目。12.如权利要求1所述的方法,进一步包括:从输入数据通道集中选择输入数据通道子集,其中所述循环数目基于所选输入数据通道子集中输入数据通道的数目。13.一种处理系统,包括:
包括计算机可执行指令的存储器;一个或多个处理器,所述一个或多个处理器被配置成执行所述计算机可执行指令并使所述处理系统:确定弹性瓶颈块的卷积层的循环数目;对于所述数目个循环中的每个循环:加载因循环而异的卷积权重集;使用所述因循环而异的卷积权重集来执行卷积运算;以及将因循环而异的卷积结果存储在本地存储器中;以及基于对与所述数目个循环中的每个循环相关联的因循环而异的卷积结果的求和来确定所述卷积层的输出。14.如权利要求13所述的处理系统,其中,所述一个或多个处理器被进一步配置成使所述处理系统:对于所述数目个循环中的每个循环,将所述因循环而异的卷积结果累加至存储在所述本地存储器中的当前卷积结果值。15.如权利要求13所述的处理系统,其中,所述一个或多个处理器被进一步配置成使所述处理系统:确定用于所述弹性瓶颈...
【专利技术属性】
技术研发人员:J,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。