MLOps: The Software Engineering of the Machine Learning Models
Dr. Ahmed S. ELSHEIKH - EDBAs, MBA/MSc
R&D Manager @ ITIDA ★ AI/Data/Analytics & Digital Platforms Strategist | DX/FinTech/Blockchain & Emerging Tech Monetization Advisor | Business/Enterprise Architect | Governance/BSC/OKR/Agile Expert | Executive Coach
In the 51st edition of this newsletter entitled "GenAI for Software Engineering vs. Software Engineering for GenAI: The Parallel Worlds," it was concluded that in the age of Generative AI, two parallel research and development domains should be taken care of simultaneously. Not only?"Generative AI for Software Engineering"?but also?"Software Engineering for Generative AI."?Furthermore, it was promised that in several upcoming editions of this LinkedIn newsletter, the?"Software Engineering for Generative AI"?discipline will be examined in detail.
The rationale behind the importance of?"Software Engineering for Generative AI"?is that the produced?"Generative AI Models"?are particular types of software products being integrated into more extensive software systems. These models are, by definition, "Machine/Deep Learning Models" that were trained in the first place on a specific set of data, and due to the dynamic nature of both the science of how these models can be designed and the datasets themselves, these models need to be maintained regularly to stay up-to-date and fit for purpose. This, of course, increases the complexity over the case of regular software products. Regular software products don't need to be consciously adjusted. Of course, some bug fixes and enhancements exist, but not continuous engineering and tuning. Before continuing, it is worth emphasizing that all?"Generative AI Models"?are, by definition,?"Deep Learning Models"?or, as a generalized case,?"Machine Learning Models."
This was almost the reason behind the evolution of the discipline that doesn't focus only on the?"Machine Learning Models Engineering,"?but more importantly, focuses on the?"Engineering of Machine Learning Models in Production."?This is called?"Machine Learning Operations"?or?"MLOps"?shortly.
领英推荐
Usually, the?"MLOps"?contains at least the engineering of three?"Software Pipelines,"?which are the?"Training Data Pipeline,"?"Trained Model Pipeline,"?and the?"Model Deployment Pipeline."?These three?software pipelines?form the?"Software Engineering Process,"?through which data sources necessary for training are collected, cleaned, and prepared for training. Then, the models are trained or continuously retained using these prepared datasets. Finally, those models are deployed into the production environments to form?"Continuously Ready-to-Use and Fit for Purpose"?machine learning models in general or specific types such as deep-learning or generative AI models.?
Hence, and to conclude,?"Software Engineering for Generative AI"?aims to produce?"Generative AI Models," which are particular types of software products or components that are, by definition, "Machine/Deep Learning Models" that need to stay up-to-date and fit for purpose despite of the dynamic nature of the training datasets. This was the reason behind the evolution of the?"Machine Learning Models Engineering,"?which focuses on the?"Engineering of Machine Learning Models in Production."?This is called?"Machine Learning Operations"?or?"MLOps"?shortly. Usually, the?"MLOps"?contains at least the engineering of three?"Software Pipelines,"?which are the?"Training Data Pipeline,"?"Trained Model Pipeline,"?and the?"Model Deployment Pipeline."?These three?software pipelines?form the?"Software Engineering Process"?that can produce?"Continuously Ready-to-Use and Fit for Purpose"?machine learning or generative AI models in special cases.