Federated Learning on IoT edge devices using serverless ML
The Internet of Things (IoT) has extensively become involved in different aspects of modern life. Nowadays, we see sensors being deployed in our surroundings and becoming an integral part of our day to day life. With overall improved software architecture, rapid increases in computing power, and embedded decision-making abilities in machines, users now interact with more intelligent systems and many intelligent IoT services and applications are emerging. The typical processing pipeline for IoT applications is that all sensor data is collected and stored on the cloud, where it is used to train various machine learning algorithms. Once trained these algorithms are deployed locally at the edge devices. However, heterogeneity of IoT devices and sensor networks is a major challenge to build these intelligent IoT applications. The ML algorithms designed for IoT devices and edge analytics have to be re-designed, re-trained, and then re-deployed for each type of IoT device joining the IoT infrastructure. The aim of this work is to come up with that better architecture using serverless programming. Serverless ML can prove to be a major step forward in enabling seamless integration of edge analytics for a variety of IoT devices without a need to build a customized ML algorithm for each type of device. Thus, facilitating data scientists to focus on the domain problem rather than the configuration and deployment of ML algorithms over IoT devices. Moreover, serverless architecture brings in scalability inherently and could prove a door way to many intelligent applications. At the later stages of my project, I will use the serverless architecture for edge analytics to deploy distributed and federated learning algorithms on top of the large-scale IoT infrastructure. The ultimate goal will be to automatically train and deploy distributed and federated learning on IoT devices, which can support building distributed intelligent IoT applications without worrying about the heterogeneity of underlying IoT infrastructure.