A device for training a model, the device comprising: at least one sensor configured to acquire a plurality of data instances; a communication interface configured to communicate with a parameter server; and a device processor configured to train the model using a threshold quantity of the data instances of the plurality of data instances; the device processor further configured to transmit a parameter vector of the trained model to the parameter server and receive in response, an updated central parameter vector from the parameter server derived from the model; the device processor further configured to retrain the model using the updated central parameter vector; wherein the parameter server sets the threshold quantity to regulate the frequency and/or number of transmissions from the device; wherein the at least one sensor acquires different data instances than other sensors of the other devices that are training respective models; wherein at least one transmission between the device and the parameter server occurs asynchronously with respect to the other devices that are communicating with the parameter server and training respective models; wherein the device processor is configured to over sample or under sample the plurality of data instances such that when a number of data instances available to the device processor to train the model is larger than the threshold quantity, the device processor samples the threshold quantity of data instances, and when the number of data instances available to the device processor is smaller than the threshold quantity, the device processor samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold quantity is reached; and wherein the device processor transmits the parameter vector of the trained model after having processed the threshold quantity of the data instances. at least one sensor configured to acquire a plurality of data instances; a communication interface configured to communicate with a parameter server; and a device processor configured to train the model using a threshold quantity of the data instances of the plurality of data instances; the device processor further configured to transmit a parameter vector of the trained model to the parameter server and receive in response, an updated central parameter vector from the parameter server derived from the model; the device processor further configured to retrain the model using the updated central parameter vector; wherein the parameter server sets the threshold quantity to regulate the frequency and/or number of transmissions from the device; wherein the at least one sensor acquires different data instances than other sensors of the other devices that are training respective models; wherein at least one transmission between the device and the parameter server occurs asynchronously with respect to the other devices that are communicating with the parameter server and training respective models; wherein the device processor is configured to over sample or under sample the plurality of data instances such that when a number of data instances available to the device processor to train the model is larger than the threshold quantity, the device processor samples the threshold quantity of data instances, and when the number of data instances available to the device processor is smaller than the threshold quantity, the device processor samples all of the data instances of the plurality of data instances and then resamples one or more of the data instances until the threshold quantity is reached; and wherein the device processor transmits the parameter vector of the trained model after having processed the threshold quantity of the data instances.