A curated list of articles that cover the software engineering best practices for building machine learning applications.
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.
🎓 Scientific publication
Based on this literature, we compiled a survey on the adoption of software engineering practices for applications with machine learning components.
These resources cover all aspects. - AI Engineering: 11 Foundational Practices ⭐ - Best Practices for Machine Learning Applications - 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 🎓⭐
How to manage the data sets you use in machine learning.
How to organize your model training experiments.
How to deploy and operate your models in a production environment.
How to organize teams and projects to ensure effective collaboration and accountability.
Tooling can make your life easier.
We only share open source tools, or commercial platforms that offer substantial free packages for research.
Contributions welcomed! Read the contribution guidelines first