CN115310601A - 深度学习加速器模型和硬件 - Google Patents
深度学习加速器模型和硬件 Download PDFInfo
- Publication number
- CN115310601A CN115310601A CN202210485781.2A CN202210485781A CN115310601A CN 115310601 A CN115310601 A CN 115310601A CN 202210485781 A CN202210485781 A CN 202210485781A CN 115310601 A CN115310601 A CN 115310601A
- Authority
- CN
- China
- Prior art keywords
- dla
- model
- chip
- executing
- confidence value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Advance Control (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本公开涉及深度学习加速器模型和硬件。可使用深度学习加速器DLA封装的第一DLA芯片执行第一DLA模型。所述第一DLA芯片可具有第一计算能力,且所述第一DLA模型可具有第一最大精度值。响应于由使用所述第一DLA芯片执行所述第一DLA模型产生的第一结果的精度值小于阈值精度值,可向所述DLA封装的第二DLA芯片直接提供指示所述第一结果的信令,并且可使用所述第二DLA芯片且使用所述第一结果作为输入来执行第二DLA模型。所述第二DLA芯片可具有大于所述第一计算能力的第二计算能力。所述第二DLA模型可具有大于所述第一最大精度值的第二最大精度值。
Description
技术领域
本公开大体上涉及存储器,且更具体地说,涉及与使用DLA封装的DLA芯片执行深度学习加速器(DLA)模型相关联的设备和方法。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路装置。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过当未被供电时保持所存储的数据而提供持久的数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)以及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM)等等。
还利用存储器作为用于多种电子应用的易失性和非易失性数据存储装置,所述电子应用包含但不限于个人计算机、便携式存储棒、数码相机、蜂窝电话、便携式音乐播放器(例如MP3播放器)、电影播放器和其它电子装置。存储器单元可布置成阵列,其中所述阵列在存储器装置中使用。
发明内容
本公开的一个实施例提供一种方法,其包括:使用深度学习加速器(DLA)封装的第一DLA芯片执行第一DLA模型,其中所述第一DLA芯片具有第一计算能力且所述第一DLA模型具有第一最大精度值;以及响应于由使用所述第一DLA芯片执行所述第一DLA模型产生的第一结果的精度值小于第一阈值精度值:向所述DLA封装的第二DLA芯片直接提供指示所述第一结果的信令,其中所述第二DLA芯片具有大于所述第一计算能力的第二计算能力;以及使用所述第二DLA芯片且使用所述第一结果作为输入来执行第二DLA模型,其中所述第二DLA模型具有大于所述第一最大精度值的第二最大精度值。
本公开的另一实施例提供一种设备,其包括:深度学习加速器(DLA)封装,其包括:第一DLA芯片,其包括第一数量的DLA核心;以及第二DLA芯片,其包括大于所述第一数量的DLA核心的第二数量的DLA核心,其中所述第一DLA芯片耦合到所述第二DLA芯片,其中所述第一DLA芯片经配置以执行具有第一计算能力的第一DLA模型,并且其中所述第二DLA芯片经配置以执行具有大于所述第一计算能力的第二计算能力的第二DLA模型。
本公开的又一实施例提供一种存储指令的非暂时性机器可读媒体,所述指令可由处理资源执行以进行以下操作:确定由执行第一深度学习加速器(DLA)模型的第一计算层产生的第一结果的第一置信度值是否至少是阈值置信度值,其中DLA封装的第一DLA芯片执行所述第一DLA模型;响应于所述第一置信度值至少是所述阈值置信度值,使用所述第一结果作为输入来执行所述第一DLA模型的第二计算层;以及响应于所述第一置信度值小于所述阈值置信度值:向所述DLA封装的第二DLA芯片提供指示唤醒请求的信令,所述第二DLA芯片包括比所述第一DLA芯片更多数量的DLA核心;以及使用所述第一结果作为输入且使用所述第二DLA芯片来执行所述第二DLA模型的计算层。
本公开的再一实施例提供一种系统,其包括:深度学习加速器(DLA)封装,其包括:第一深度学习加速器DLA芯片,其包括第一多个DLA核心且经配置以执行第一DLA模型;以及第二DLA芯片,其耦合到所述第一DLA芯片,并且包括数量多于所述第一多个DLA核心的第二多个DLA核心且经配置以基于由执行所述第一DLA模型产生的结果而执行第二DLA模型;以及控制电路系统,其耦合所述DLA封装,并且经配置以在通过所述第一DLA芯片执行所述第一DLA模型期间将所述第二DLA芯片维持在低电力状态。
本公开的再一实施例提供一种存储指令的非暂时性机器可读媒体,所述指令可由处理资源执行以进行以下操作:确定使用第一深度学习加速器(DLA)芯片对代表性数据执行第一DLA模型的计算层是否产生具有至少阈值置信度值的结果,其中所述第一DLA芯片包括第一多个DLA核心;响应于确定执行所述第一DLA模型的所述计算层产生置信度值小于所述阈值置信度值的结果,基于由执行所述第一DLA模型的所述计算层产生的结果而使用第二DLA芯片执行第二DLA模型,其中所述第二DLA芯片包括数量多于所述第一多个DLA核心的第二多个DLA核心。
本公开的再一实施例提供一种方法,其包括:通过以下操作来确定在编译时间之后要对深度学习加速器(DLA)封装接收的数据执行第一DLA模型的哪些计算层:在所述编译时间且使用所述DLA封装的第一DLA芯片,对代表性数据执行第一DLA模型的第一数目的计算层;基于由对所述代表性数据执行所述第一DLA模型的所述第一数目的计算层产生的结果,使用所述DLA封装的所述第二DLA芯片执行第二DLA模型,其中所述第一DLA芯片包括第一多个DLA核心并且所述第二DLA芯片包括数量大于所述第一多个DLA核心的第二多个DLA核心;以及确定基于由执行所述第一DLA模型的所述第一数目的计算层产生的结果而执行所述第二DLA模型产生的结果是否具有至少是阈值置信度值的置信度值。
附图说明
图1为根据本公开的数个实施例的呈包含存储器装置的计算系统形式的设备的框图。
图2为根据本公开的数个实施例的包含DLA芯片的DLA封装的框图。
图3为根据本公开的数个实施例的DLA封装的DLA芯片之间的切换的框图表示。
图4为根据本公开的数个实施例确定何时切换DLA芯片的框图表示。
图5为根据本公开的数个实施例的用于使用DLA封装的DLA芯片执行DLA模型的方法的流程图。
图6为根据本公开的数个实施例的用于使用DLA封装的DLA芯片执行DLA模型的方法的流程图。
图7说明了可在其内执行用于使得机器执行本文中所论述的各种方法的指令集的示例计算机系统。
具体实施方式
本公开包含与使用DLA封装的DLA芯片执行深度学习加速器(DLA)模型有关的设备和方法。可在电力有限的装置和/或系统上采用人工智能(AI)。如本文所使用,“人工智能”是指通过“学习”来改进机器的能力,例如通过存储可用于稍后采取动作的模式和/或实例。深度学习是指装置从作为实例提供的数据中学习的能力。深度学习可以是人工智能的子集。人工神经网络以及其它类型的网络可以被分类为深度学习。
AI应用的非限制性实例包含深度学习边缘应用,例如对象检测、分类、跟踪和导航。深度学习边缘应用可以部署在依赖电池供电的无人驾驶载具(例如,无人机)上。深度学习边缘应用在此类电力受限装置和/或系统上的部署和/或利用方式取决于深度学习边缘应用的有效能源利用率。深度学习边缘应用可由DLA执行。然而,DLA不可重新配置或分割。在制造期间,DLA的生产满足工作负载的要求,但DLA无法适应制造后工作负载的变化。以前提高DLA能效的一些方式可能包含使用DLA专用集成电路(ASIC)。
可执行相同类型(例如,MobileNet、ResNet、VGG19等)的多个DLA模型(例如,深度学习模型)以针对给定的深度学习任务执行检测和/或分类。DLA模型中的每一者可部署在相应DLA ASIC上。DLA ASIC可具有对应于DLA模型的计算能力和/或处理要求的不同计算能力和/或处理要求。如本文所使用,“计算能力”是指执行计算的能力,而“处理要求”是指执行计算的要求。
如本文所使用,“对数据执行DLA模型”是指根据DLA模型的参数使用DLA芯片对数据执行计算。DLA模型可具有参数(可配置),以使得执行DLA模型产生具有至少特定置信度值(例如,精度值)的结果。如本文所使用,“由执行DLA模型产生的结果的精度”是指DLA模型进行的正确预测数量与DLA模型进行的总预测数量之间的关系。由执行DLA模型产生的特定结果的置信度可被称为精度值,并表示为精度值。DLA模型的参数的实例包含但不限于待在执行DLA模型期间使用的DLA的乘法和累加电路(MAC)的最大数量。DLA模型的参数的其它非限制性实例可以是执行DLA模型期间的计算迭代的最大数量和待在执行DLA模型期间执行的计算的最大数量。在至少一个实施例中,执行实施于DLA上的DLA模型可包含利用实施于DLA上的MAC的至多特定数量(例如,子集)。DLA模型的此类参数可能会限制DLA模型的计算能力,这继而可能会限制由执行DLA模型产生的结果的精度。然而,可以通过减少资源消耗来弥补计算能力的损失。
与经配置以产生低精度结果的不同DLA模型相比,经配置以产生高精度结果的DLA模型可利用更多数量的MAC、执行更多数量的计算迭代和/或在执行DLA模型期间执行更多数量的计算。执行经配置以产生高精度结果的DLA模型消耗的资源可能比执行经配置以产生低精度结果的DLA模型消耗的资源更多。例如,执行经配置以产生高精度结果的DLA模型的电力需要可能比执行经配置以产生较低精度结果的DLA模型的电力需要更多(电力消耗更多)。
在先前的一些方式中,可在不需要高精度结果的情形下执行经配置以产生高精度结果的DLA模型。因此,当执行具有低计算能力的DLA模型产生足够精确的结果时,先前的一些方式可能会在执行具有高计算能力的DLA模型时消耗更多的电力。在这种情况下,执行具有高计算能力的DLA模型相对于执行具有低计算能力的DLA模型会消耗额外的电力。在例如物联网(IoT)装置等低电力装置中,减少额外的电力消耗是非常重要的。
本公开的各方面解决上述缺陷和其它缺陷。例如,可将各种DLA模型的执行指派给DLA封装的不同DLA芯片。DLA芯片可包含一定数量的DLA核心,所述一定数量的DLA核心可基于DLA芯片要执行的DLA模型的计算能力和/或处理要求。本公开的一些实施例提供了在先前的方式中不可实现的制造后灵活性。例如,DLA封装可包含具有不同数量的DLA核心的DLA芯片。本文所描述的一些实施例的优点是能够按需感知工作负载的计算部署、利用和/或管理。可按需利用DLA芯片的计算能力,并且可扩展所述计算能力以满足深度学习边缘应用不断变化的要求。
如本文所使用,除非本文另有明确指示,否则单数形式“一(a/an)”和“所述(the)”包含单数个和复数个提及物。此外,贯穿本申请以许可的意义(即,有可能、能够),而非以强制性的意义(即,必须)使用词语“可”。术语“包含”和其派生词意味“包含但不限于”。术语“耦合”意味着直接或间接连接。
本文中的图遵循编号惯例,其中第一数字对应于图号,且其余的数字标识图中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。例如,234可表示图2中的元件“34”,且类似元件可在图3中表示为334。如应了解,可以添加、交换和/或去除本文中的各个实施例中示出的元件,以便提供本公开的数个额外实施例。另外,如应了解,图中提供的元件的比例和相对尺度意图说明本发明的某些实施例,且不应被视作限制性意义。
图1为根据本公开的数个实施例的呈包含存储器装置的计算系统100形式的设备的框图。存储器装置104经由接口124耦合到主机102。如本文所使用,例如主机102、存储器装置104或存储器阵列110还可被单独地视为“设备”。接口124可在存储器装置104与主机102之间传递控制、地址、数据和其它信号。接口124可包含命令总线(例如,耦合到控制电路系统106)、地址总线(例如,耦合到地址电路系统120),以及数据总线(例如,耦合到输入/输出(I/O)电路系统122)。在一些实施例中,命令总线和地址总线可包括共同命令/地址总线。在一些实施例中,命令总线、地址总线和数据总线可为共同总线的部分。命令总线可在主机102与控制电路系统106之间传递信号,例如用于计时的时钟信号、复位信号、芯片选择、奇偶校验信息、警报等等。地址总线可在主机102与地址电路系统120之间传递信号,例如用于存储器操作的存储器阵列110中的存储器存储体的逻辑地址。所述接口124可以是采用合适的协议的物理接口。此协议可为定制的或专用的,或接口124可采用标准化协议,例如外围组件互连高速(PCIe)、Gen-Z互连、加速器的高速缓存相干互连(CCIX)等。在一些情况下,控制电路系统106是寄存器时钟驱动器(RCD),例如RDIMM或LRDIMM上采用的RCD。
存储器装置104和主机102可以是卫星、通信塔、个人膝上型计算机、台式计算机、数码相机、移动电话、存储卡读卡器、具有IoT功能的装置、汽车、无人机以及各种其它类型的系统。为了清楚起见,已简化系统100以聚焦于与本公开特别相关的特征。主机102可包含能够存取存储器装置104的数个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路系统)。
存储器装置104可为主机102提供主存储器或者可用作主机102的额外存储器或存储装置。借助于实例,存储器装置104可以是双列直插式存储器模块(DIMM),其包含作为例如DDR5的双数据速率(DDR)DRAM、例如GDDR6的图形DDR DRAM或另一类型的存储器系统操作的存储器阵列110。实施例不限于特定类型的存储器装置104。存储器阵列110的其它实例包含RAM、ROM、SDRAM、LPDRAM、PCRAM、RRAM、快闪存储器和三维交叉点等。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的变化来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可以执行就地写入操作,其中可以在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
控制电路系统106可对主机102提供的信号进行解码。控制电路系统106还可被称为命令输入和控制电路,且可取决于实施方案而表示不同离散ASIC或不同ASIC的部分的功能性。信号可以是主机102提供的命令。这些信号可包含用于控制对存储器阵列110执行的操作的芯片启用信号、写入启用信号和地址锁存信号等。此类操作可包含数据读取操作、数据写入操作、数据擦除操作、数据移动操作等。控制电路系统106可包括状态机、定序器和/或某一其它类型的控制电路系统,其可以硬件、固件或软件或三者的任何组合的形式实施。
可经由数据线向存储器阵列110提供数据和/或从所述存储器阵列提供数据,所述数据线经由读取/写入电路系统114将存储器阵列110耦合到输入/输出(I/O)电路系统122。I/O电路系统122可用于通过接口与主机102进行双向数据通信。读取/写入电路系统114用于将数据写入到存储器阵列110或从存储器阵列110读取数据。作为实例,读取/写入电路系统114可包括各种驱动器、锁存电路系统等。在一些实施例中,数据路径可绕过控制电路系统106。
存储器装置104包含地址电路系统120,以锁存通过接口提供的地址信号。通过行解码器118和列解码器116接收地址信号并对地址信号进行解码以存取存储器阵列110。可通过使用感测电路系统112感测感测线上的电压和/或电流变化而从存储器阵列110读取数据。感测电路系统112可耦合到存储器阵列110。感测电路系统112可包括例如感测放大器,所述感测放大器可读取并锁存来自存储器阵列110的数据的页(例如,行)。感测(例如,读取)存储器单元中存储的位可涉及感测一对感测线上的相对小的电压差,所述感测线可被称为数字线或数据线。
存储器阵列110可包括以通过存取线(其可在本文中被称为字线或选择线)耦合的行和通过感测线(其可在本文中被称为数字线或数据线)耦合的列布置的存储器单元。尽管存储器阵列110示出为单个存储器阵列,但存储器阵列110可表示以存储器装置104的存储体布置的多个存储器阵列。存储器阵列110可包含数个存储器单元,例如易失性存储器单元(例如,DRAM存储器单元,以及其它类型的易失性存储器单元)和/或非易失性存储器单元(例如,RRAM存储器单元,以及其它类型的非易失性存储器单元)。
存储器装置104可包含DLA 130。在下文中,DLA 130可被称为DLA封装。如本文所描述,DLA 130可包含多个DLA芯片(例如,DLA ASIC)。DLA 130可实施于存储器装置104的边缘上或边缘附近。例如,如图1所说明,DLA 130可在存储器阵列110外部实施。DLA 130可位于存储器阵列110到I/O电路系统122之间的数据路径(例如,输出路径)上。
DLA 130可耦合到控制电路系统106。控制电路系统106可控制DLA 130。例如,控制电路系统106可向行解码器118和列解码器116提供信令以使得数据从存储器阵列110传送到DLA 130,从而向DLA 130提供输入。控制电路系统106可使得DLA 130的输出提供到I/O电路系统122和/或存储回存储器阵列110。
DLA 130可由控制电路系统106控制,例如以执行人工神经网络(ANN)109。DLA模型是ANN的非限制性实例。ANN 109可包含硬件和/或固件,以实施用于对数据执行操作的DLA模型。在一些实施例中,存储器装置104可经配置以存储ANN(例如,ANN109),且DLA 130可用于补充用于各种功能的ANN操作。例如,DLA 130和ANN 109可用于标识图像中的对象和/或图像中的变化。指示图像的数据可输入到DLA 130。
在一些实施例中,编译器103可由主机102托管。如本文所使用,“编译器”是指编译来自源装置的指令以引起目的地装置处的动作的硬件和/或软件。例如,编译器103可编译来自主机102的指令以使得DLA 130根据指令执行一或多个DLA模型。如本文所使用,“经配置以用于X的编译器”和“用于X的编译器”是指编译指令以引起X的编译器。
如本文所描述,且尤其与图3相关联,编译器103可用于确定何时从使用DLA 130的DLA芯片执行DLA模型切换到使用DLA 130的不同DLA芯片执行不同DLA模型。编译器103可包含硬件、软件和/或固件。例如,编译器103可包含与主机102的处理器(未示出)分离的硬件。在一些实施例中,编译器103可包含可由处理器执行以编译指令的计算机可执行指令。
编译器103产生的经编译指令可提供到控制电路系统106以使得控制电路系统106执行所述经编译指令。一旦经编译指令存储在存储器阵列110中,主机102就可向存储器装置104提供命令以利用DLA 130执行经编译指令。经编译指令可由DLA 130执行以执行ANN109。控制电路系统106可使得经编译指令被提供到DLA 130。控制电路系统106可使得DLA130执行经编译指令。控制电路系统106可使得DLA 130的输出存储回存储器阵列110、传回主机102和/或用于在存储器装置104中执行额外计算。
控制电路系统106还可包含切换电路系统108。在一些实施例中,切换电路系统108可包括ASIC,其经配置以切换在本文所描述的DLA封装的DLA芯片上执行DLA模型。在一些实施例中,切换电路系统108可表示未体现在单独的离散电路系统中的控制电路系统106的功能性。控制电路系统106和/或切换电路系统108可经配置以指导通过DLA130的DLA芯片执行相应DLA模型。控制电路系统106和/或切换电路系统108可经配置以响应于结果具有至少阈值置信度值而使用第一DLA芯片执行第一DLA模型。控制电路系统106和/或切换电路系统108可经配置以响应于由执行第一DLA模型产生的结果的置信度值小于阈值置信度值,基于由执行第一DLA模型产生的结果而使用DLA封装的第二DLA芯片执行第二DLA模型。第二DLA芯片的计算能力可比第一DLA芯片的计算能力大。
在一些实施例中,控制电路系统106可在通过第一DLA芯片执行第一DLA模型期间将第二DLA芯片维持在低电力状态。控制电路系统106可响应于由执行第一DLA模型产生的结果的置信度值小于阈值置信度值,使得第二DLA芯片退出低电力状态。第一DLA芯片可响应于由执行第一DLA模型产生的结果的置信度值小于阈值置信度值,向第二DLA芯片提供由执行第一DLA模型产生的结果。
图2为根据本公开的数个实施例的包含DLA芯片234和236的DLA封装230的框图。DLA封装230可类似于结合图1所描述的DLA 130。DLA芯片234和236可安置于衬底材料231上。DLA芯片234和236可耦合到DLA封装230的导电线和衬垫233。DLA芯片234可经由导电线235耦合到DLA芯片236。如图2所说明,DLA芯片234可直接耦合到DLA芯片236。导电线235可用于将结果从DLA芯片234传送到DLA芯片236以及从DLA芯片236传送到DLA芯片234。
DLA芯片234和236可各自为ASIC(例如,DLA ASIC)。在一些实施例中,DLA芯片234和236可具有不同的计算能力和/或处理要求。例如,DLA芯片234可包含比DLA芯片236少的DLA核心。DLA芯片234可包含大小对应于第一DLA模型的处理要求的MAC阵列。DLA芯片236可包含大小对应于第二DLA模型的处理要求的MAC阵列。DLA芯片236可包含比DLA芯片234更大的MAC阵列。例如,DLA芯片234可包含256×256的MAC阵列,且DLA芯片236可包含512×512的MAC阵列。因此,DLA芯片234可被称为“小”DLA芯片,且DLA芯片236可被称为“大”DLA芯片。DLA芯片234执行计算能力和/或处理要求较低的DLA模型,而DLA芯片236可执行计算能力和/或处理要求较高的DLA模型。
在一些实施例中,DLA芯片234和236可同时执行相应DLA模型。例如,DLA芯片234可执行DLA模型,同时DLA芯片236执行另一DLA模型。在一些实施例中,多个DLA芯片可同时执行相同的DLA模型和/或具有类似计算能力和/或处理要求的DLA模型。
在一些实施例中,DLA芯片234可执行DLA模型的计算层,直到结果的置信度降到低于阈值为止。响应于结果的置信度降到低于阈值,可由DLA芯片236使用来自DLA芯片234的结果作为输入来执行计算能力和/或处理要求较高的另一DLA模型。此类实施例通过直到需要“大”DLA芯片236才使用比“小”DLA芯片234消耗更多能量的“大”DLA芯片236执行DLA模型来节省能量。
尽管图2说明了包含两个DLA芯片的DLA封装230,但本公开的实施例不限于此。在一些实施例中,DLA封装230可包含多于两个DLA芯片。例如,DLA封装230可包含三个DLA芯片。除DLA芯片234和236之外,第三DLA芯片(未示出)可耦合到DLA芯片234和236,以将结果从DLA芯片234和/或236传送到第三DLA芯片以及从第三DLA芯片传送到DLA芯片234和/或236。第三DLA芯片的计算能力和/或处理要求可大于DLA芯片234的计算能力和/或处理要求且小于DLA芯片236的计算能力和/或处理要求。例如,第三DLA芯片包含的DLA核心可多于DLA芯片234的DLA核心且少于DLA芯片236的DLA核心。因此,DLA芯片234可被称为“小”DLA芯片,第三DLA芯片可被称为“中等”DLA芯片,并且DLA芯片236可被称为“大”DLA芯片。
图3为根据本公开的数个实施例的DLA封装的DLA芯片334和336之间的切换的框图表示。虚线框334和336分别包含由结合图2描述的DLA芯片234和236执行的操作。尽管DLA芯片未在图3中具体说明,但参考数字334和336用于指代DLA芯片。
如图3所说明,可将数据340的推断(例如,图像)输入到DLA芯片334。分别在342、343和344处,可通过DLA芯片334对数据340执行DLA模型的计算层。响应于在344处来自第三计算层的结果具有小于阈值置信度值的置信度值,在348处,发生提前退出通过DLA芯片334执行DLA模型。如349处所指示,可将数据340的另一推断输入到DLA芯片334。
在345处,可将通过DLA芯片334执行DLA模型产生的中间结果(IR)传送到DLA芯片336。响应于在347处来自第三计算层的结果具有小于阈值置信度值的置信度值,可将唤醒请求传送到DLA芯片336。在一些实施例中,DLA芯片336可在接收到唤醒请求和/或中间结果之前维持低电力状态。例如,提供到DLA芯片336的电力可降低到低于DLA芯片336完全起作用以维持低电力状态所必需的电平。为了实现DLA芯片336从低电力状态的快速转换,在一些实施例中,DLA芯片336使用的初始权重可写入到DLA封装的非易失性SRAM或耦合到DLA封装。在一些实施例中,可对DLA芯片336的计算模块进行功率门限(power gate)。分别在341和346处,可通过DLA芯片336对中间结果345执行另一DLA模型的计算层341和346。
图4为根据本公开的数个实施例确定从DLA芯片434到另一DLA芯片436的切换的框图表示。虚线框434-1和434-2包含由虚拟DLA芯片434执行的操作,并且虚线框436-1和436-2包含由虚拟DLA芯片436执行的操作。图4的上部部分说明了对代表性数据450执行第一DLA模型和第二DLA模型的顺序(下文被称为“上部顺序”)。在图4中,“434-1”和“436-1”分别是指由虚拟DLA芯片444和436根据上部顺序执行的操作。图4的下部部分说明了对代表性数据450执行第一DLA模型和第二DLA模型的不同顺序(下文被称为“下部顺序”)。在图4中,“434-2”和“436-2”分别是指由虚拟DLA芯片444和436根据下部顺序执行的操作。尽管DLA封装和其DLA芯片未在图4中具体说明,但参考数字430、434和436分别用于指代DLA封装和DLA芯片。
如结合图2所描述,在一些实施例中,可由第一DLA芯片(例如,DLA芯片234)执行第一DLA模型。基于由在编译时间之后执行第一DLA模型产生的结果的置信度(例如,精度),DLA封装430可从使用第一DLA芯片执行第一DLA模型切换到使用第二DLA芯片(例如,DLA芯片236)执行第二DLA模型。
在一些实施例中,可在编译时间基于表示预期对其执行DLA模型的数据的数据(下文被称为代表性数据)而确定是否以及何时切换DLA模型和对应DLA芯片的执行。代替基于由在编译时间之后对数据执行DLA模型产生的结果的置信度而被动地确定是否以及何时切换DLA模型和对应DLA芯片的执行,在一些实施例中,可基于对代表性数据执行DLA模型而主动地确定是否以及何时切换DLA模型和对应DLA芯片的执行。可评估由对代表性数据执行DLA模型产生的结果(例如,可评估结果的置信度),以确定是否以及何时切换DLA模型和对应DLA芯片的执行。可确定在切换到执行第二DLA模型之前要执行的第一DLA模型的计算层的数量。
可基于将对其执行DLA模型的预期数据而选择代表性数据450。在图4的实例中,DLA封装(未示出)是自主车辆(未示出)的组件。因此,代表性数据450包含总线的图像。
在上部顺序的452处,使用DLA芯片434对代表性数据450执行第一DLA模型的计算层L1。在458处,发生提前退出执行第一DLA模型,并且将由执行计算层L1产生的结果输入到第二DLA芯片436。分别在454和456处,使用第二DLA芯片436执行第二DLA模型的两个计算层,即计算层L2和计算层L3。上部顺序产生每秒每瓦1,000个推断的结果。
分别在下部顺序的451和453处,使用DLA芯片434对代表性数据450执行第一DLA模型的计算层L1和计算层L2。在459处,发生提前退出执行第一DLA模型,并且将由执行计算层L1和L2产生的结果输入到第二DLA芯片436。在457处,使用第二DLA芯片436执行第二DLA模型的计算层,即计算层L3。下部顺序产生每秒每瓦1,500个推断的结果。因此,下部顺序产生的结果比上部顺序产生的结果更精确。
图5为根据本公开的数个实施例的用于使用DLA封装的DLA芯片执行DLA模型的方法的流程图。可通过处理逻辑执行所述方法,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由控制电路系统(例如,结合图1描述的控制电路系统106)执行所述方法。尽管以特定顺序或次序示出,但除非另外规定,否则可以修改过程的次序。因此,所示实施例应仅作为实例理解,并且所示过程可以不同次序执行,且一些过程可以并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非在每一实施例中都需要所有过程。其它过程流程也是可能的。
在框570处,所述方法可包含使用DLA封装的第一DLA芯片执行第一DLA模型。所述第一DLA芯片可具有第一计算能力,且所述第一DLA模型可具有第一最大精度值。
在框572处,所述方法可包含,响应于由使用第一DLA芯片执行第一DLA模型产生的第一结果的精度值小于阈值精度值进行下述操作,即在框574处,向DLA封装的第二DLA芯片直接提供指示第一结果的信令,以及在框576处,使用第二DLA芯片且使用第一结果作为输入来执行第二DLA模型。所述第二DLA芯片可具有大于所述第一计算能力的第二计算能力。所述第二DLA模型可具有大于所述第一最大精度值的第二最大精度值。
尽管未具体说明,但所述方法可包含,响应于由使用第二DLA芯片执行第二DLA模型产生的第二结果的精度值至少是大于阈值精度值的第二阈值精度值,向第一DLA芯片直接提供指示第二结果的信令,以及使用第一DLA芯片且使用第二结果作为输入来执行第一DLA模型。在向第一DLA芯片直接提供指示第二结果的信令之后,可减少提供到第二DLA芯片的电力。所述方法可进一步包含,响应于由使用第一DLA芯片执行第一DLA模型产生的第三结果的精度值至多是阈值精度值,向第二DLA芯片直接提供指示第三结果的信令,以及使用第二DLA芯片且使用第三结果作为输入来执行第二DLA模型。
尽管未具体说明,但所述方法可包含,响应于由使用第二DLA芯片执行第二DLA模型产生的第二结果的精度值至多是第一阈值精度值,向DLA封装的第三DLA芯片直接提供指示第二结果的信令,以及使用第三DLA芯片且使用第二结果作为输入来执行第三DLA模型。所述第三DLA芯片可具有大于所述第二DLA芯片的所述第二计算能力的第三计算能力。所述第三DLA模型可具有大于所述第二DLA模型的所述第二最大精度值的第三最大精度值。
图6为根据本公开的数个实施例的用于使用DLA封装的DLA芯片执行DLA模型的方法的流程图。可通过处理逻辑执行所述方法,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由控制电路系统(例如,结合图1描述的控制电路系统106)执行所述方法。尽管以特定顺序或次序示出,但除非另外规定,否则可以修改过程的次序。因此,所示实施例应仅作为实例理解,并且所示过程可以不同次序执行,且一些过程可以并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非在每一实施例中都需要所有过程。其它过程流程也是可能的。
在框680处,所述方法可包含确定在编译时间之后要对DLA封装接收的数据执行第一DLA模型的哪些计算层。确定要执行第一DLA模型的哪些计算层可包含:在框681处,在编译时间且使用DLA封装的第一DLA芯片,对代表性数据执行第一DLA模型的第一数目的计算层;以及在框682处,基于由对代表性数据执行第一DLA模型的第一数目的计算层产生的结果而使用第二DLA芯片执行第二DLA模型。所述第一DLA芯片可包含第一多个DLA核心,并且所述第二DLA芯片可包含数量大于所述第一多个DLA核心的第二多个DLA核心。确定要执行第一DLA模型的哪些计算层可进一步包含,在框683处,确定基于由执行第一DLA模型的第一数目的计算层产生的结果而执行第二DLA模型产生的结果是否具有至少是阈值置信度值的置信度值。
尽管未具体说明,但所述方法可包含,响应于确定基于由执行第一DLA模型的第二数目的计算层产生的结果而执行第二DLA模型产生的结果具有至少是阈值置信度值的置信度值,在编译时间之后且使用第一DLA芯片,对DLA封装接收的数据执行第一DLA模型的第二数目的计算层。所述方法可包含,响应于确定基于由执行第一DLA模型的第一数目的计算层产生的结果而执行第二DLA模型产生的结果具有小于阈值置信度值的置信度值,使用第一DLA芯片对代表性数据执行第一DLA模型的第二数目的计算层。所述第二数目的计算层可包含第一DLA模型的额外计算层或不包含所述第一数目的计算层中的计算层。可基于由对代表性数据执行第一DLA模型的第二数目的计算层产生的结果而使用第二DLA芯片执行第二DLA模型。可确定基于由执行第一DLA模型的第二数目的计算层产生的结果而执行第二DLA模型产生的结果是否具有至少是阈值置信度值的置信度值。
所述方法可包含,响应于确定基于由执行第一DLA模型的第二数目的计算层产生的结果而执行第二DLA模型产生的结果具有至少是阈值置信度值的置信度值,在编译时间之后且使用第一DLA芯片,对DLA封装接收的数据执行第一DLA模型的第二数目的计算层。所述方法可包含,响应于确定基于由执行第一DLA模型的第一数目的计算层产生的结果而执行第二DLA模型产生的结果具有小于阈值置信度值的置信度值,基于由对代表性数据执行第一DLA模型的第二数目的计算层产生的结果,使用第二DLA芯片执行第二DLA模型的数个计算层。所述第二DLA模型的所述数个计算层可包含基于由执行第一DLA模型的第一数目的计算层产生的结果而执行的第二DLA模型的额外计算层或不包含所述第二DLA模型的计算层。
图7说明了可在其内执行用于使得机器执行本文中所论述的各种方法的指令集的示例计算机系统790。在各种实施例中,计算机系统790可对应于包含、耦合到或利用存储器子系统(例如,存储器装置104)或可用于执行控制电路系统的操作的系统(例如,结合图1描述的计算系统100)。在替代实施例中,所述机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可以作为点对点(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器操作。
所述机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定待由所述机器采取的动作的一组指令的任何机器。另外,尽管示出了单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一或多种方法。
示例计算机系统790包含处理装置791、主存储器793(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器797(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统799,其经由总线797彼此通信。
处理装置791表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置791也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置791经配置以执行指令792,以用于执行本文中所论述的操作和步骤。计算机系统790可进一步包含通过网络796通信的网络接口装置795。
数据存储系统799可包含机器可读存储媒体789(也被称为计算机可读媒体),其上存储有一或多个指令集792或体现本文中所描述的任何一或多种方法或功能的软件。指令792还可在其由计算机系统790执行期间完全或至少部分地驻存在主存储器793内和/或处理装置791内,主存储器793和处理装置791也构成机器可读存储媒体。
在一些实施例中,指令792包含用以实施对应于主机102和/或存储器装置104的功能性的指令。可执行指令792以使得机器确定使用第一DLA芯片对代表性数据执行第一DLA模型的计算层是否产生具有至少阈值置信度值的结果。第一DLA芯片可包含第一多个DLA核心。响应于确定第一DLA模型的计算层的执行,可基于由执行第一DLA模型的计算层产生的结果而使用第二DLA芯片执行第二DLA模型。所述第二DLA芯片可包含数量多于所述第一多个DLA核心的第二多个DLA核心。可执行指令792以使得机器在编译时间确定对代表性数据执行第一DLA模型的计算层是否产生具有至少阈值置信度值的结果。可执行指令792以使得机器确定执行第二DLA模型是否提供至少每秒每瓦阈值数量的正确推断(inf/s/w)。
在一些实施例中,可执行指令792以使得机器确定由执行第一DLA模型的第一计算层产生的第一结果的第一置信度值是否至少是阈值置信度值。DLA封装的第一DLA芯片可执行第一DLA模型。可执行指令792以响应于置信度值至少是阈值置信度值,使用第一结果作为输入来执行第一DLA模型的第二计算层。可执行指令792以:在框686处响应于第一置信度值小于阈值置信度值,向第二DLA芯片提供指示唤醒请求的信令,所述第二DLA芯片包括比第一DLA芯片更多数量的DLA核心;以及在框688处,使用结果作为输入来执行第二DLA模型的计算层。第二DLA芯片可执行第二DLA模型。
可执行指令792以确定由执行第一DLA模型的第二计算层产生的第二结果的第二置信度值是否至少是阈值置信度值。可执行指令792以响应于第二置信度值至少是阈值置信度值,可使用第二结果作为输入来执行第一DLA模型的第三计算层。可执行指令792以响应于第二置信度值小于阈值置信度值,向第二DLA芯片提供指示唤醒请求的信令,并且使用第二结果作为输入来执行第二DLA模型的计算层。
尽管机器可读存储媒体789在示例实施例中示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储供机器执行的指令集或对所述指令集进行编码以及使机器执行本公开的方法中的任何一或多种方法的任何媒体。因此,术语“机器可读存储媒体”应被认为包含但不限于固态存储器、光学媒体和磁性媒体。
尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所示的具体实施例。本公开意图涵盖本公开的各种实施例的修改或变化。应理解,以上描述是以说明性方式而非限制性方式进行。对于本领域的一般技术人员而言在审阅上述描述之后上述实施例的组合和本文中未具体描述的其它实施例将为显而易见的。本公开的各种实施例的范围包含使用以上结构和方法的其它应用。因此,本公开的各种实施例的范围应参考所附权利要求书以及这些权利要求书所授予的等效物的完整范围来确定。
在前述具体实施方式中,出于精简本公开的目的而将各种特征一起分组在单个实施例中。本公开的这一方法不应被理解为反映本公开的所公开实施例必须使用比每项权利要求中明确陈述的特征更多的特征的意图。相反,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。
Claims (20)
1.一种方法,其包括:
使用深度学习加速器DLA封装(230)的第一DLA芯片(234、334、434-1、434-2)执行(570)第一DLA模型,其中所述第一DLA芯片具有第一计算能力且所述第一DLA模型具有第一最大精度值;以及
响应于(572)由使用所述第一DLA芯片执行所述第一DLA模型产生的第一结果的精度值小于第一阈值精度值:
向所述DLA封装的第二DLA芯片(236、336、436-1、436-2)直接提供(574)指示所述第一结果的信令,其中所述第二DLA芯片具有大于所述第一计算能力的第二计算能力;以及
使用所述第二DLA芯片且使用所述第一结果作为输入来执行(576)第二DLA模型,其中所述第二DLA模型具有大于所述第一最大精度值的第二最大精度值。
2.根据权利要求1所述的方法,其进一步包括,响应于由使用所述第二DLA芯片(236、336、436-1、436-2)执行所述第二DLA模型产生的第二结果的精度值至少是大于所述第一阈值精度值的第二阈值精度值:
向所述第一DLA芯片(234、334、434-1、434-2)直接提供指示所述第二结果的信令;以及
使用所述第一DLA芯片且使用所述第二结果作为输入来执行所述第一DLA模型。
3.根据权利要求2所述的方法,其进一步包括,在向所述第一DLA芯片(234、334、434-1、434-2)直接提供指示所述第二结果的信令之后,减少提供到所述第二DLA芯片(236、336、436-1、436-2)的电力。
4.一种设备,其包括:
深度学习加速器DLA封装(230),其包括:
第一DLA芯片(234、334、434-1、434-2),其包括第一数量的DLA核心;以及
第二DLA芯片(236、336、436-1、436-2),其包括大于所述第一数量的DLA核心的第二数量的DLA核心,
其中所述第一DLA芯片耦合到所述第二DLA芯片,
其中所述第一DLA芯片经配置以执行具有第一计算能力的第一DLA模型,并且
其中所述第二DLA芯片经配置以执行具有大于所述第一计算能力的第二计算能力的第二DLA模型。
5.根据权利要求4所述的设备,其中所述第一DLA芯片(234、334、434-1、434-2)进一步经配置以向所述第二DLA芯片(236、336、436-1、436-2)提供指示由执行所述第一DLA模型产生的结果的信令,并且
其中所述第二DLA芯片进一步经配置以使用所述结果作为输入来执行所述第二DLA模型。
6.根据权利要求4至5中任一权利要求所述的设备,其中所述DLA封装(230)经配置以,响应于执行所述第一DLA模型产生置信度值小于阈值置信度值的结果:
暂停使用所述第一DLA芯片(234、334、434-1、434-2)执行所述第一DLA模型;使用所述第二DLA芯片(236、336、436-1、436-2)执行所述第二DLA模型。
7.根据权利要求6所述的设备,其中所述DLA封装(230)进一步经配置以,响应于执行所述第二DLA模型产生具有至少所述阈值置信度值的结果:
暂停执行所述第二DLA模型;并且
恢复使用所述第一DLA芯片(234、334、434-1、434-2)执行所述第一DLA模型。
8.一种存储指令的非暂时性机器可读媒体,所述指令能够由处理资源执行以进行以下操作:
确定由执行第一深度学习加速器DLA模型的第一计算层L1产生的第一结果的第一置信度值是否至少是阈值置信度值,其中DLA封装(230)的第一DLA芯片(234、334、434-1、434-2)执行所述第一DLA模型;
响应于所述第一置信度值至少是所述阈值置信度值,使用所述第一结果作为输入来执行所述第一DLA模型的第二计算层L2;以及
响应于所述第一置信度值小于所述阈值置信度值:
向所述DLA封装的第二DLA芯片(236、336、436-1、436-2)提供指示唤醒请求的信令,所述第二DLA芯片包括比所述第一DLA芯片更多数量的DLA核心;以及
使用所述第一结果作为输入且使用所述第二DLA芯片来执行所述第二DLA模型的计算层。
9.根据权利要求8所述的媒体,其进一步存储用以进行以下操作的指令:
确定由执行所述第一DLA模型的所述第二计算层L2产生的第二结果的第二置信度值是否至少是所述阈值置信度值;
响应于所述第二置信度值至少是所述阈值置信度值,使用所述第二结果作为输入来执行所述第一DLA模型的第三计算层L3;以及
响应于所述第二置信度值小于所述阈值置信度值:
向所述第二DLA芯片(236、336、436-1、436-2)提供指示所述唤醒请求的所述信令;以及
使用所述第二结果作为输入来执行所述第二DLA模型的所述计算层。
10.一种系统,其包括:
深度学习加速器DLA封装(230),其包括:
第一深度学习加速器DLA芯片(234、334、434-1、434-2),其包括第一多个DLA核心且经配置以执行第一DLA模型;以及
第二DLA芯片(236、336、436-1、436-2),其耦合到所述第一DLA芯片,并且包括数量多于所述第一多个DLA核心的第二多个DLA核心且经配置以基于由执行所述第一DLA模型产生的结果而执行第二DLA模型;以及
控制电路系统,其耦合所述DLA封装,并且经配置以在通过所述第一DLA芯片执行所述第一DLA模型期间将所述第二DLA芯片维持在低电力状态。
11.根据权利要求10所述的系统,其中所述控制电路系统进一步经配置以向所述DLA封装(230)提供第一信令,以使得所述第二DLA芯片(236、336、436-1、436-2)响应于由执行所述第一DLA模型产生的结果的置信度值小于阈值置信度值退出所述低电力状态,并且
其中所述第一DLA芯片(234、334、434-1、434-2)进一步经配置以响应于由执行所述第一DLA模型产生的所述结果的置信度值小于所述阈值置信度值,向所述第二DLA芯片提供指示由执行所述第一DLA模型产生的所述结果的第二信令。
12.根据权利要求10至11中任一权利要求所述的系统,其中所述第一DLA芯片(234、334、434-1、434-2)包括与所述第一DLA模型的处理要求相对应的第一大小的第一乘法和累加电路MAC阵列,并且
其中所述第二DLA芯片(236、336、436-1、436-2)包括与所述第二DLA模型的处理要求相对应的第二大小的第二MAC阵列,其中所述第二MAC阵列大于所述第一MAC阵列。
13.根据权利要求10至11中任一权利要求所述的系统,其中所述第一DLA芯片(234、334、434-1、434-2)直接耦合到所述第二DLA芯片(236、336、436-1、436-2)。
14.一种存储指令的非暂时性机器可读媒体,所述指令能够由处理资源执行以进行以下操作:
确定使用第一深度学习加速器DLA芯片(234、334、434-1、434-2)对代表性数据执行第一DLA模型的计算层是否产生具有至少阈值置信度值的结果,
其中所述第一DLA芯片包括第一多个DLA核心;
响应于确定执行所述第一DLA模型的所述计算层产生置信度值小于所述阈值置信度值的结果,基于由执行所述第一DLA模型的所述计算层产生的结果而使用第二DLA芯片(236、336、436-1、436-2)执行第二DLA模型,
其中所述第二DLA芯片包括数量多于所述第一多个DLA核心的第二多个DLA核心。
15.根据权利要求14所述的媒体,其进一步存储用以进行以下操作的指令:
在编译时间确定对所述代表性数据执行所述第一DLA模型的所述计算层是否产生具有至少所述阈值置信度值的结果;以及
确定执行所述第二DLA模型是否提供至少每秒每瓦阈值数量的正确推断。
16.一种方法,其包括:
通过以下操作来确定(680)在编译时间之后要对深度学习加速器DLA封装(230)接收的数据执行第一DLA模型的哪些计算层:
在所述编译时间且使用所述DLA封装的第一DLA芯片(234、334、434-1、434-2),对代表性数据执行(681)第一DLA模型的第一数目的计算层;
基于由对所述代表性数据执行所述第一DLA模型的所述第一数目的计算层产生的结果,使用所述DLA封装的所述第二DLA芯片(236、336、436-1、436-2)执行(682)第二DLA模型,
其中所述第一DLA芯片包括第一多个DLA核心并且所述第二DLA芯片包括数量大于所述第一多个DLA核心的第二多个DLA核心;以及
确定(683)基于由执行所述第一DLA模型的所述第一数目的计算层产生的结果而执行所述第二DLA模型产生的结果是否具有至少是阈值置信度值的置信度值。
17.根据权利要求16所述的方法,其进一步包括,响应于确定基于由执行所述第一DLA模型的所述第一数目的计算层产生的所述结果而执行所述第二DLA模型产生的所述结果具有至少是所述阈值置信度值的置信度值:
在所述编译时间之后且使用所述第一DLA芯片(234、334、434-1、434-2),对所述DLA封装(230)接收的数据执行所述第一DLA模型的所述第一数目的计算层;以及
基于由执行所述第一DLA模型的所述第一数目的计算层产生的结果而执行所述第二DLA模型。
18.根据权利要求17所述的方法,其进一步包括,响应于确定基于由执行所述第一DLA模型的所述第一数目的计算层产生的所述结果而执行所述第二DLA模型产生的所述结果具有小于所述阈值置信度值的置信度值:
使用所述第一DLA芯片(234、334、434-1、434-2)对所述代表性数据执行所述第一DLA模型的第二数目的计算层,其中所述第二数目的计算层包含所述第一DLA模型的额外计算层或不包含所述第一数目的计算层中的计算层;
基于由对所述代表性数据执行所述第一DLA模型的所述第二数目的计算层产生的结果,使用所述第二DLA芯片(236、336、436-1、436-2)执行所述第二DLA模型;以及
确定基于由执行所述第一DLA模型的所述第二数目的计算层产生的结果而执行所述第二DLA模型产生的结果是否具有至少是所述阈值置信度值的置信度值。
19.根据权利要求18所述的方法,其进一步包括,响应于确定基于由执行所述第一DLA模型的所述第二数目的计算层产生的所述结果而执行所述第二DLA模型产生的所述结果具有至少是所述阈值置信度值的置信度值:
在所述编译时间之后且使用所述第一DLA芯片(234、334、434-1、434-2),对所述DLA封装(230)接收的数据执行所述第一DLA模型的所述第二数目的计算层。
20.根据权利要求18所述的方法,其进一步包括,响应于确定基于由执行所述第一DLA模型的所述第一数目的计算层产生的所述结果而执行所述第二DLA模型产生的所述结果具有小于所述阈值置信度值的置信度值:
基于由对所述代表性数据执行所述第一DLA模型的所述第二数目的计算层产生的所述结果,使用所述第二DLA芯片(236、336、436-1、436-2)执行所述第二DLA模型的数个计算层,
其中所述数个计算层包含基于由执行所述第一DLA模型的所述第一数目的计算层产生的所述结果而执行的所述第二DLA模型的额外计算层或不包含所述第二DLA模型的计算层。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/315,045 | 2021-05-07 | ||
US17/315,045 US20220358350A1 (en) | 2021-05-07 | 2021-05-07 | Deep learning accelerator models and hardware |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115310601A true CN115310601A (zh) | 2022-11-08 |
Family
ID=83692063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210485781.2A Pending CN115310601A (zh) | 2021-05-07 | 2022-05-06 | 深度学习加速器模型和硬件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220358350A1 (zh) |
CN (1) | CN115310601A (zh) |
DE (1) | DE102022110266A1 (zh) |
-
2021
- 2021-05-07 US US17/315,045 patent/US20220358350A1/en active Pending
-
2022
- 2022-04-27 DE DE102022110266.1A patent/DE102022110266A1/de active Pending
- 2022-05-06 CN CN202210485781.2A patent/CN115310601A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022110266A1 (de) | 2022-11-10 |
US20220358350A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110888826B (zh) | 通过用于机器学习的处理装置对易失性存储器进行的并行存取 | |
EP3754561A1 (en) | Reconfigurable memory compression techniques for deep neural networks | |
US10877752B2 (en) | Techniques for current-sensing circuit design for compute-in-memory | |
US11403111B2 (en) | Reconfigurable processing-in-memory logic using look-up tables | |
US11830574B2 (en) | Dual-port, dual-function memory device | |
KR20200115114A (ko) | 메모리에서 계산 동작들을 수행하기 위한 스케일링가능 아키텍처를 제공하는 기술들 | |
WO2023034327A1 (en) | Unified sequencer concurrency controller for a memory sub-system | |
KR20200131741A (ko) | 메모리에서 매크로 연산을 수행하기 위한 기술 | |
CN115310601A (zh) | 深度学习加速器模型和硬件 | |
US11853558B2 (en) | Power down workload estimation | |
US20220358349A1 (en) | Deep learning accelerator models and hardware | |
US20230229352A1 (en) | Host training indication for memory artificial intelligence | |
US20220180185A1 (en) | Artificial neural network model selection | |
US20230004786A1 (en) | Artificial neural networks on a deep learning accelerator | |
US11762577B2 (en) | Edge compute components under a memory array | |
US20220156560A1 (en) | Artificial neural network bypass compiler | |
US20220156559A1 (en) | Artificial neural network bypass | |
US20230059543A1 (en) | Independent plane architecture in a memory device | |
US11853237B2 (en) | Input/output sequencer instruction set processing | |
US20220343153A1 (en) | Artificial neural network retraining in memory | |
US20240219994A1 (en) | Unified sequencer concurrency controller for a memory sub-system | |
EP4396668A1 (en) | Unified sequencer concurrency controller for a memory sub-system | |
CN116710887A (zh) | 用于训练神经网络的存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |