高效和并行的模型运行制造技术

技术编号:38207723 阅读:15 留言:0更新日期:2023-07-21 16:56
公开了一种加速器。电路可以处理数据以产生经处理的数据。第一层存储可以具有第一容量和第一时延。第二层存储可以具有第二容量和第二时延。第二容量可以大于第一容量,并且第二时延时间可以慢于第一时延。总线可以用于在第一层存储和第二层存储之间传送数据或经处理的数据中的至少一个。的数据中的至少一个。的数据中的至少一个。

【技术实现步骤摘要】
高效和并行的模型运行


[0001]本公开总体上涉及加速器,并且更具体地,涉及可以高效且并行地运行模型的加速器。

技术介绍

[0002]模型(诸如机器学习模型)往往很大。一些模型可能包含数兆兆字节的数据,并且预计模型大小可能会随着时间增加。加速器可以运行模型:例如,以产生用于对稍后数据的机器学习分析的数据。
[0003]但是加速器倾向于具有相对有限的存储,并且可能没有足够的存储容量来存储多于一个的模型。因此,即使加速器支持足够的处理器核心来并行地运行多个模型,模型也可能被依次运行,从而留下一些未使用的加速器处理能力。
[0004]仍然需要使用加速器来改进对模型的处理。

技术实现思路

[0005]本公开的实施例包括加速器。电路可以处理数据。提供不同容量和不同时延的两层存储可以通过高带宽总线连接以传送数据。
附图说明
[0006]下面描述的附图是如何实现本公开的实施例的示例,并且不旨在限制本公开的实施例。本公开的各个实施例可以包括未在特定附图中示出的元件和/或可以省略在特定附图中示出的元件。附图旨在提供说明,并且可能不是按比例绘制的。
[0007]图1示出了根据本公开的实施例的包括支持模型的并行运行的加速器的机器。
[0008]图2示出了根据本公开的实施例的图1的机器的细节。
[0009]图3示出了根据本公开的实施例的图1的加速器的细节。
[0010]图4示出了根据本公开的实施例的在图3的层(tier)之间移动数据的批(batches of data)。
[0011]图5示出了根据本公开的实施例的使用图1的加速器来运行模型的示例过程的流程图。
[0012]图6示出了根据本公开的实施例的在图3的层之间传送数据的示例过程的流程图。
[0013]图7示出了根据本公开的实施例的图3的预取器预取数据的示例过程的流程图。
[0014]图8示出了根据本公开的实施例的图3的预取器预取数据的批的示例过程的流程图。
[0015]图9示出了根据本公开的实施例的图1的加速器存储由图3的电路处理的数据的示例过程的流程图。
[0016]图10示出了根据本公开的实施例的图1的主机预处理要在图1的加速器中使用的数据的示例过程的流程图。
[0017]图11示出了根据本公开的实施例的图1的加速器预处理数据的示例过程的流程图。
[0018]图12示出了根据本公开的实施例的图1的加速器存储由图3的电路预处理的数据的示例过程的流程图。
[0019]图13示出了根据本公开的实施例的图1的加速器将数据从图3的第二层存储加载到图3的电路中的示例过程的流程图。
具体实施方式
[0020]现在将详细参考本公开的实施例,其示例在附图中示出。在以下详细描述中,阐述了多个具体细节,以使得能够彻底理解本公开。然而,应该理解,本领域普通技术人员可以在没有这些具体细节的情况下实践本公开。在其他情况下,没有详细描述公知的方法、过程、组件、电路和网络,以免不必要地模糊实施例的各个方面。
[0021]应当理解,尽管术语第一、第二等在本文中可以用来描述各种元件,但是这些元件不应该被这些术语所限制。这些术语仅用于区分一个元件和另一个元件。例如,在不脱离本公开的范围的情况下,第一模块可以被称为第二模块,并且类似地,第二模块可以被称为第一模块。
[0022]本文公开内容的描述中使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。如在本公开和所附权利要求的描述中所使用的,单数形式





一个





也旨在包括复数形式,除非上下文另有清楚指示。还应该理解,本文使用的术语

和/或

是指并且包含关联列出项目的一个或多个的任何和所有可能的组合。还将理解,术语

包括

和/或

包含

