Machine Learning Fundamentals at CSE
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 a software engineering project.
- Provide best practices for the different stages of an ML project.
How to use these fundamentals
- 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.
ML 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 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.
- ML Process Guidance
- ML Fundamentals checklist
- Data Exploration
- Agile ML development
- Testing Data Science and ML Ops code
- Profiling Machine Learning and ML Ops code
- Responsible AI
- Program Management for ML projects