About this course
3 weeks course in January - Introduce the student to several tools and software development practices that will help them organize, scale, deploy and monitor machine learning models either in a research or production setting. To provide hands-on experience with a number of frameworks, both local and in the cloud, for working with large scale machine learning pipelines.Proper coding environments, code organization, good coding practices, code and data version control, reproducible and containerized environments, reproducible experiment management, debugging tools, code profiling, large scale collaborative experiment logging and monitoring, unit testing, continuous integration, continuous machine learning, cloud infrastructure, cloud based machine learning, distributed data loading and training, optimization methods for inference, local and cloud based deployment, monitoring of deployed applications.
Expected learning outcomes
At the end of the course the learner will be able to:
Organize code in an efficient way for easy maintainability and shareability
Understand the importance of reproducibility and how to create reproducible containerized applications and experiments
Capable of using version control to efficiently collaborate on code development
Knowledge of continuous integration (CI) and continuous machine learning (CML) for automating code development
Being able to debug; profile; visualize and monitor multiple experiments to assess model performance
Capable of using online cloud based computing services to scale experiments
Demonstrate knowledge about different distributed training paradigms within machine learning and how to apply them
Deploy machine learning models both locally and in the cloud
Conduct a research project in collaboration with follow students using the frameworks taught in the course.
Oral examination and reports. Graded Pass/no pass only
General understanding of machine learning (datasets, probability, classifiers, overfitting etc.) and basic knowledge about deep learning (backpropagation, convolutional neural networks, auto-encoders etc.). Familiar with coding in Pytorch
The course includes lectures, exercises and project work. , Approximately 30% of the course is spent on project work in groups of 3-5 persons, where tools throughout the course should be applied on a self-chosen machine learning problem.