Components based on Machine Learning (ML) are important for many product lines in the industry today, strongly impacting engineering processes. In particular, engineers need to manage the variability of ML-enabled features in product lines, while at the same time dealing with their continuous evolution, integration, and deployment. MLOps approaches improve the maturity of processes and tools for engineering ML-enabled systems, however, they lack support for feature-based version control, which is essential for product lines. This paper presents an approach providing feature-based versioning for ML-enabled product lines based on the Variation Control System (VarCS) ECCO. Specifically, we present use cases and requirements based on a common MLOps process. We extend ECCO to support Python code and Jupyter Notebooks, two widely used types of artifacts in this domain. We evaluate our approach regarding correctness and performance: the evaluation confirms the extensional correctness of our approach and shows acceptable quality of the intensional checkouts for valid product configurations. Furthermore, the performance is adequate for the investigated use cases.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Feature-Based Versioning for ML-Enabled Product Lines

  • Matthias Preuner,
  • Paul Grünbacher,
  • Pedro Luiz de Paula Filho,
  • Alexander Egyed

摘要

Components based on Machine Learning (ML) are important for many product lines in the industry today, strongly impacting engineering processes. In particular, engineers need to manage the variability of ML-enabled features in product lines, while at the same time dealing with their continuous evolution, integration, and deployment. MLOps approaches improve the maturity of processes and tools for engineering ML-enabled systems, however, they lack support for feature-based version control, which is essential for product lines. This paper presents an approach providing feature-based versioning for ML-enabled product lines based on the Variation Control System (VarCS) ECCO. Specifically, we present use cases and requirements based on a common MLOps process. We extend ECCO to support Python code and Jupyter Notebooks, two widely used types of artifacts in this domain. We evaluate our approach regarding correctness and performance: the evaluation confirms the extensional correctness of our approach and shows acceptable quality of the intensional checkouts for valid product configurations. Furthermore, the performance is adequate for the investigated use cases.