← Back to Awesome

Sections

Software Engineering for Machine Learning

GitHub repository ↗ synced 2026/8/9

Awesome Software Engineering for Machine Learning AwesomePRs Welcome

Software Engineering for Machine Learning are techniques and guidelines for building ML applications that do not concern the core ML problem -- e.g. the development of new algorithms -- but rather the surrounding activities like data ingestion, coding, testing, versioning, deployment, quality control, and team collaboration.
Good software engineering practices enhance development, deployment and maintenance of production level applications using machine learning components.

⭐ Must-read

🎓 Scientific publication

Feel free to take and share the survey and to read more!

Broad Overviews

Best Practices for Machine Learning Applications

These resources cover all aspects.

  • AI Engineering: 11 Foundational Practices ⭐
  • Engineering Best Practices for Machine Learning ⭐
  • Hidden Technical Debt in Machine Learning Systems 🎓⭐
  • Rules of Machine Learning: Best Practices for ML Engineering ⭐
  • Software Engineering for Machine Learning: A Case Study 🎓⭐

Data Management

Data management challenges in production machine learning
How to organize data labelling for ML
The curse of big data labeling and three ways to solve it
The ultimate guide to data labeling for ML

How to manage the data sets you use in machine learning.

  • A Survey on Data Collection for Machine Learning A Big Data - AI Integration Perspective_2019 🎓
  • Automating Large-Scale Data Quality Verification 🎓
  • Data Validation for Machine Learning 🎓
  • The Data Linter: Lightweight, Automated Sanity Checking for ML Data Sets 🎓

Model Training

10 Best Practices for Deep Learning
How do you manage your Machine Learning Experiments?
Nitpicking Machine Learning Technical Debt
Preparing and Architecting for Machine Learning
Software development best practices in a deep learning environment
Testing and Debugging in Machine Learning

How to organize your model training experiments.

  • Apples-to-apples in cross-validation studies: pitfalls in classifier performance measurement 🎓
  • Fairness On The Ground: Applying Algorithmic FairnessApproaches To Production Systems🎓
  • Machine Learning Testing: Survey, Landscapes and Horizons 🎓
  • On Comparing Classifiers: Pitfalls to Avoid and a Recommended Approach 🎓⭐
  • On human intellect and machine failures: Troubleshooting integrative machine learning systems 🎓
  • Pitfalls and Best Practices in Algorithm Configuration 🎓
  • Pitfalls of supervised feature selection 🎓
  • Preliminary Systematic Literature Review of Machine Learning System Development Process 🎓
  • What Went Wrong and Why? Diagnosing Situated Interaction Failures in the Wild 🎓

Deployment and Operation

Best Practices in Machine Learning Infrastructure
Machine Learning Logistics
Machine learning: Moving from experiments to production
ML Ops: Machine Learning as an engineered disciplined
ModelOps: Cloud-based lifecycle management for reliable and trusted AI
Operational Machine Learning

How to deploy and operate your models in a production environment.

  • Building Continuous Integration Services for Machine Learning 🎓
  • Continuous Delivery for Machine Learning ⭐
  • Continuous Training for Production ML in the TensorFlow Extended (TFX) Platform 🎓
  • Fairness Indicators: Scalable Infrastructure for Fair ML Systems 🎓
  • Model Governance Reducing the Anarchy of Production 🎓
  • Scaling Machine Learning as a Service🎓
  • TFX: A tensorflow-based Production-Scale ML Platform 🎓
  • The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction 🎓
  • Underspecification Presents Challenges for Credibility in Modern Machine Learning 🎓
  • Versioning for end-to-end machine learning pipelines 🎓

Social Aspects

Machine Learning Interviews
Managing Machine Learning Projects
Principled Machine Learning: Practices and Tools for Efficient Collaboration

How to organize teams and projects to ensure effective collaboration and accountability.

  • Data Scientists in Software Teams: State of the Art and Challenges 🎓

Governance

Beyond Debiasing
Toward Trustworthy AI Development: Mechanisms for Supporting Verifiable Claims
  • A Human-Centered Interpretability Framework Based on Weight of Evidence 🎓
  • An Architectural Risk Analysis Of Machine Learning Systems
  • Closing the AI Accountability Gap: Defining an End-to-End Framework for Internal Algorithmic Auditing 🎓
  • Inherent trade-offs in the fair determination of risk scores 🎓
  • Responsible AI practices ⭐
  • Understanding Software-2.0 🎓

Tooling

Aim

Aim is an open source experiment tracking tool.

Airflow

Programmatically author, schedule and monitor workflows.

Alibi Detect

Python library focused on outlier, adversarial and drift detection.

Archai

Neural architecture search.

Data Version Control (DVC)

DVC is a data and ML experiments management tool.

Facets Overview / Facets Dive

Robust visualizations to aid in understanding machine learning datasets.

FairLearn

A toolkit to assess and improve the fairness of machine learning models.

Git Large File System (LFS)

Replaces large files such as datasets with text pointers inside Git.

Great Expectations

Data validation and testing with integration in pipelines.

HParams

A thoughtful approach to configuration management for machine learning projects.

Kubeflow

A platform for data scientists who want to build and experiment with ML pipelines.

Label Studio

A multi-type data labeling and annotation tool with standardized output format.

LiFT

Linkedin fairness toolkit.

MLFlow

Manage the ML lifecycle, including experimentation, deployment, and a central model registry.

Model Card Toolkit

Streamlines and automates the generation of model cards; for model documentation.

Neptune.ai

Experiment tracking tool bringing organization and collaboration to data science projects.

Neuraxle

Sklearn-like framework for hyperparameter tuning and AutoML in deep learning projects.

OpenML

An inclusive movement to build an open, organized, online ecosystem for machine learning.

PyTorch Lightning

The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.

REVISE: REvealing VIsual biaSEs

Automatically detect bias in visual data sets.

Robustness Metrics

Lightweight modules to evaluate the robustness of classification models.

Seldon Core

An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models on Kubernetes.

Spark Machine Learning

Spark’s ML library consisting of common learning algorithms and utilities.

TensorBoard

TensorFlow's Visualization Toolkit.

Tensorflow Extended (TFX)

An end-to-end platform for deploying production ML pipelines.

Tensorflow Data Validation (TFDV)

Library for exploring and validating machine learning data. Similar to Great Expectations, but for Tensorflow data.

Weights & Biases

Experiment tracking, model optimization, and dataset versioning.

Tooling can make your life easier.

We only share open source tools, or commercial platforms that offer substantial free packages for research.