利用模型固定的神经网络处理制造技术

技术编号:22334434 阅读:32 留言:0更新日期:2019-10-19 13:06
提供了用于神经网络处理的系统和方法。提供了一种在系统中的方法,该系统包括经由网络互连的多个节点,其中每个节点包括多个片上存储器块和多个计算单元。该方法包括在服务激活时接收与神经网络模型相对应的N×M矩阵系数。该方法包括将与神经网络模型相对应的系数加载到多个片上存储器块中以供多个计算单元处理。该方法包括:无论是否有对多个片上存储器块的利用作为神经网络模型的评估的一部分,都在多个片上存储器块中维持与神经网络模型相对应的系数直到服务被中断或神经网络模型被修改或替换。

Neural network processing with fixed model

【技术实现步骤摘要】
【国外来华专利技术】利用模型固定的神经网络处理
技术介绍
神经网络技术被用来执行诸如阅读理解、语言转换或语音识别之类的复杂任务。虽然神经网络可以执行这样的任务,但是使用通用CPU或通用GPU来部署神经网络是很昂贵的。另外,虽然相对于CPU,GPU提供增加的吞吐量,但它们具有较差的延迟。
技术实现思路
在一个示例中,本公开涉及一种用于评估与系统中的服务相对应的神经网络模型的方法,该系统包括经由网络互连的多个节点,其中每个节点包括多个片上存储器块和多个计算单元。该方法可以包括在服务激活时接收与神经网络模型相对应的N×M矩阵系数,其中N是等于或大于8的整数,并且M是等于或大于8的整数。该方法还可以包括:将与神经网络模型相对应的N×M矩阵系数加载到多个片上存储器块中,以用于由多个计算单元处理。该方法可以进一步包括,无论是否有对多个片上存储器块的利用作为神经网络模型的评估的一部分,都在多个片上存储器块中维持与多个神经网络模型相对应的N×M矩阵系数,直到服务被中断或神经网络模型被修改或替换。在另一示例中,本公开涉及一种用于评估与系统中的服务相对应的神经网络模型的方法,该系统包括经由网络互连的多个节点,其中每个节点包括多个片上存储器块和多个计算单元。该方法可以包括,在服务激活时,将神经网络模型分区成分离的层,其中每个层包括与神经网络模型相对应的N×M系数矩阵,其中N是等于或大于8的整数,并且M是等于或大于8的整数。该方法还可以包括将与神经网络模型相对应的N×M矩阵系数加载到多个片上存储器块中,以用于由多个计算单元处理。该方法可以进一步包括,无论是否有对多个片上存储器块的利用作为神经网络模型的评估的一部分,都在多个片上存储器块中维持与神经网络模型相对应的N×M矩阵系数,直到服务被中断或神经网络模型被修改或替换。在又一示例中,本公开涉及一种用于评估与服务相对应的神经网络模型的系统,其包括经由网络互连的多个节点,其中每个节点包括多个片上存储器块和多个计算单元。每个节点可以被配置为在服务激活时,接收与神经网络模型相对应的N×M矩阵系数,其中N是等于或大于8的整数,并且M是等于或大于8的整数。每个节点可以进一步被配置为将与神经网络模型相对应的N×M矩阵系数加载到多个片上存储器块中,以用于由多个计算单元处理。每个节点还可以被配置为,无论是否有对多个片上存储器块的利用作为神经网络模型的评估的一部分,都在多个片上存储器块中维持与神经网络模型相对应的N×M矩阵系数,直到服务被中断或神经网络模型被修改或替换。提供本
技术实现思路
是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本
技术实现思路
不旨在标识所要求保护的主题内容的关键特征或必要特征,也不旨在用以限制所要求保护的主题内容的范围。附图说明通过示例说明了本公开,并且本公开不被附图所限制,其中相同的附图标记指示类似的元件。附图中的元件是为了简单和清楚起见而被图示,并且不一定被按比例绘制。图1是根据一个示例的包括经由数据中心网络互连的节点的系统的框图;图2是根据一个示例的包括分布式节点的系统的框图;图3是根据一个示例的硬件节点的框图;图4是根据一个示例的神经功能性单元的框图;图5A和图5B示出了根据另一示例的神经功能单元的框图;图6示出了根据一个示例的用于执行神经网络处理的硬件节点(例如,FPGA)的框图;图7示出了根据一个示例的用于执行神经网络处理的区片(tile)布置的框图;图8示出了根据一个示例的处理元件的框图;图9示出了包括区片矩阵的节点的示例实现;图10示出了根据一个示例的多功能单元的框图;图11示出了根据一个示例的针对神经网络评估的数据流图形;图12示出了根据一个示例的由神经功能单元对指令链的示例处理;图13示出了根据一个示例的针对神经网络评估的数据流图形;图14示出了根据一个示例的可以如何使用硬件节点(例如,FPGA)处理指令链的示意图;和图15示出了根据一个示例的用于固定神经网络模型的方法的流程图。具体实施方式本公开中所公开的示例涉及使用用于实现基于神经网络的处理的系统、方法和组件。某些示例涉及深度神经网络(DNN)。DNN可以是用于深度学习的任何合适的神经网络。本公开中的附加示例涉及作为被用来实现DNN或类似神经网络的节点的一部分而被包括的功能单元。可以使用现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可擦除和/或复杂可编程逻辑器件(PLD)、可编程阵列逻辑(PAL)器件和通用阵列逻辑(GAL)器件的部分或组合来实现节点。图像文件可以被用来配置或重新配置诸如FPGA之类的节点。可以经由网络链路或来自主机CPU的本地链路(例如,PCIe)来递送图像文件或类似文件或程序。包括在图像文件中的信息可以被用来对节点的硬件块(例如,FPGA的逻辑块和可重新配置的互连)进行编程以实现期望的功能性。可以实现期望的功能性以支持可以经由计算、联网和存储资源的组合来提供的任何服务,诸如经由数据中心或用于递送服务的其他基础设施。在一个示例中,本公开涉及DNN,其包括经由低延迟网络彼此耦合的多个节点(例如,FPGA)或这样节点的群组。利用数百到数千个这样的节点(例如,FPGA)的聚合平台可以有利地提供:(1)通过利用跨数十万个节点的并行性而显著地减少训练时间,(2)实现新的训练场景,诸如对实时数据的原位在线学习,以及(3)前所未有的规模的训练模型,同时在跨越数十万个服务器的超大规模数据中心内利用灵活且可互换的同类FPGA资源。在一个示例中,可以通过利用非常规数据表示来获得这样的优点,该非常规数据表示可以利用诸如FPGA之类的节点的架构。所描述的方面还可以在云计算环境中被实现。云计算可以是指用于实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中使用云计算来提供对可配置计算资源的共享池的普遍且方便的按需访问。可配置计算资源的共享池可以经由虚拟化而被快速供应,并以低管理工作量或服务提供者交互而被发布,然后相应地被扩展。云计算模型可以由各种特性组成,诸如例如,按需自助服务、广泛的网络访问、资源池、快速弹性、测量的服务等。云计算模型可以被用来暴露各种服务模型,诸如例如,硬件即服务(“HaaS”)、软件即服务(“SaaS”)、平台即服务(“PaaS”)、以及基础架构即服务(“IaaS”)。还可以使用不同的部署模型来部署云计算模型,诸如私有云、社区云、公共云、混合云等。可以使用本公开中描述的系统和节点来实现机器学习服务,诸如基于递归神经网络(RNN)、长短期记忆(LSTM)神经网络或门控递归单元(GRU)的那些机器学习服务。在一个示例中,可以将与服务相关的内容或其他信息(诸如单词、句子、图像、视频或其他此类内容/信息)转换成矢量表示。矢量表示可以对应于诸如RNN、LSTM或GRU之类的技术。可以在服务初始化之前离线训练深度学习模型,然后可以使用本公开中描述的系统和节点来部署深度学习模型。节点可以是硬件可编程逻辑设备,其可以被专门定制以执行在诸如DNN之类的神经网络的上下文中发生的操作的类型。在一个示例中,神经网络模型的状态和被用来控制模型的参数可以被固定到包括分布式硬件平台的节点的片上存储器。可以在服务启动时将神经网络模型固定(例如,预加载)到片上存储器,并且可以不更改片上存储器本文档来自技高网
...

