This guideline documents the Machine Learning (ML) practices in CSE. CSE works with customers on developing ML models and putting them in production, with an emphasis on engineering and research best practices throughout the project's life cycle.
- Provide a set of ML practices to follow in an ML project.
- Provide clarity on ML process and how it fits within an software engineering project.
- Provide best practices for the different stages of an ML project.
- If you are starting a new ML project, consider reading through the general guidance documents.
- For specific aspects of an ML project, refer to the guidelines for different project phases.
The diagram below shows different phases in an ideal ML project. Due to practical constraints and requirements, it might not always be possible to have a project structured in such a manner, however best practices should be followed for each individual phase.
- Envisioning: Initial problem understanding, customer goals and objectives.
- Feasibility Study: Assess whether the problem in question is feasible to solve satisfactorily using ML with the available data.
- Model Milestone: There is a basic model that is achieving the minimum required performance, both in terms of ML performance and system performance. Using the knowledge gathered up to this milestone, define the scope, objectives, high-level architecture, definition of done and plan for the entire project.
- Model(s) experimentation: Tools and best practices for conducting successful model experimentation.
- Model(s) Operationalization: Model readiness for production checklist.