Are you eager to jump-start your career in Differential and Probabilistic Programming? As a PhD candidate in the ERC project FoRECAST, you’ll work independently and in a collaborative, diverse team. This is a unique opportunity to contribute to the foundations for tomorrow’s machine learning.
Your jobIn the ERC project FoRECAST, we aim to develop theory (e.g., new probabilistic and differential inference algorithms as well as proofs of their correctness and efficiency) and systems (e.g., high performance, functional array programming DSLs) to tackle challenging probabilistic and differentiable programming applications (e.g., experimental design, machine learning for science). We do so by bringing together a diverse team of PhD candidates who will focus on three key areas:
- Probabilistic and differentiable algorithms for machine learning;
- Programming language implementation for high performance computing;
- Programming language semantics and foundations.
Your focus will be on area 1, and your research should lead to a PhD degree during your appointment.
Your researchIn this role, your research will develop the foundations and push the boundaries of the field of differential and probabilistic programming. This exciting new field of research combines knowledge from the machine learning, programming languages, scientific computing, and statistical physics communities. Depending on your background and interests, your project could involve:
- developing new differential and probabilistic programming techniques (e.g., techniques for differentiating effectful programs such as gradient estimation of probabilistic programs, implicit function differentiation, compositional Bayesian inference techniques);
- giving mathematical proofs of their correctness and efficiency;
- building state-of-the-art implementations of these new techniques (e.g., by leveraging data-parallel functional array programming techniques);
- applying them to solve real-world problems (e.g., gradient estimation challenges in experimental design and reinforcement learning).
You’ll have plenty of space to shape the project to your particular interests and strengths.
Your teamYour main supervisor will be
Matthijs Vákár. You’ll also be supported by secondary supervisors who are experts in machine learning, chosen to match your profile. Beyond membership of the FoRECAST team, you’ll join the Software Technology group led by
Gabriele Keller. As our research group contains core members of the popular Accelerate and Stan DSLs for machine learning and scientific computing, newly developed techniques could quickly have a large impact and reach a large audience of end users. Beyond Utrecht University, we anticipate collaborating with international partners including the Center for Computational Mathematics at the Flatiron Institute in New York, the Department of Computer Science at the University of Oxford, the Amsterdam Machine Learning Lab, and the XLA and JAX teams at Google.
Your teachingTeaching will be a small but valuable part of your role within the Department of Information and Computing Sciences. Depending on your interests and our departmental needs, you will contribute to teaching activities of courses such as Probabilistic Reasoning, Machine Learning, Functional Programming, Concurrency, Concepts of Programming Language Design, Languages and Compilers, Logic, or other courses in our BSc and MSc programmes. Activities may include conducting tutorials, student supervision and public outreach. This experience will help you develop teaching skills and explore whether you see a future in academia.