A method, system, and apparatus for modifying a computational diagram to include a sending node and a receiving node, including a computer program encoded on a computer storage medium. By inserting the sending node and the receiving node into each subgraph, the communication between the unique devices that perform the operation of the different subgraphs of the graph can be effectively processed. When executed, the operations represented by these sending and receiving nodes enable unique device pairs to communicate with each other in a self-sufficient manner. This puts the burden of cooperative communication away from the back end, which provides the opportunity to perform one or more other processes while the device executes a subgraph to handle the representation of the graph.
【技术实现步骤摘要】
【国外来华专利技术】修改计算图
技术介绍
本说明书涉及修改表示神经网络的计算图和/或经修改的计算图在处理模型输入中的应用。神经网络是机器学习模型,其采用一层或多层模型来为接收到的输入生成输出,例如一个或多个分类。一些神经网络除了输出层之外还包含一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即网络的下一个隐藏层或输出层)的输入。网络中的每个层根据该层相应参数集的当前值从接收到的输入生成输出。神经网络的层可以由单个设备处理。该设备可以具有执行诸如从输入生成层的输出的操作的处理器,并且将来自该操作的输出存储在存储器中。由于通常需要在神经网络中生成输出的操作具有大的数量和大小,所以一个设备可能花费大量时间来处理神经网络的层。
技术实现思路
通常,本说明书描述了用于修改表示神经网络和其他机器学习模型的计算图的系统。本说明书中描述的主题的特定实施例可以被实现以便实现以下优点中的一个或多个。神经网络的操作(例如,从输入生成推理或训练神经网络的操作)可以表示为节点和有向边的计算图。系统处理这种计算图表示以有效地执行神经网络的操作。作为说明,可以将计算图的子图指派给独特的设备,其中的每个子设备在相应的子图中执行操作,以减少执行神经网络操作所需的总体时间。通过将发送节点和接收节点插入到每个子图中,可以有效地处理执行计算图的不同子图的操作的独特设备之间的通信。当被执行时,这些发送节点和接收节点表示的操作可以使得独特设备对能够以自给自足的方式彼此进行通信。这将协同通信的负担从后端移开,这为处理这种计算图表示的系统提供了在设备执行子图的同时执行一个或多个其他过程的机会。发送节点和接收节点用作以这样的方式 ...
【技术保护点】
1.一种计算机实现的方法,包括:获得表示计算图的数据,所述计算图包括多个节点和有向边,其中每个节点表示相应操作,并且其中每个有向边将相应第一节点连接至相应第二节点,所述相应第二节点表示接收由所述相应第一节点表示的操作的输出作为输入;获得识别跨多个设备的所述计算图的分配的数据,其中所述分配将所述计算图中的每个节点指派给所述多个设备中的相应设备;识别在所述计算图中的一个或多个跨设备有向边,其中每个跨设备有向边是将相应第一节点连接到相应第二节点的有向边,所述相应第二节点在所述分配中被指派给与所述相应第一节点不同的设备;对于每个跨设备有向边:在所述计算图中的所述相应第一节点和所述相应第二节点之间插入发送节点,在所述操作图中的所述发送节点和所述相应第二节点之间插入接收节点,以及修改所述分配以将所述发送节点指派给与所述相应第一节点相同的设备以及将所述接收节点指派给与所述相应第二节点相同的设备;以及根据所修改的分配将由所述计算图中的节点表示的操作指派给所述多个设备。
【技术特征摘要】
【国外来华专利技术】2015.10.28 US 62/247,713;2015.11.09 US 62/253,0291.一种计算机实现的方法,包括:获得表示计算图的数据,所述计算图包括多个节点和有向边,其中每个节点表示相应操作,并且其中每个有向边将相应第一节点连接至相应第二节点,所述相应第二节点表示接收由所述相应第一节点表示的操作的输出作为输入;获得识别跨多个设备的所述计算图的分配的数据,其中所述分配将所述计算图中的每个节点指派给所述多个设备中的相应设备;识别在所述计算图中的一个或多个跨设备有向边,其中每个跨设备有向边是将相应第一节点连接到相应第二节点的有向边,所述相应第二节点在所述分配中被指派给与所述相应第一节点不同的设备;对于每个跨设备有向边:在所述计算图中的所述相应第一节点和所述相应第二节点之间插入发送节点,在所述操作图中的所述发送节点和所述相应第二节点之间插入接收节点,以及修改所述分配以将所述发送节点指派给与所述相应第一节点相同的设备以及将所述接收节点指派给与所述相应第二节点相同的设备;以及根据所修改的分配将由所述计算图中的节点表示的操作指派给所述多个设备。2.根据权利要求1所述的方法,其中:所述发送节点表示以下操作:(i)接收由所述相应第一节点表示的操作的输出作为输入,并且(ii)将由所述相应第一节点表示的操作的输出作为输出提供给所述接收节点;以及所述接收节点表示以下操作:(i)接收由所述发送节点表示的操作的输出作为输入,并且(ii)将由所述发送节点表示的操作的输出作为输出提供给所述相应第二节点。3.根据权利要求2所述的方法,其中,由所述相应第一节点表示的操作的输出是张量。4.根据权利要求2或3所述的方法,其中:由所述接收节点表示的操作进一步(iii)向所述发送节点提供将由所述发送节点表示的操作的输出作为输出的请求;以及由所述发送节点表示的操作进一步(ii)响应于从所述接收节点接收到的一个或多个请求,将由所述相应第一节点表示的操作的输出作为输出提供给所述接收节点。5.根据权利要求1、2、3或4所述的方法,其中,获得识别跨所述多个设备的所述计算图的所述分配的数据包括:获得识别跨在一个或多个机器中包括的硬件资源的所述计算图的分配的数据。6.根据权利要求5所述的方法,其中,发送节点和接收节点对中的每个节点表示操作,该操作接收根据与该发送节点和接收节点对被指派给的每个硬件资源和机器对应的协议进行通信的对中的另一节点表示的操作的输出作为输入。7.根据任一前述权利要求所述的方法,其中:在所述计算图中的所述相应第一节点和所述相应第二节点之间插入所述发送节点进一步包括对于每个跨设备有向边:在所述发送节点和所述相应第一节点之间插入有向边;以及在所述操作图中的所述发送节点和所述相应第二节点之间插入所述接收节点进一步包括对于每个跨设备有向边:在所述接收节点和所述相应第二节点之间插入有向边。8.根据任一前述权利要求所述的方法,其中,数据在由发送节点和接收节点对中的每个节点表示的操作之间独立交换。9.根据任一前述权利要求所述的方法,其中,在由所述多个设备执行由所述计算图表示的操作期间,由每个发送节点和接收节点对表示的操作允许所述多个设备在所述多个设备中的设备之间独立地通信由计算图中的其他节点所表示的操作的输入和输出。10.根据任一前述权利要求所述的方法,进一步包括:接收模型输入;以及根据由所修改的计算图表示的操作来处理所述模型输入。11.一种方法,包括:提供与由权利要求1至9中的任一项所述的方法获得的所修改的计算图对应的机器学习模型;并使用所述机器学习模型来处理模型输入。12.根据前述权利要求中的任一项所述的方法,其中,所述计算图是机器学习模型的表示。13.一种系统,包括:一个或多个数据处理装置;以及其上存储有指令的计算机可读存储设备,所述指令在由所述一个或多个数据处理装置执行时使所述一个或多个数据处理装置执行操作,所述操作包括:获得表示计算图的数据,所述计算图包括多个节点和有向边,其中每个节点表示相应操作,并且其中每个有向边将相应第一节点连接至相应第二节点,所述相应第二节点表示接收由所述相应第一节点表示的操作的输出作为输入;获得识别跨多个设备的所述计算图的分配的数据,其中所述分配将所述计算图中的每个节点指派给所述多个设备中的相应设备;识别在所述计算图中的一个或多个跨设备有向边,其中每个跨设备有向边是将相应第一节点连接到相应第二节点的有向边,所述相应第二节点在所述分配中被指派给与所述相应第一节点不同的设备;对于每个跨设备有向边:在所述计算图中的所述相应第一节点和所述相应第二节点之间插入发送节点,在所述操作图中的所述发送节点和所述相应第二节点之间插入接收节点,以及修改所述分配以将所述发送节点指派给与所述相应第一节点相同的设备以及将所述接收节点指派给与所述相应第二节点相同的设备;以及根据所修改的分配将由所述计算图中的节点表示的操作指派给所述多个设备。14.根据权利要求13所述的系统,其中:所述发送节点表示以下操作:(i)接收由所述相应第一节点表示的操作的输出作为输入,并且(ii)将由所述相应第一节点表示的操作的输出作为输出提供给所述接收节点;以及所述接收节点表示以下操作:(i)接收由所述发送节点表示的操作的输出作为输入,并且(ii)将由所述发送节点表示的操作的输出作为输出提供给...
【专利技术属性】
技术研发人员:维贾伊·瓦苏德万,杰弗里·阿德盖特·迪恩,桑贾伊·格赫玛瓦特,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。