服务器上深度神经网络划分制造技术

技术编号:17310191 阅读:49 留言:0更新日期:2018-02-19 10:04
提供了一种用于在服务器部件上实现深度神经网络的方法,该服务器部件包括主机部件和耦合到主机部件的硬件加速部件,主机部件包括CPU。深度神经网络包括多个层。该方法包括将深度神经网络划分成第一片段和第二片段,第一片段包括多个层的第一子集,第二片段包括多个层的第二子集,配置主机部件来实现第一片段,并配置硬件加速部件来实现第二片段。

Deep neural network partition on server

A method for realizing deep neural network on server components is provided, which includes host components and hardware acceleration components coupled to main components. Host components include CPU. The deep neural network consists of multiple layers. The method includes the depth of the neural network is divided into the first segment and the second segment, the first segment includes a first subset of the plurality of layers, second fragments including second subset of the plurality of layers, configure the host components to achieve the first fragment, and configure the hardware accelerator to achieve second fragments.

【技术实现步骤摘要】
【国外来华专利技术】服务器上深度神经网络划分
技术介绍
计算行业寻求提高软件驱动的计算设备的速度和效率。软件驱动的计算设备采用以传统的时间方式处理机器可读指令的一个或多个中央处理单元(CPU)。硬件加速部件(例如,现场可编程门阵列(FPGA))已用于补充由软件驱动的计算设备执行的处理。
技术实现思路
根据第一方面,提供了一种用于在服务器部件上实现深度神经网络的方法,所述服务器部件包括具有CPU的主机部件和耦合到所述主机部件的硬件加速部件。所述深度神经网络包括多个层。所述方法包括:将所述深度神经网络划分为第一片段和第二片段,所述第一片段包括所述多个层的第一子集,所述第二片段包括所述多个层的第二子集;配置所述主机部件来实现第一片段;并且配置所述硬件加速部件来实现第二片段。根据第二方面,提供了一种服务器部件,被配置为实现包括多个层的深度神经网络。该服务器部件包括具有CPU的主机部件,耦合到主机部件的硬件加速部件,以及控制器部件。控制器部件被配置为将深度神经网络划分为第一片段和第二片段,第一片段包括多个层的第一子集,第二片段包括多个层的第二子集,配置主机部件来实现第一片段,并配置硬件加速部件来实现第二片段。根据第三方面,提供了一种用于在服务器部件上实现深度神经网络的方法,所述服务器部件包括具有CPU的主机部件和耦合到所述主机部件的硬件加速部件,所述深度神经网络包括多个线性层和多个卷积层。该方法包括配置主机部件来实现线性层,并配置硬件加速部件来实现卷积层。上面概括的功能可以表现在各种类型的系统、设备、部件、方法、计算机可读存储介质、数据结构、图形用户界面演示、制品等中。提供本
技术实现思路
是为了以简化形式介绍概念的选择;这些概念在下面的详细描述中进一步描述。本
技术实现思路
并不旨在识别所要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求保护的技术方案的范围。附图说明图1示出了包括软件平面和硬件加速平面的数据处理系统的概况。图2示出了图1的数据处理系统的操作的第一示例。图3示出了图1的数据处理系统的操作的第二示例。图4示出了图1的数据处理系统对应于数据中心的一个实现方式。图5是图4的数据中心实现方式的更全面的描述。图6示出了与图4所示相比实现服务器单元部件的替代方式。图7示出了与图4所示相比实现服务器单元部件的另一方式。图8示出了与图1所示相比的替代数据处理系统,例如,与图1所示相比它使用不同的网络基础设施。图9是示出图1的数据处理系统的一种操作方式的流程图。图10示出了用于管理图1的数据处理系统的管理功能的一种实现方式的概述。图11提供了作为图10的管理功能的部件的服务映射部件的一种请求驱动的操作方式的概述。图12-15示出了用于处理驻留在主机部件上的租户功能实例所做的对服务的请求的各个不同选项。图16提供了图10的服务映射部件的另一背景相关的操作方式的概述。图17-20示出了用于物理实现图10的管理功能的不同的相应架构。图21-24示出了用于在图1的数据处理系统中配置硬件加速部件的各个不同的相应策略。图25示出了实现图1的硬件加速部件的一种方式。图26示出了包括分离的可配置域的硬件加速部件。图27示出了用于执行在本地主机部件和关联的本地硬件加速部件之间的数据传输的功能。图28示出了图25中引入的路由器的一种实现方式。图29示出了图25中引入的传输部件的一种实现方式。图30示出了图25中引入的3端口交换机的一种实现方式。图31示出了图1中所示的主机部件的一种实现方式。图32提供了用于生成和应用多部件服务的功能的概述;该功能反过来包括多部件管理部件。图33示出了可以由图32的功能产生和应用的硬件加速部件的一种类型的集合。图34示出了可以由图32的功能产生和应用的硬件加速部件的另一种类型的集合。图35示出了产生多部件服务的功能解析部件的一种实现方式。图36示出了使用硬件加速部件的集合实现的说明性多部件服务的更详细的示例。图37示出了在图36的多部件服务的阶段之一中执行处理的功能。图38示出了用于交换图36的硬件加速部件的集合中的模型的功能,以适应与不同模型相关联的请求。图39是示出图35的功能解析部件的一种操作方式的流程图。图40是示出实现多部件服务的硬件加速部件集合内的一个硬件加速部件的操作的流程图。图41是示出在实现多部件服务的硬件加速部件的集合中处理故障的一种方式的流程图。图42是描绘三维卷积神经网络的图。图43A-43D示出了示例性卷积运算。图44示出了被配置为实现卷积层的示例性加速部件。图45示出了将输入数据分割成水平切片的示例。图46是图44的加速部件的示例性功能单元的框图。图47示出了被配置为实现多个卷积层的示例性加速部件。图48是操作图47的加速部件的示例过程。图49示出了被配置为实现多个卷积层的另一示例加速部件。图50是描绘深度神经网络的图。图51是在服务器单元部件上实现深度神经网络的框图。图52是用于分割深度神经网络的示例过程。在整个公开和附图中使用相同的标记来指代类似的部件和特征。系列100号码是指最初在图1中发现的特征,系列200号码是指最初在图2中发现的特征。系列300号码是指最初在图3中发现的特征,等等。具体实施方式本公开描述了包括硬件加速平面和软件平面的示例性数据处理系统。描述了包括软件平面中的软件部件和硬件加速平面中的硬件加速部件的示例性服务器部件。一个或多个服务器部件可以被配置为通过将深度神经网络划分为第一片段和第二片段来实现深度神经网络。第一片段可以在一个或多个软件部件上实现,而第二片段可以在一个或多个服务器部件上的一个或多个硬件加速部件上实现。作为初步的问题,一些附图描述了一个或多个结构部件的上下文中的概念,被不同地称为功能、模块、特征、元件等。附图中示出的各种部件可以以任何方式通过任何物理和有形机构实现,例如,通过在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等和/或其任何组合。在一种情况下,在附图中将各个部件单独示出为不同的单元可以反映在实际实现方式中对应的不同物理和有形部件的使用。替代地或另外,附图中示出的任何单个部件可以由多于一个的实际物理部件来实现。替代地或另外,附图中的任何两个或更多个分离部件的描述可以反映由单个实际物理部件执行的不同功能。其他附图以流程图的形式描述了这些概念。在这种形式中,某些操作被描述为构成以特定次序执行的不同框。这种实现方式是说明性的而非限制性的。本文中描述的某些框可以被分组到一起并且在单个操作中被执行,某些框可以被分解成多个部件框,并且某些框可以以与这里示出的次序不同的次序执行(包括执行这些框的并行方式)。流程图中示出的框可以通过任何物理和有形机制以任何方式实现,例如通过在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等和/或其任何组合来实现。就术语而言,短语“被配置为”包含任何种类的物理和有形功能可以被构建为执行识别出的操作的任何方式。该功能可以被配置为使用例如在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等和/或其任何组合来执行操作。术语“逻辑”包含用于执行任务的任何物理和有形的功能。例如,流程图中所示的每个操作对应于用于执行该操作的逻辑部件。可以使用例如在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等和/或本文档来自技高网
...
服务器上深度神经网络划分

