I'm a Machine Learning software developer at Mila, the Quebec Artificial Intelligence Institute (Mila). I have a Masters degree in Machine Learning from Mila / Université de Montréal. Prior to this, I did a Bachelors in Computer Engineering at McGill, during which I completed four Software Engineering internships, one of which was in ML research.
I was until recently an AI researcher at Mila, doing my Master's thesis in Continual Learning with Irina Rish. You can see my list of publications here.
Since then, my job is to help make AI researchers more productive. I do this in several ways:
- I create useful software tools and libraries to help them in their day-to-day. (for example simpleparsing, Sequoia, milatools, a Research Project Template, torch-jax-interop, tensor_regression, and many more).
- I create interactive tutorials to show good research and software development practices to researchers. For example, I give tutorials on writing GPU-friendly training scripts, debugging distributed training jobs, how to do profiling of GPU jobs and how to interpret profiler traces, how to write clean code, how to do proper testing, etc.
- I created the IDT Office Hours at Mila, where researchers walk in with their laptop, and I help them sort out their issues. This has led me to meet a significant portion of the 1000+ researchers here at Mila, and to get to help on a very wide range of ML workflows.
My research interests generally revolve around software development for ML, Continual Learning, Generative models (GANs), Self-Supervised Learning, and, more recently, Reinforcement Learning. I'm not sure if I'll do a PhD or not.
There is still a lot of work to be done before we are able to create systems that can both adapt to changes in their environment, as well as retain previously acquired knowledge. My current goal is to promote and further research in this field.
Appart from this, I also have a great passion for videogames, sound design for games, as well as videogame lore. My gamedev experience so far consists of one serious gamedev class at McGill, as well as writing a few little Unity projects on the side. I'd like to get more seriously involved in game development/design someday (hopefully soon).
On a more personal note, here are some other things I enjoy:
- Making GPUs go Brrrr: https://api.wandb.ai/links/lebrice/77ms1m17
- Sharing something neat and wonderful with others (cute bits of code, new songs, food, movies, etc.)
- Fixing/repairing broken things in an elegant way
- Philosophical discussions
- Getting destroyed in code reviews (no, really, I love it!)
- Chess / Videogames / Videogame development (playing around in Unity)
- Classical / Electronic music






