| CPC G06N 20/20 (2019.01) | 20 Claims |

|
1. A computer-implemented method comprising:
maintaining a plurality of queues for storing local updates;
receiving, by at least one server computing device, the local updates epoch by epoch for a current global model from a plurality of client computing devices, each local update being determined by one of the plurality of client computing devices based on a local dataset on the client computing device, wherein retrieving the local updates from the plurality of queues comprises:
removing a local update from the queue and storing the removed local update in a multi-version (MV) store as a historical version of the local update;
responsive to the plurality of queues being empty in the next epoch, retrieving a historical version of the local update from the MV store for model training;
determining, by the at least one server computing device, a domain-specific aggregate of the local updates from each subset of the plurality of client computing devices; and
determining, by the at least one server computing device, an updated global model based on the domain-specific aggregate of the local updates for each subset of the plurality of client computing devices.
|