在本说明书中使用时,指定所述特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。附图的组件和特征不一定是按比例绘制的。
[0023]可以包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他处理硬件的加速器可以用于运行各种模型。这种模型的一个示例是机器学习(ML)模型。通过处理ML模型,机器能够辨识和处理稍后接收到的数据。加速器可以包括能够并行处理多个模型的多个处理核心。
[0024]但是模型可能很大:一些模型可能包含兆兆字节(TB)的数据。另一个方面,加速器中的可用存储器可能相对较小,并且可能以千兆字节(GB)的数据来度量。可能无法将整个单个模型加载到加速器的存储器中,更不要说将多个模型加载到加速器的存储器中来利用并行运行了。
[0025]此外,对模型的存储可能在相对较大的存储设备(诸如固态驱动(SSD)或硬盘驱动)中。这样的存储设备可以通过总线(诸如外围组件互连快速(PCIe)总线)来访问。总线可能对从存储设备传送数据的速度有限制,从而对数据被传送到加速器的存储器中造成瓶颈。
[0026]本公开的实施例通过创建两层加速器来解决这些问题。加速器可以包括作为一个层的加速器存储器和作为另一个层的存储设备。两个层之间的高带宽数据传送可以绕过可能成为瓶颈的总线(如PCIe),将数据快速地移动到加速器存储器中以进行模型运行。
[0027]本公开的实施例还可以小批(small batch)地将数据取到加速器存储器中。通过
处理小批的数据,可以并行地运行多个模型,从而更好地利用加速器。本公开的实施例还可以包括预取器,以小批地将数据从存储设备中预取到加速器存储器中,使得加速器不必等待运行模型。
[0028]图1示出了根据本公开的实施例的包括支持模型的并行运行的加速器的机器。在图1中,机器105也可以被称为主机或系统,可以包括处理器110、存储器115和存储设备120。处理器110可以是各种处理器。(为了便于说明,处理器110以及下面讨论的其他组件被示出为在机器外部:本公开的实施例可以在机器内包括这些组件。)尽管图1示出了单个处理器110,但是机器105可以包括任何数量的处理器,处理器中的每一个都可以是单核处理器或多核处理器,处理器中的每一个都可以实现精简指令集计算机(RISC)架构或复杂指令集计算机(CISC)架构(以及其他可能性),并且可以以任何期望的组合来混合。
[0029]处理器110可以耦合到存储器115。存储器115可以是各种存储器,诸如闪存、动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、持久随机访问存储器、铁电随机访问存储器(FRAM)或非易失性随机访问存储器(NVRAM),诸如磁阻随机访问存储器(MRAM)等。根据需要,存储器115可以是易失性存储器或非易失性存储器。存储器1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加速器,包括:电路,其处理数据以产生经处理的数据;第一层存储,具有第一容量和第一时延;第二层存储,具有第二容量和第二时延,第二容量大于第一容量,第二时延慢于第一时延;以及总线,其在第一层存储和第二层存储之间传送所述数据或经处理的数据中的至少一个。2.根据权利要求1所述的加速器,其中,所述总线包括大于外围组件互连快速(PCIe)总线带宽的带宽。3.根据权利要求1所述的加速器,其中,所述电路包括第一核心和第二核心。4.根据权利要求3所述的加速器,其中:所述第一层存储被配置为存储所述数据和第二数据;所述第一核心被配置为处理所述数据以产生经处理的数据;并且所述第二核心被配置为处理第二数据以产生第二经处理的数据。5.根据权利要求1所述的加速器,还包括预取器,所述预取器用于通过总线将所述数据从第二层存储传送到第一层存储。6.根据权利要求5所述的加速器,其中:所述数据包括所述数据的第一批和所述数据的第二批;并且所述预取器被配置为通过总线将所述数据的第一批从第二层存储传送到第一层存储。7.根据权利要求6所述的加速器,其中,所述预取器被配置为至少部分地基于所述电路在处理所述数据的第一批,将所述数据的第二批从第二层存储传送到第一层存储。8.根据权利要求5所述的加速器,其中,所述预取器被配置为使用来自主机的提示选择所述数据以用于从第二层存储传送到第一层存储。9.根据权利要求1所述的加速器,还包括协调器,所述协调器用于识别所述数据以进行预取。10.根据权利要求9所述的加速器,其中,所述协调器还被配置为指示电路处理所述数据。11.一种方法,包括:识别加速器的第二层存储中的数据,加速器的第二层存储具有第二容量和第二时延;通过总线将所述数据从加速器的第二层存储传送到加速器的第一层存储,加速器的第一层存储具有第一容量和第一时延,第二容量大于第一容量,第二时延慢于第一时延;以及在加速器的电路中处理所述数据以产生经处理的数据。12.根据权利要求11所述的方法,其中,通过总线将所述数据从加速器的第二层存储传送到加速器的第一层存储包括将所述数据从加速器的第二层存储预取到加速器的第一层存储。13.根据权利要求12所述的方法,其中,将所述数据从加速器的第...

【专利技术属性】
技术研发人员:MM阮R皮初马尼李宗旺奇亮奭KT马拉迪
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1