A Domain-Specific Language for Crossplatform, Edge-deployed Machine Learning Models: A Model Interpretation-based Approach
Ladda ner
Typ
Examensarbete för masterexamen
Master's Thesis
Master's Thesis
Program
Software engineering and technology (MPSOF), MSc
Publicerad
Författare
Karlsson Landgren, Albin
Perhult Johnsen, Philip
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Deploying machine learning (ML) models on edge devices presents unique challenges. The challenges arise from the different environments used for developing ML models and those required for their deployment, leading to a gray area of competence and expertise between ML engineers and application developers. This thesis presents the design and implementation of a domain-specific language aimed at simplifying the deployment of ML models on edge devices, specifically smartphones. It aims to bridge the gap between ML engineers and application engineers, creating a shared platform for deploying ML models on edge devices. The study exists at the intersection of model-driven engineering, machine learning, and cross-platform smartphone development. It explores model-driven engineering in an environment where developers don’t have full control over the deployment platform, using model interpretation to generate ML serving pipelines (pre- and postprocessing of data before and after inference) during runtime, thus removing the need to re-release an application upon changes to a pipeline. We follow a design science approach consisting of three research cycles. We elicited requirements through an initial literature study and interviews with engineers at the collaboration company. This was followed by designing and implementing an artifact within the domain presented above. Finally, we evaluated the proposed solution with engineers at the collaboration company through a controlled experiment and subsequent qualitative interviews. The developed artifact consists of a lightweight, JSON-based domain-specific language designed to describe ML serving pipelines, along with an accompanying Flutter library to generate the pipelines during runtime. The evaluation showed that it increased development speed, decreased the amount of code required to make changes to an ML serving pipeline, and made engineers less experienced in mobile development more confident contributing to the domain.
Beskrivning
Ämne/nyckelord
computer , science , computer science , engineering , project , thesis