A computer program product for distributing machine learning models to edge devices, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a server to cause the server to perform a method of:
- building, by the server, a number of machine learning models and storing the number of machine learning models on the server, wherein the server customizes each respective machine learning model to a specific edge device and user combination;
- receiving, by the server, a request for a machine learning model from an edge device corresponding to a user, wherein the request includes attributes of the edge device and characteristics of the user of the edge device;
- determining, by the server, the specific edge device and user combination based on the attributes of the edge device and the characteristics of the user of the edge device included in the request;
- selecting, by the server, the machine learning model from among the number of machine learning models that is best suited for the specific edge device and user combination according to a set of model distribution policies;
- signing, by the server, the machine learning model securely to enable the edge device to know that the machine learning model is from a trusted source;
- downloading, by the server, the machine learning model to the edge device;
- and further comprising, each time the edge device connects with the server, instructions for:
- updating, by the server, a device profile according to new data received from the edge device in response to the edge device performing an artificial intelligence function using the machine learning model downloaded to the edge device;
- comparing, by the server, the device profile to the set of model distribution policies;
- determining, by the server, whether a new machine learning model is better suited for the edge device based on comparing the device profile to the set of model distribution policies;
- and
- responsive to the server determining that a new machine learning model is better suited for the edge device based on comparing the device profile to the set of model distribution policies, downloading, by the server, the new machine learning model to the edge device.