Vasiljevic, S. (2023). Efficient and transparent model selection for serverless machine learning platforms [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.108480
E194 - Institut für Information Systems Engineering
-
Date (published):
2023
-
Number of Pages:
99
-
Keywords:
Distributed Systems; Serverless Computing; Machine Learning Operations; Edge Computing; Serverless Edge Computing; Quality of Service; Automatic Model Selection; Performance Optimization; Cloud Service Selection; Model Deployment in Cloud
en
Abstract:
Serverless computing is a new paradigm for the deployment of applications in the cloud. Its extension to the field of Machine Learning (ML) has been a topic of research for the past few years—especially in the serverless edge computing community. Seamless integration of Machine Learning models for usage in serverless computing environments is still a challenge. Selecting approriate models for particular use cases is crucial for the performance of the whole system. In other domains, service selection and load balancing with quality-of-service consideration have been used to improve the performance of applications. However, current approaches to service selection and load balancing either do not take into account the specifics of Machine Learning models or the latency of edge nodes. So, developers of serverless applications currently have to manually select the best model for their use case or rely on subpar model selection approaches. Manually selecting the models limits the flexibility of the application and requires the developer to have knowledge about the underlying infrastructure. In this thesis, we propose a solution that automatically and transparently selects the best model for a given usecase provided in the underlying infrastructure of serverless platforms while taking into account Machine Learning and edge computing-specific concerns. Application developers then only have to provide the data and the desired performance traits (e.g., latency, accuracy,etc.) of the model. We evaluate our solution by comparing it to common baseline approaches for service selection and balancing. First, we conduct case studies to evaluate the performance of our solution in different use cases. Then, we compare the performance of our solution to the baseline approaches in a simulated environment. The results show that our solution outperforms the baseline approaches in most cases.
en
Serverless Computing ist ein neues Paradigma für die Bereitstellung von Anwendungen in der Cloud. Seine Ausweitung auf den Bereich des Machine Learning (ML) ist seit einigen Jahren ein Forschungsthema—insbesondere in der Community des Serverless Edge-Computing. Die nahtlose Integration von Machine Learning-Modellen für den Einsatz in Serverless Computing-Umgebungen ist immer noch eine Herausforderung. Die Auswahl geeigneter Modelle für bestimmte Anwendungsfälle ist entscheidend für die Leistung des gesamten Systems. In anderen Bereichen wurden Dienstauswahl und Load Balancing unter Berücksichtigung des Quality-of-Service (Dienstqualität) eingesetzt, um die Leistung von Anwendungen zu verbessern. Die aktuellen Ansätze zur Dienstauswahl und zum Load Balancing berücksichtigen jedoch weder die Besonderheiten von Machine-Learning-Modellen noch die Latenzzeiten von Edge-Knoten. Daher müssen Entwickler:innen von Serverless Anwendungen derzeit das beste Modell für ihren Anwendungsfall manuell auswählen oder sich auf suboptimale Modellauswahlansätze verlassen. Die manuelle Auswahl der Modelle schränkt die Flexibilität der Anwendung ein und setzt voraus, dass Entwickler:innen über Kenntnisse der zugrunde liegenden Infrastruktur verfügen. In dieser Arbeit schlagen wir eine Lösung vor, die automatisch und transparent das beste Modell für einen bestimmten Anwendungsfall aus der zugrunde liegenden Infrastruktur von Serverless Plattformen auswählt und dabei Machine Learning und Edge Computing-spezifische Belange berücksichtigt. Die Anwendungsentwickler:innen müssen dann nur noch die Daten und die gewünschten Leistungsmerkmale (z. B. Latenz, Genauigkeit usw.) des Modells bereitstellen. Wir evaluieren unsere Lösung, indem wir sie mit gängigen Basisansätzen für die Auswahl und dem Load Balancing von Diensten vergleichen. Zunächst führen wir Fallstudien durch, um die Leistung unserer Lösung in verschiedenen Anwendungsfällen zu bewerten. Anschließend vergleichen wir die Leistung unserer Lösung in einer simulierten Umgebung mit den grundlegenden Ansätzen. Die Ergebnisse zeigen, dass unsere Lösung in den meisten Fällen besser abschneidet als die Basislösungen.