Nine-Stage ML Workflow

The canonical machine learning development workflow consists of nine stages:

  1. Model Requirements: Deciding which features are feasible with ML and selecting appropriate model types
  2. Data Collection: Finding, integrating, or creating datasets (including transfer learning from generic datasets)
  3. Data Cleaning: Removing inaccurate or noisy records
  4. Data Labeling: Assigning ground truth labels (via engineers, domain experts, or crowd workers)
  5. Feature Engineering: Extracting and selecting informative features
  6. Model Training: Training and tuning models on prepared data
  7. Model Evaluation: Testing against held-out datasets using predefined metrics
  8. Model Deployment: Deploying inference code to target devices
  9. Model Monitoring: Watching for errors during real-world execution

The workflow is highly non-linear. Evaluation and monitoring can trigger loops back to any previous stage, discovering distribution shift between training and production data might require returning to data collection, while new algorithms might prompt revisiting model requirements.

This iterative, experimental nature distinguishes ML development from traditional software workflows even though both claim to be “Agile.”

Related: 05-atom—three-ml-engineering-differences, 05-molecule—ml-process-maturity-model