【技术保护点】
1.一种用于评估与系统中的服务相对应的神经网络模型的方法,所述系统包括经由网络互连的多个节点,其中每个节点包括多个片上存储器块和多个计算单元,所述方法包括:在服务激活时,将所述神经网络模型分区成分离的层,其中每个层包括与所述神经网络模型相对应的N×M矩阵系数,其中N是等于或大于8的整数,并且M是等于或大于8的整数;将与所述神经网络模型相对应的所述N×M矩阵系数加载到所述多个片上存储器块中,以用于由所述多个计算单元处理;以及无论是否有对所述多个片上存储器块的利用作为所述神经网络模型的评估的一部分,都在所述多个片上存储器块中维持与所述神经网络模型相对应的所述N×M矩阵系数,直到所述服务被中断或所述神经网络模型被修改或替换。

【技术特征摘要】
【国外来华专利技术】2017.02.28 US 62/465,063;2017.06.29 US 15/637,6641.一种用于评估与系统中的服务相对应的神经网络模型的方法,所述系统包括经由网络互连的多个节点,其中每个节点包括多个片上存储器块和多个计算单元,所述方法包括:在服务激活时,将所述神经网络模型分区成分离的层,其中每个层包括与所述神经网络模型相对应的N×M矩阵系数,其中N是等于或大于8的整数,并且M是等于或大于8的整数;将与所述神经网络模型相对应的所述N×M矩阵系数加载到所述多个片上存储器块中,以用于由所述多个计算单元处理;以及无论是否有对所述多个片上存储器块的利用作为所述神经网络模型的评估的一部分,都在所述多个片上存储器块中维持与所述神经网络模型相对应的所述N×M矩阵系数,直到所述服务被中断或所述神经网络模型被修改或替换。2.根据权利要求1所述的方法,其中所述节点包括现场可编程门阵列(FPGA),并且其中所述多个片上存储器块中的每个片上存储器块包括静态随机存取存储器块。3.根据权利要求2所述的方法,其中所述多个计算单元中的每个计算单元包括所述FPGA上的预先配置的资源集。4.根据权利要求1所述的方法,其中所述多个片上存储器块按行布置,并且其中所述多个计算单元中的每个计算单元被配置为在每个时钟周期处理所述行中的至少一行的至少一个子集。5.根据权利要求1所述的方法,其中将与所述神经网络模型相对应的所述N×M矩阵系数加载到所述多个片上存储器块中包括:经由广播块将与所述N×M矩阵系数相对应的数据流式传输到所述多个片上存储器块中,所述N×M矩阵系数对应于所述神经网络模型。6.根据权利要求5所述的方法,其中所述流式传输不包括响应于与所述N×M矩阵系数相关联的任何操作,...

【专利技术属性】
技术研发人员:E·S·钟D·C·伯格J·弗沃斯K·奥恰洛夫
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1