当前位置: 首页 > 专利查询>英特尔公司专利>正文

对块稀疏度的机器学习架构支持制造技术

技术编号:25889894 阅读:23 留言:0更新日期:2020-10-09 23:30
本公开涉及用于不同矩阵稀疏度模式的矩阵操作加速。可以将矩阵操作加速器设计为针对第一矩阵稀疏度模式而不是针对第二矩阵稀疏度模式更有效地执行矩阵操作。具有第二稀疏度模式的矩阵可以被转换为具有第一稀疏度模式的矩阵,并且被提供给矩阵操作加速器。通过重新排列矩阵的行和/或列,可以将矩阵的稀疏度模式转换为适合于利用矩阵操作加速器计算的稀疏度模式。

【技术实现步骤摘要】
对块稀疏度的机器学习架构支持
技术介绍
本公开总体上涉及数据处理领域,并且更具体地,涉及用于不同矩阵稀疏度模式的矩阵操作加速。本节旨在向读者介绍可能与本公开的各个方面有关的本领域的各个方面,下面将对其进行描述和/或要求保护。本讨论被认为有助于向读者提供背景信息,以促进更好地理解本公开的各个方面。因此,应当理解,这些陈述应当从这个角度来理解,而不是作为对现有技术的承认。机器学习(ML)在许多
中变得越来越有价值。例如,机器学习可以用于自然语言处理、图像处理、计算机视觉(诸如对象识别)、生物信息学、和经济学等等其他领域和应用中。深度学习(DL)是机器学习的子集,深度学习可以使用神经网络中的大量推断计算来递送预测数据,以供在合适的领域和应用(诸如,上文列出的那些)中使用。此外,深度学习中神经网络的增长和/或机器学习应用的增长可能导致增加的数据量和推断计算量。但是,这些训练和/或推断计算可以包括多个矩阵乘法操作(例如,通用矩阵乘法(GeMM)操作)(诸如点积计算),这可能会消耗计算机架构的显著的面积、功率和路由资源和/或可能对计算引入等待时间。附图说明在阅读下文详细描述时并在参考附图时,可以更好地理解本公开的各个方面,其中:图1是根据实施例的用于实现矩阵操作的系统的框图;图2是根据实施例的乘法累加(MAC)电路的框图;图3是根据实施例的具有不同稀疏度的矩阵的示例的框图;图4是根据实施例的作为输入矩阵稀疏度水平的函数的硬件加速器的性能加速的曲线图;图5是根据实施例的原始矩阵和重新排列的矩阵的示例的框图;图6是根据实施例的涉及重新排列的矩阵的矩阵操作的框图;图7是根据实施例的使用针对特定稀疏度模式所设计的(例如,优化的)的硬件加速器来跨各种稀疏度模式执行矩阵操作的过程的流程图;图8是根据实施例的作为输入矩阵原始稀疏度水平的函数的硬件加速器的性能加速的曲线图;以及图9是根据实施例的处理器的框图。具体实施方式下文将描述一个或多个具体的实施例。为了提供对这些实施例的简要描述,说明书中并未描述实际实现方式的所有特征。应当领悟,在任何此类实际实现方式的开发中,如同在任何工程或设计项目中一样,为了实现开发人员的特定目标,可能做出许多特定于实现方式的决策,诸如遵守与系统相关和与业务相关的约束,这些约束可能从一个实现方式到另一个实现方式不同。此外,应当领会,此类开发工作可能是复杂且耗时的,但是对于受益于本公开的普通技术人员而言,这仍将是设计、制作和制造的例程任务。当介绍本公开的各实施例的要素时,冠词“一(a,an)”、“该(the)”旨在意指存在这些要素中的一个或多个。术语“包含”、“包括”、“具有”旨在是包含性的,并且意指除了所列举的要素之外还可能存在附加要素。另外,应该理解,对本公开的“一个实施例”或“实施例”的引用不旨在被解释为排除也合并了陈述的特征的附加实施例的存在。此外,短语A“基于”B旨在表示A至少部分地基于B。本公开通常涉及一种数据处理系统,该数据处理系统被实现为有效地执行可与机器学习(ML)应用、深度学习(DL)应用等相关联的操作(诸如矩阵操作)。例如,本公开涉及针对不同矩阵稀疏度模式的矩阵乘法加速的技术。如本文所述,“稀疏度”是指矩阵中非零元素与剩余元素(例如,零和/或空元素)的比例。此外,在一些实施例中,矩阵操作加速器(例如,在专用集成电路(ASIC)中实现的硬件加速器、在可编程逻辑器件(诸如现场可编程门阵列)中实现的硬件加速器、软件矩阵加速器)可以处理某一组稀疏度模式(诸如非结构化稀疏度(例如,细粒度稀疏度)或结构化稀疏度(例如,块稀疏度))。在某些情况下,矩阵操作加速器仅对特定类型的稀疏度模式(例如,仅细粒度稀疏度或仅结构化稀疏度)进行操作。在其他情况下,矩阵操作加速器可能能够对多种类型的稀疏度模式进行操作,但是在某些稀疏度模式下可能更有效(例如,在细粒度稀疏度的情况下更有效或在结构化稀疏度的情况下更有效)。例如,矩阵操作加速器可以被实现以至少部分地基于对输入到矩阵操作的矩阵中的零元素和/或空元素的数量和/或位置的检测和/或预测来减少和/或优化涉及矩阵操作(例如矩阵乘法、通用矩阵乘法(GeMM)等)的计算。由此,可以减少计算矩阵操作所涉及的功率、时间(例如,等待时间)、和/或资源(例如,硬件或软件资源)。然而,在一些实施例中,适用于第一稀疏度模式的硬件优化可能不适用于第二稀疏度模式。例如,用于加速具有非结构化稀疏度的矩阵的矩阵乘法的技术和/或硬件可能与用于加速具有结构化稀疏度的矩阵的矩阵乘法的技术和/或硬件不同。此外,不同的推断和/或深度学习模型可以使用不同的稀疏度模式来保持特定的准确度水平。由此,被设计(例如,被优化)成对具有与第一深度学习模型相对应的非结构化稀疏度模式的矩阵执行矩阵操作的矩阵操作加速器在对具有与第二深度学习模型相对应的结构化稀疏度模式的矩阵执行矩阵操作时可能能力或效率较低。如本文所使用的,被“设计”或“优化”成对一个或多个特定稀疏模式的矩阵执行矩阵操作的矩阵操作加速器可以在对具有非结构化稀疏度模式的矩阵进行矩阵操作的期间提供比在对具有结构化稀疏度模式的矩阵进行矩阵操作的期间更好的性能(例如,速度、功率等)。例如,可以设计(例如,优化)矩阵操作加速器以在对具有非结构化稀疏度模式的矩阵进行矩阵操作的期间提供比在对具有结构化稀疏度模式的矩阵进行矩阵操作的期间更好的性能(例如,速度、功率等)。因此,本公开描述了在其中被设计以最佳地对具有第一稀疏度模式(例如,非结构化和/或细粒度稀疏度)的矩阵进行操作的矩阵操作加速器可以对具有第二稀疏度模式(例如,结构化和/或块稀疏度)的矩阵进行基本上同样地有能力或有效率的操作的技术。实际上,软件或矩阵操作加速器可以标识具有第二稀疏度模式的矩阵和/或将具有第二稀疏度模式的矩阵转换为具有第一稀疏度模式(例如,非结构化和/或细粒度的稀疏度)的矩阵。以此方式,在不重新设计矩阵操作加速器或使其以能力和/或效率可能较低的不同的矩阵操作加速器模式操作的情况下,已经被设计成对具有第一稀疏度模式的矩阵进行最佳操作的矩阵操作加速器也可以对具有第二稀疏度模式的矩阵进行有能力和/或有效的操作。例如,在一些实施例中,矩阵的行和/或列可以表示人工智能(AI)或机器学习(ML)应用的要素,当矩阵的行和/或列可以在从存储器中被读取和/或被提供给矩阵操作加速器时被重新排列(例如,加扰)以产生重新排列的矩阵,使得重新排列的矩阵的稀疏度模式不同于存储在存储器中的矩阵的稀疏度模式。此外,在一些实施例中,通过重新排列矩阵的行和/或列,可以将矩阵的稀疏度模式转换为更适合于特定矩阵操作加速器的稀疏度模式。例如,矩阵操作加速器可以被设计(例如优化)以对具有细粒度稀疏度模式的矩阵执行矩阵操作。由此,通过以块稀疏度模式重新排列矩阵的行和/或列,可以产生具有更细粒度的稀疏度模式的重新排列的矩阵,该重新排列的矩阵更适合于矩阵操作加速器的性能。此外,由矩阵操作加速器对重新排列的矩阵执行的矩阵操作的结果可本文档来自技高网...