【技术保护点】
一种用于在服务器部件上实现深度神经网络的方法,所述服务器部件包括主机部件和耦合到所述主机部件的硬件加速部件,所述主机部件包括CPU,所述深度神经网络包括多个层,所述方法包括:将所述深度神经网络划分为第一片段和第二片段,所述第一片段包括所述多个层的第一子集,所述第二片段包括所述多个层的第二子集;配置所述主机部件以实现所述第一片段;以及配置所述硬件加速部件以实现所述第二片段。

【技术特征摘要】
【国外来华专利技术】2015.06.29 US 14/754,3841.一种用于在服务器部件上实现深度神经网络的方法,所述服务器部件包括主机部件和耦合到所述主机部件的硬件加速部件,所述主机部件包括CPU,所述深度神经网络包括多个层,所述方法包括:将所述深度神经网络划分为第一片段和第二片段,所述第一片段包括所述多个层的第一子集,所述第二片段包括所述多个层的第二子集;配置所述主机部件以实现所述第一片段;以及配置所述硬件加速部件以实现所述第二片段。2.根据权利要求1所述的方法,其中:所述多个层包括线性层和卷积层;所述第一片段包括所述线性层;并且所述第二片段包括所述卷积层。3.根据权利要求1所述的方法,其中:所述多个层包括线性层和多个卷积层;所述第一片段包括所述线性层;以及所述第二片段包括所述多个卷积层。4.根据权利要求3所述的方法,其中所述多个层还包括非线性函数和池化层,并且所述第二片段包括所述非线性函数和池化层。5.根据权利要求1所述的方法,其中:所述多个层包括具有第一存储器带宽要求的第一层和具有第二存储器带宽要求的第二层;所述第一片段包括所述第一层;并且所述第二片段包括所述第二层。6.根据权利要求1所述的方法,其中所述硬件加速部件包括以下中的一个或多个:现场可编程门阵列设备、大规模并行处理器阵列设备、图形处理单元以及专用集成电路。7.根据权利要求1所述的方法,其中所述...

【专利技术属性】
技术研发人员:E·钟K·施特劳斯K·奥恰洛夫JY·金O·鲁瓦瑟
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1