Systems and methods for generating federated learning models
Methods and systems for generating federated learning models. In some aspects, the system receives, from each client device, user data profiles that are anonymized with respect to users associated with user data stored locally at a client device. The system processes the user data profiles to generate a plurality of clusters. For each cluster, the system transmits, to one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to user data profiles included in the cluster and a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric. The system determines, from the plurality of clusters, a first cluster based on associated prediction accuracy metrics.
1 . A system for generating federated learning models based on user data profiles executed locally at client devices, comprising a centralized device including:
one or more processors; and
a non-transitory, computer-readable storage medium storing instructions that, when executed by the one or more processors, cause operations comprising:
receiving, from each client device of a plurality of client devices, user data profiles corresponding to the client device, wherein the user data profiles are generated based on user data stored locally at the client device, wherein the user data profiles are anonymized with respect to users associated with the user data stored locally at the client device;
processing, using a clustering function, the user data profiles to generate a plurality of clusters, each cluster comprising a subset of the user data profiles across one or more client devices;
for each cluster of the plurality of clusters:
transmitting, to the one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to the user data profiles included in the cluster;
transmitting, to the one or more client devices corresponding to the cluster, a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric; and
determining a combined prediction accuracy metric for the cluster based on prediction accuracy metrics from each client device of the one or more client devices corresponding to the cluster;
determining, from the plurality of clusters, a first cluster having a highest value for the combined prediction accuracy metric;
generating a first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster; and
processing, using the first machine learning model, input data to produce corresponding output data.
2 . The system of claim 1 , comprising a respective client device configured for:
processing, using a data profiling function, user data stored locally at the respective client device to generate corresponding user data profiles of the user data profiles, wherein the user data profiles are anonymized with respect to users associated with the user data; and
transmitting, to the centralized device, the user data profiles.
3 . The system of claim 2 , wherein the respective client device is further configured to train the machine learning model on the user data corresponding to the user data profiles included in the cluster, comprising:
processing the user data to determine an amount of random noise required;
generating the random noise, wherein the random noise comprises additional data; and
adding the random noise to the user data on the respective client device prior to training the machine learning model.
4 . The system of claim 1 , wherein generating the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster comprises:
receiving, from the one or more client devices, a plurality of sets of model weights, wherein each client device of the one or more client devices transmits a set of model weights;
aggregating the plurality of sets of model weights into an aggregated set of model weights; and
generating the first machine learning model corresponding to the first cluster using the aggregated set of model weights.
5 . A method for generating federated learning models based on user data profiles, comprising:
receiving, from each client device of a plurality of client devices, user data profiles that are anonymized with respect to users associated with user data stored locally at a client device;
processing, using a clustering function, the user data profiles to generate a plurality of clusters;
for each cluster of the plurality of clusters:
transmitting, to one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to the user data profiles included in the cluster; and
transmitting, to the one or more client devices corresponding to the cluster, a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric;
determining, from the plurality of clusters, a first cluster based on associated prediction accuracy metrics; and
generating a first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster.
6 . The method of claim 5 , further comprising determining a combined prediction accuracy metric for the cluster based on prediction accuracy metrics from each client device of the one or more client devices corresponding to the cluster.
7 . The method of claim 5 , further comprising processing, using the first machine learning model, input data to produce corresponding output data.
8 . The method of claim 5 , further comprising:
determining, for each cluster in the plurality of clusters, a threshold for a respective prediction accuracy metric;
determining, for each cluster in the plurality of clusters, whether a corresponding prediction accuracy metric is lower than the threshold;
in response to detecting the corresponding prediction accuracy metric of the machine learning model is lower than the threshold, receiving from the plurality of client devices, new user data profiles corresponding to each client device;
processing, using the clustering function, the new user data profiles to generate a new plurality of clusters; and
generating an updated first machine learning model, wherein the updated first machine learning model corresponds to a new cluster with a highest value for a combined prediction accuracy metric.
9 . The method of claim 5 , wherein each cluster in the plurality of clusters comprises a subset of the user data profiles across the one or more client devices.
10 . The method of claim 5 , further comprising:
processing, at a respective client device, using a data profiling function, user data stored locally at the respective client device to generate corresponding user data profiles of the user data profiles, wherein the user data profiles are anonymized with respect to users associated with the user data; and
transmitting, to a centralized device, the user data profiles.
11 . The method of claim 10 , further comprising training at the client device the machine learning model on user data corresponding to the user data profiles included in the cluster, comprising:
processing the user data to determine an amount of random noise required;
generating the random noise, wherein the random noise comprises additional data; and
adding the random noise to the user data on the client device prior to training the machine learning model.
12 . The method of claim 5 , wherein generating the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster comprises:
receiving, from the one or more client devices, a plurality of sets of model weights, wherein each client device of the one or more client devices transmits a set of model weights;
aggregating the plurality of sets of model weights into an aggregated set of model weights; and
generating the first machine learning model corresponding to the first cluster using the aggregated set of model weights.
13 . A non-transitory, computer-readable storage medium storing instructions that, when executed by one or more processors, cause operations comprising:
receiving, from each client device of a plurality of client devices, user data profiles that are anonymized with respect to users associated with user data stored locally at a client device;
processing, using a clustering function, the user data profiles to generate a plurality of clusters;
for each cluster of the plurality of clusters:
transmitting, to one or more client devices corresponding to a cluster, a first instruction to train a machine learning model on user data corresponding to the user data profiles included in the cluster; and
transmitting, to the one or more client devices corresponding to the cluster, a second instruction to validate the machine learning model with respect to user data corresponding to one or more clusters of the plurality of clusters other than the cluster to generate a prediction accuracy metric;
determining, from the plurality of clusters, a first cluster based on associated prediction accuracy metrics; and
processing, using a first machine learning model corresponding to the first cluster, input data to produce corresponding output data.
14 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions further cause the one or more processors to perform operations comprising:
processing, at a respective client device, using a data profiling function, user data generated locally at the respective client device to generate corresponding user data profiles of the user data profiles, wherein the user data profiles are anonymized with respect to users associated with the user data; and
transmitting, to a centralized device, the user data profiles.
15 . The non-transitory, computer-readable storage medium of claim 14 , wherein the instructions cause training, at the client device the machine learning model on user data corresponding to the user data profiles included in the cluster, comprising:
processing the user data to determine an amount of random noise required;
generating the random noise, wherein the random noise comprises additional data; and
adding the random noise to the user data on the client device prior to training the machine learning model.
16 . The non-transitory, computer-readable storage medium of claim 13 , wherein generating the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster further comprises:
receiving, from the one or more client devices, a plurality of sets of model weights, wherein each client device transmits a set of model weights;
aggregating the plurality of sets of model weights into an aggregated set of model weights; and
generating the first machine learning model corresponding to the first cluster using the aggregated set of model weights.
17 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions cause the one or more processors to determine a combined prediction accuracy metric for the cluster based on prediction accuracy metrics from each client device of the one or more client devices corresponding to the cluster.
18 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions further cause the one or more processors to perform operations comprising:
determining, for each cluster in the plurality of clusters, a threshold for a respective prediction accuracy metric;
determining, for each cluster in the plurality of clusters, whether a corresponding prediction accuracy metric is lower than the threshold;
in response to detecting the corresponding prediction accuracy metric of the machine learning model is lower than the threshold, receiving from the plurality of client devices, new user data profiles corresponding to each client device;
processing, using the clustering function, the new user data profiles to generate a new plurality of clusters; and
generating an updated first machine learning model, wherein the updated first machine learning model corresponds to a new cluster with a highest value for a combined prediction accuracy metric.
19 . The non-transitory, computer-readable storage medium of claim 13 , wherein the instructions further cause the one or more processors to generate the first machine learning model corresponding to the first cluster based on machine learning models obtained from each client device of the one or more client devices corresponding to the first cluster.