| CPC G06Q 20/4016 (2013.01) [G06N 3/04 (2013.01); G06N 3/08 (2013.01); G06N 20/00 (2019.01)] | 15 Claims |

|
1. A method for cooperative training, by a service provider, of machine learning models using distributed executable file packages, the method comprising:
executing, by one or more processors, an executable file package stored at a memory to generate and provide, to multiple client devices:
multiple parameter sets corresponding to multiple partial ML models that are split from an initial ML model,
wherein execution of the executable file package comprises:
splitting the initial ML model to create the multiple partial ML models and multiple second partial ML models,
wherein a first splitting of the initial ML model generates a first pair of partial ML models that correspond to a first client device and a second splitting of the initial ML model generates a second pair of partial ML models that correspond to a second client device, and wherein each of the first splitting and the second splitting is based on at least one of: computing resources available at a corresponding client device, a size of client-specific data accessible to the corresponding client device or a priority associated with a client corresponding to the corresponding client device; and
providing a respective partial ML model of the multiple partial ML models to each of the multiple client devices; and
wherein the executable file package includes one or more configuration files and one or more cooperative ML libraries;
receiving, by the one or more processors from the multiple client devices, respective output data or output parameter sets based on training of the multiple partial ML models at the multiple client devices,
wherein execution of the executable file package further causes aggregation of the output data or the output parameter sets to generate a ML model configured to generate a prediction based on input data; and
initiating, by the one or more processors, deployment of the ML model to at least one of the multiple client devices, an endpoint node, or a combination thereof.
|