# US 2019/0318268 A1 · Distributed machine learning at edge nodes

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0318268 A1
- Document ID: US20190318268A1
- Status: Published application
- Kind: A1
- Application number: 15/952,625
- Filed: 2018-04-13
- Published: 2019-10-17
- Earliest claimed: 2018-04-13
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Shiqiang Wang; Tiffany Tuor; Theodoros Salonidis; Christian Makaya; Bong Jun KO
- Web page: https://patentgrep.com/patent/US20190318268A1

## CPC

- G06N 20/00: Machine learning
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A training process of a machine learning model is executed at the edge node for a number of iterations to generate a model parameter based at least in part on a local dataset and a global model parameter. A resource parameter set indicative of resources available at the edge node is estimated. The model parameter and the resource parameter set are sent to a synchronization node. Updates to the global model parameter and the number of iterations are received from the synchronization node based at least in part on the model parameter and the resource parameter set of edge nodes. The training process of the machine learning model is repeated at the edge node to determine an update to the model parameter based at least in part on the local dataset and updates to the global model parameter and the number of iterations from the synchronization node.

## Claims

### Claim 1

A computer-implemented method for distributed machine learning at an edge node of a distributed computer system, the method comprising:
executing, by the edge node, a training process of a machine learning model for a number of iterations to generate a model parameter based at least in part on a local dataset of the edge node and a global model parameter of the distributed computer system;
estimating, by the edge node, a resource parameter set indicative of a plurality of resources available at the edge node;
sending the model parameter and the resource parameter set to a synchronization node of the distributed computing system;
receiving at the edge node updates to the global model parameter and the number of iterations from the synchronization node based at least in part on the model parameter and the resource parameter set of a plurality of edge nodes of the distributed computer system; and
repeating the training process of the machine learning model at the edge node to determine an update to the model parameter based at least in part on the local dataset and updates to the global model parameter and the number of iterations from the synchronization node.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the resource parameter set comprises a plurality of metrics comprising at least two of:
an indicator of available computation resources at the edge node;
an indicator of available communication resources between the edge node and the synchronization node;
an indicator of data distribution of the local dataset; and
an indicator of noisiness of the local dataset.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the indicator of data distribution of the local dataset is estimated based at least in part on a function computed on a plurality of gradients computed at the edge nodes.

### Claim 4 (depends on 2)

The computer-implemented method of claim 2, wherein the indicator of noisiness of the local dataset is based at least in part on a function of a subset of data samples in the local dataset.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving initial values of the global model parameter and the number of iterations from the synchronization node.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising:
receiving the model parameter and the resource parameter set of the edge nodes at the synchronization node;
determining an amount of remaining resources with respect to a resource budget for the training process of the machine learning model;
updating the number of iterations based at least in part on the amount of remaining resources and the resource parameter set of the edge nodes;
updating the global model parameter based at least in part on the model parameter from the edge nodes; and
sending updates of the global model parameter and the number of iterations to the edge nodes.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the resource budget is based at least in part on a time, energy, monetary cost, or non-monetary cost affected by a plurality of computation resources and communication resources of the edge nodes.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, further comprising:
continuing to update the number of iterations and the global model parameter by the synchronization node until training of the machine learning model completes or the resource budget is exceeded.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the global model parameter and the model parameter comprise one or more loss function parameter vectors of the machine learning model.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the edge nodes comprise one or more entities comprising computation and networking capability.

### Claim 11

A system for distributed machine learning at an edge node of a distributed computer system, the system comprising:
a memory of edge node comprising computer readable instructions; and
a processing device of the edge node for executing the computer readable instructions for performing a method, the method comprising:
executing a training process of a machine learning model at the edge node for a number of iterations to generate a model parameter based at least in part on a local dataset of the edge node and a global model parameter of the distributed computer system;
estimating a resource parameter set indicative of a plurality of resources available at the edge node;
sending the model parameter and the resource parameter set to a synchronization node of the distributed computing system;
receiving updates to the global model parameter and the number of iterations from the synchronization node based at least in part on the model parameter and the resource parameter set of a plurality of edge nodes of the distributed computer system; and
repeating the training process of the machine learning model to determine an update to the model parameter based at least in part on the local dataset and updates to the global model parameter and the number of iterations from the synchronization node.

### Claim 12 (depends on 11)

The system of claim 11, wherein the resource parameter set comprises a plurality of metrics comprising at least two of: an indicator of available computation resources at the edge node, an indicator of available communication resources between the edge node and the synchronization node, an indicator of data distribution of the local dataset, and an indicator of noisiness of the local dataset.

### Claim 13 (depends on 12)

The system of claim 12, wherein the indicator of data distribution of the local dataset is estimated based at least in part on a function computed on a plurality of gradients computed at the edge nodes and the indicator of noisiness of the local dataset is based at least in part on a function of a subset of data samples in the local dataset.

### Claim 14 (depends on 11)

The system of claim 11, wherein initial values of the global model parameter and the number of iterations are received from the synchronization node.

### Claim 15 (depends on 14)

The system of claim 14, further comprising the synchronization node, wherein the synchronization node is configured to perform a plurality of operations comprising:
receiving the model parameter and the resource parameter set of the edge nodes at the synchronization node;
determining an amount of remaining resources with respect to a resource budget for the training process of the machine learning model;
updating the number of iterations based at least in part on the amount of remaining resources and the resource parameter set of the edge nodes;
updating the global model parameter based at least in part on the model parameter from the edge nodes; and
sending updates of the global model parameter and the number of iterations to the edge nodes.

### Claim 16 (depends on 15)

The system of claim 15, wherein the resource budget is based at least in part on a time, energy, monetary cost, or non-monetary cost affected by a plurality of computation resources and communication resources of the edge nodes.

### Claim 17 (depends on 15)

The system of claim 15, wherein the synchronization node is configured to perform the operations comprising:
continuing to update the number of iterations and the global model parameter by the synchronization node until training of the machine learning model completes or the resource budget is exceeded.

### Claim 18 (depends on 11)

The system of claim 11, wherein the global model parameter and the model parameter comprise one or more loss function parameter vectors of the machine learning model.

### Claim 19 (depends on 11)

The system of claim 11, wherein the edge nodes comprise one or more entities comprising computation and networking capability.

### Claim 20

A computer program product for distributed machine learning at an edge node of a distributed computer system, the computer program product comprising:
a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing device to cause the processing device to perform a method comprising:
executing a training process of a machine learning model at the edge node for a number of iterations to generate a model parameter based at least in part on a local dataset of the edge node and a global model parameter of the distributed computer system;
estimating, by the edge node, a resource parameter set indicative of a plurality of resources available at the edge node;
sending the model parameter and the resource parameter set to a synchronization node of the distributed computing system;
receiving at the edge node updates to the global model parameter and the number of iterations from the synchronization node based at least in part on the model parameter and the resource parameter set of a plurality of edge nodes of the distributed computer system; and
repeating the training process of the machine learning model at the edge node to determine an update to the model parameter based at least in part on the local dataset and updates to the global model parameter and the number of iterations from the synchronization node.
