QA for Machine Learning Models With the PDCA Cycle
Learn how DevOps and AI come together in the PDCA cycle to create a strategy for DevOps-style quality assurance of machine learning and data science projects.
Join the DZone community and get the full member experience.
Join For FreeThe primary goal of establishing and implementing Quality Assurance (QA) practices for machine learning/data science projects or projects using machine learning models is to achieve consistent and sustained improvements in business processes, making use of underlying ML predictions. This is where the idea of the PDCA cycle (Plan-Do-Check-Act) is applied to establish a repeatable process ensuring that high-quality machine learning (ML)-based solutions are served to the clients in a consistent and sustained manner.
The following diagram represents the details:
PDCA cycle of machine learning projects for QA.
The following represents the details listed in the above diagram.
- Plan
- Explore/describe the business problems: In this stage, product managers/business analysts sit with data scientists and discuss the business problem at hand. The outcome of this exercise is a product requirement specification (PRS) document which is handed over to the data science team.
- Assess whether the solution makes use of ML models: The data science team explores whether the solution needs one or more machine learning models to be built.
- Set the objectives/goals: Product managers set the overall business objectives and goals to be met as a result of an ML solution being carved out.
- Identify the metrics (proxy vs. online): Suppose you want to measure how happy are users after visiting a specific web page of the website; the proxy metric could be the time spent by users on that page.
- Prepare the action plan
- Do (Implement)
- Architect/design the solution
- Train/retrain and test one or more ML models: As part of building models, the following need to be considered especially when improving on the previous models deployed into production:
- Feature engineering to filter existing features and select new features to improve model performance
- Update newer ML algorithms
- Develop and test non-ML solution components
- Integrate the solution end-to-end
- Test the overall solution (integration testing)
- Code review (non-ML, feature generation code)
- Check (Test/Monitor)
- Do a canary rollout; adopt A/B testing
- Monitor proxy metrics vis-a-vis online impact metrics
- Monitor training serving skew
- Monitor model fairness attributes (bias/variance)
- Model stability (numerical stability)
- Act (Standardize/Continuous Improvement)
- Deploy the solution/models into production
- Monitor model overall performance, stability, fairness (bias/variance)
- Identify areas of improvement – Data/Features
- Identify areas of improvement – ML Algorithms
- Identify areas of improvement – Non-ML components
Reference
Summary
In this post, you learned about applying the PDCA cycle for managing the quality of machine learning (ML)/data science projects. The idea is to set up QA practices for ML projects. In the next posts, we will dive deeper into different aspects of quality assurance practices.
Published at DZone with permission of Ajitesh Kumar, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments