Machine Learning (ML), particularly deep learning, has seen vast advancements, leading to the rise of Machine Learning-Enabled Systems (MLS). However, numerous software engineering challenges persist in propelling these MLS into production, largely due to various run-time uncertainties that impact the overall Quality of Service (QoS). These uncertainties emanate from ML models, software components, and environmental factors. Self-adaptation techniques present potential in managing run-time uncertainties, but their application in MLS remains largely unexplored. As a solution, we propose the concept of a Machine Learning Model Balancer, focusing on managing uncertainties related to ML models by using multiple models. Subsequently, we introduce AdaMLS, a novel self-adaptation approach that leverages this concept and extends the traditional MAPE-K loop for continuous MLS adaptation. AdaMLS employs lightweight unsupervised learning for dynamic model switching, thereby ensuring consistent QoS. Through a self-adaptive object detection system prototype, we demonstrate AdaMLS's effectiveness in balancing system and model performance. Preliminary results suggest AdaMLS surpasses naive and single state-of-the-art models in QoS guarantees, heralding the advancement towards self-adaptive MLS with optimal QoS in dynamic environments.
翻译:机器学习(ML),尤其是深度学习,已取得巨大进步,催生了机器学习使能系统(MLS)的兴起。然而,将这些MLS投入生产仍面临诸多软件工程挑战,主要源于影响整体服务质量(QoS)的各种运行时不确定性。这些不确定性来自ML模型、软件组件和环境因素。自适应技术虽在管理运行时不确定性方面具有潜力,但其在MLS中的应用仍鲜有探索。为此,我们提出机器学习模型平衡器的概念,聚焦于通过使用多个模型来管理与ML模型相关的不确定性。进而,我们引入AdaMLS——一种新颖的自适应方法,该方法利用这一概念并扩展传统MAPE-K循环以实现持续的MLS自适应。AdaMLS采用轻量级无监督学习进行动态模型切换,从而确保稳定的QoS。通过自适应目标检测系统原型,我们验证了AdaMLS在平衡系统与模型性能方面的有效性。初步结果表明,AdaMLS在QoS保障方面优于朴素模型和单一最优模型,标志着在动态环境中迈向具有最优QoS的自适应MLS的进步。