-
公开(公告)号:US11769061B2
公开(公告)日:2023-09-26
申请号:US16898971
申请日:2020-06-11
Applicant: Google LLC
Inventor: Paul A. Tucker , Jeffrey Adgate Dean , Sanjay Ghemawat , Yuan Yu
CPC classification number: G06N3/098 , G06F9/5038 , G06F9/5066 , G06N3/045 , G06N3/063 , G06N3/08 , G06N3/084 , G06N20/00 , G06N5/048
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a request from a client to process a computational graph; obtaining data representing the computational graph, the computational graph comprising a plurality of nodes and directed edges, wherein each node represents a respective operation, wherein each directed edge connects a respective first node to a respective second node that represents an operation that receives, as input, an output of an operation represented by the respective first node; identifying a plurality of available devices for performing the requested operation; partitioning the computational graph into a plurality of subgraphs, each subgraph comprising one or more nodes in the computational graph; and assigning, for each subgraph, the operations represented by the one or more nodes in the subgraph to a respective available device in the plurality of available devices for operation.
-
公开(公告)号:US10534997B2
公开(公告)日:2020-01-14
申请号:US15965742
申请日:2018-04-27
Applicant: Google LLC
Inventor: Paul A. Tucker , Jeffrey Adgate Dean , Sanjay Ghemawat , Yuan Yu
IPC: G06E1/00 , G06E3/00 , G06F15/18 , G06G7/00 , G06N3/08 , G06F9/50 , G06N3/063 , G06N3/04 , G06N5/04
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a request from a client to process a computational graph; obtaining data representing the computational graph, the computational graph comprising a plurality of nodes and directed edges, wherein each node represents a respective operation, wherein each directed edge connects a respective first node to a respective second node that represents an operation that receives, as input, an output of an operation represented by the respective first node; identifying a plurality of available devices for performing the requested operation; partitioning the computational graph into a plurality of subgraphs, each subgraph comprising one or more nodes in the computational graph; and assigning, for each subgraph, the operations represented by the one or more nodes in the subgraph to a respective available device in the plurality of available devices for operation.
-
公开(公告)号:US10970628B2
公开(公告)日:2021-04-06
申请号:US15347618
申请日:2016-11-09
Applicant: Google LLC
Inventor: Yuan Yu , Manjunath Kudlur Venkatakrishna
Abstract: Systems and Methods for training a neural network represented as a computational graph are disclosed. An example method begins with obtaining data representing a computational graph. The computational graph is then augmented to generate a training computational graph for training the neural network using a machine learning training algorithm that includes computing a gradient of an objective function with respect to each of the parameters of the neural network. Augmenting the computational graph includes inserting a plurality of gradient nodes and training edges into the computational graph to generate a backward path through the computational graph that represents operations for computing the gradients of the objective function with respect to the parameters of the neural network. The neural network is trained using the machine learning training algorithm by executing the training computational graph.
-
公开(公告)号:US12217177B1
公开(公告)日:2025-02-04
申请号:US18232635
申请日:2023-08-10
Applicant: Google LLC
Inventor: Yuan Yu , Jeffrey Adgate Dean
Abstract: Systems and methods for processing loops in computational graphs representing machine learning models are disclosed. An example method begins with obtaining data representing a computational graph. Data identifying an allocation of the computational graph across devices is obtained. Additionally, one or more nodes in the computational graph that represent a respective control flow statement are identified. For each identified node, a structure of nodes and edges that represents an operation that provides a current state of recursion or iteration in the respective control flow statement is generated. This structure is inserted into the computational graph and the allocation of nodes to devices is modified to assign the structure to a device.
-
公开(公告)号:US20180247197A1
公开(公告)日:2018-08-30
申请号:US15965742
申请日:2018-04-27
Applicant: Google LLC
Inventor: Paul A. Tucker , Jeffrey Adgate Dean , Sanjay Ghemawat , Yuan Yu
CPC classification number: G06N3/08 , G06F9/5038 , G06F9/5066 , G06N3/0454 , G06N3/063 , G06N3/084 , G06N5/048
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a request from a client to process a computational graph; obtaining data representing the computational graph, the computational graph comprising a plurality of nodes and directed edges, wherein each node represents a respective operation, wherein each directed edge connects a respective first node to a respective second node that represents an operation that receives, as input, an output of an operation represented by the respective first node; identifying a plurality of available devices for performing the requested operation; partitioning the computational graph into a plurality of subgraphs, each subgraph comprising one or more nodes in the computational graph; and assigning, for each subgraph, the operations represented by the one or more nodes in the subgraph to a respective available device in the plurality of available devices for operation.
-
公开(公告)号:US10769521B1
公开(公告)日:2020-09-08
申请号:US15346626
申请日:2016-11-08
Applicant: Google LLC
Inventor: Yuan Yu , Jeffrey Adgate Dean
Abstract: Systems and methods for processing loops in computational graphs representing machine learning models are disclosed. An example method begins with obtaining data representing a computational graph. Data identifying an allocation of the computational graph across devices is obtained. Additionally, one or more nodes in the computational graph that represent a respective control flow statement are identified. For each identified node, a structure of nodes and edges that represents an operation that provides a current state of recursion or iteration in the respective control flow statement is generated. This structure is inserted into the computational graph and the allocation of nodes to devices is modified to assign the structure to a device.
-
公开(公告)号:US20240160948A1
公开(公告)日:2024-05-16
申请号:US18235632
申请日:2023-08-18
Applicant: Google LLC
Inventor: Paul A. Tucker , Jeffrey Adgate Dean , Sanjay Ghemawat , Yuan Yu
CPC classification number: G06N3/098 , G06F9/5038 , G06F9/5066 , G06N3/045 , G06N3/063 , G06N3/08 , G06N3/084 , G06N20/00 , G06N5/048
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a request from a client to process a computational graph; obtaining data representing the computational graph, the computational graph comprising a plurality of nodes and directed edges, wherein each node represents a respective operation, wherein each directed edge connects a respective first node to a respective second node that represents an operation that receives, as input, an output of an operation represented by the respective first node; identifying a plurality of available devices for performing the requested operation; partitioning the computational graph into a plurality of subgraphs, each subgraph comprising one or more nodes in the computational graph; and assigning, for each subgraph, the operations represented by the one or more nodes in the subgraph to a respective available device in the plurality of available devices for operation.
-
公开(公告)号:US11763146B1
公开(公告)日:2023-09-19
申请号:US16986974
申请日:2020-08-06
Applicant: Google LLC
Inventor: Yuan Yu , Jeffrey Adgate Dean
Abstract: Systems and methods for processing loops in computational graphs representing machine learning models are disclosed. An example method begins with obtaining data representing a computational graph. Data identifying an allocation of the computational graph across devices is obtained. Additionally, one or more nodes in the computational graph that represent a respective control flow statement are identified. For each identified node, a structure of nodes and edges that represents an operation that provides a current state of recursion or iteration in the respective control flow statement is generated. This structure is inserted into the computational graph and the allocation of nodes to devices is modified to assign the structure to a device.
-
公开(公告)号:US20210295161A1
公开(公告)日:2021-09-23
申请号:US17221305
申请日:2021-04-02
Applicant: Google LLC
Inventor: Yuan Yu , Manjunath Kudlur Venkatakrishna
Abstract: Systems and Methods for training a neural network represented as a computational graph are disclosed. An example method begins with obtaining data representing a computational graph. The computational graph is then augmented to generate a training computational graph for training the neural network using a machine learning training algorithm that includes computing a gradient of an objective function with respect to each of the parameters of the neural network. Augmenting the computational graph includes inserting a plurality of gradient nodes and training edges into the computational graph to generate a backward path through the computational graph that represents operations for computing the gradients of the objective function with respect to the parameters of the neural network. The neural network is trained using the machine learning training algorithm by executing the training computational graph.
-
公开(公告)号:US10860925B2
公开(公告)日:2020-12-08
申请号:US15337744
申请日:2016-10-28
Applicant: Google LLC
Inventor: Paul A. Tucker , Jeffrey Adgate Dean , Sanjay Ghemawat , Yuan Yu
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a request from a client to process a computational graph; obtaining data representing the computational graph, the computational graph comprising a plurality of nodes and directed edges, wherein each node represents a respective operation, wherein each directed edge connects a respective first node to a respective second node that represents an operation that receives, as input, an output of an operation represented by the respective first node; identifying a plurality of available devices for performing the requested operation; partitioning the computational graph into a plurality of subgraphs, each subgraph comprising one or more nodes in the computational graph; and assigning, for each subgraph, the operations represented by the one or more nodes in the subgraph to a respective available device in the plurality of available devices for operation.
-
-
-
-
-
-
-
-
-