Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

QA for Machine Learning Models With the PDCA Cycle

DZone's Guide to

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.

· DevOps Zone ·
Free Resource

DevOps involves integrating development, testing, deployment and release cycles into a collaborative process. Learn more about the 4 steps to an effective DevSecOps infrastructure.

The 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:

QA and Machine learning Projects with PDCA Cycle

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.

Read the 4-part DevOps testing eBook to learn how to detect problems earlier in your DevOps testing processes.

Topics:
devops ,qa ,software testing ,ai ,ml ,data science ,tutorial

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}