【技术保护点】
1.一种系统,包括:/n矩阵操作加速器电路,所述矩阵操作加速器电路被配置成用于使用第一矩阵执行矩阵操作,并至少部分地基于所述矩阵操作来输出结果矩阵;以及/n控制逻辑电路,所述控制逻辑电路通信地耦合至所述矩阵操作加速器电路和存储器,其中所述控制逻辑电路被配置成用于:/n从所述存储器中检取所述第一矩阵,其中从所述存储器中检取所述第一矩阵包括以不同于第二顺序的第一顺序从第二矩阵中检取以所述第二顺序排列的第一多个列;并且/n将所述结果矩阵存储在所述存储器中,其中将所述结果矩阵存储在所述存储器中包括以不同于第四顺序的第三顺序将所述结果矩阵中以所述第四顺序排列的第二多个列写入第三矩阵。/n

【技术特征摘要】
20190329 US 16/370,0941.一种系统,包括:
矩阵操作加速器电路,所述矩阵操作加速器电路被配置成用于使用第一矩阵执行矩阵操作,并至少部分地基于所述矩阵操作来输出结果矩阵;以及
控制逻辑电路,所述控制逻辑电路通信地耦合至所述矩阵操作加速器电路和存储器,其中所述控制逻辑电路被配置成用于:
从所述存储器中检取所述第一矩阵,其中从所述存储器中检取所述第一矩阵包括以不同于第二顺序的第一顺序从第二矩阵中检取以所述第二顺序排列的第一多个列;并且
将所述结果矩阵存储在所述存储器中,其中将所述结果矩阵存储在所述存储器中包括以不同于第四顺序的第三顺序将所述结果矩阵中以所述第四顺序排列的第二多个列写入第三矩阵。


2.如权利要求1所述的系统,其特征在于,所述第一矩阵包括第一稀疏度,并且所述第二矩阵包括与所述第一稀疏度不同的第二稀疏度。


3.如权利要求2所述的系统,其特征在于,所述第一稀疏度比所述第二稀疏度更细粒度。


4.如权利要求2所述的系统,其特征在于,所述矩阵操作加速器电路被配置成用于对具有所述第一稀疏度而不是所述第二稀疏度的矩阵执行矩阵操作。


5.如权利要求1所述的系统,其特征在于,所述控制逻辑电路包括一个或多个处理器。


6.如权利要求1所述的系统,其特征在于,所述第一顺序包括互质步长。


7.如权利要求1所述的系统,其特征在于,所述控制逻辑电路被配置成用于至少部分地基于提供给所述系统的输入而使用所述第一顺序来检取所述第一矩阵。


8.如权利要求1所述的系统,其特征在于,所述控制逻辑电路被配置成用于至少部分地基于所述第二矩阵的特性来确定所述第一顺序。


9.如权利要求8所述的系统,其特征在于,所述特性包括所述第二矩阵的大小、所述第二矩阵的稀疏度、或其组合。


10.如权利要求1所述的系统,包括解码电路,其中,所述控制逻辑电路被配置成用于响应于经由所述解码电路接收经解码的指令而从存储器检取所述第一矩阵。


11.如权利要求1所述的系统,其特征在于,所述系统包括处理器。


12.一种方法,包括:
从存储位置检取第一矩阵,其中检取所述第一矩阵包括以不同于第二顺序的第一顺序从第二矩阵中读取以所述第二顺序排列的第一多个列;
至少部分地基于矩阵操作和所述第一矩阵来生成结...

【专利技术属性】
技术研发人员:O·阿齐滋
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1