When we interview candidates for this position, here are some of the things that we are looking for:
You can program a full machine learning training and inference pipeline from scratch using frameworks like Pytorch.
You understand how ML frameworks work. We might ask you to code simplified versions of basic ML and deep learning operations in Numpy.
We expect that you can program loss functions like binary cross-entropy, likelihood computation functions using distributions like the mixture of Gaussians, etc.
You understand the trade-offs involved when making decisions about the different components of a DL model. You are very familiar with things like:
ML problem definition. (simplifying assumptions and trade-offs)
Data curation and processing.
Loss function formulation and implementation.
Choosing training hyper-parameters and their trade-offs
Model training, ongoing evaluation, and stopping criteria.
You can communicate clearly about ML problems and solutions. We like to ask questions and go into the details of your previous projects.
You know when to ask clarifying questions, and you don’t hesitate to do so. You show us your creativity, knowledge, and pragmatism when proposing a solution to the questions that we ask you.
We expect that you have a graduate course-level understanding of foundational ML theory and maths.