Senior ML Compiler Engineer, Machine Learning Platform
Waymo is an autonomous driving technology company with a mission to make it safe and easy for people and things to get where they’re going. Since our start as the Google Self-Driving Car Project in 2009, Waymo has been focused on building the World’s Most Experienced Driver in hopes of improving the world's access to mobility while saving thousands of lives now lost to traffic crashes. Our Waymo Driver powers Waymo One, our fully autonomous ride-hailing service, as well as Waymo Via, our trucking and local delivery service. To date, Waymo has driven over 20 million miles autonomously on public roads across 25 U.S. cities and conducted over 20 billion miles of simulation testing.
Software Engineering builds the brains of Waymo's fully autonomous driving technology. Our software allows the Waymo Driver to perceive the world around it, make the right decision for every situation, and deliver people safely to their destinations. We think deeply and solve complex technical challenges in areas like robotics, perception, decision-making and deep learning, while collaborating with hardware and systems engineers. If you’re a software engineer or researcher who’s curious and passionate about Level 4 autonomous driving, we'd like to meet you.
The ML Platform team at Waymo provides a set of tools and technologies to support and automate the lifecycle of the machine learning workflow, including feature and experiment management, model development, debugging & evaluation, deployment, and monitoring. These efforts have resulted in making machine learning more accessible to teams at Waymo, including Perception, Behavior Prediction, Planner, Routing, Maps and Research, ensuring greater degrees of consistency and repeatability, and addressing the “last mile” of getting models into production and managing them once they are in place. We work hand in hand with machine learning experts in all parts of the company as well as our collaborators across Alphabet.
We are looking for engineers with a strong ML compiler, runtime, and accelerator background to help us improve compute performance on our car and build the software stack for the next-gen accelerator. You’ll work across the entire ML compiler stack -- from models to hardware. You will be pleasantly challenged with deploying a hugely diverse set of Waymo ML models on limited computation resources. Non-exhaustive examples of the types of work you will work on:
- Collaborate with hardware architects, software engineers and ML practitioners to understand the hardware architecture/requirements as well as new research directions to bridge the gap between ML research and hardware
- Architect and develop the compiler for Waymo’s next-gen accelerator to power inference of deep nets and compute workloads on to this architecture with an emphasis on performance
- ML performance tuning through hardware/software co-play
- Build tools to analyze workloads and improve performance
At a minimum, we’d like you to have:
- M.Sc in Computer Science, Mathematics or a related field
- Strong C++ and/or Python programming skills
- Passion for developing and optimizing compilers for modern architectures (MLIR etc.); Working knowledge of compiler architecture front-end and middle-end optimizations, scheduling, register allocation, and back-end code generation
It’s preferred if you have:
- PhD in Machine Learning or a related field
- Experience with implementing neural networks inference and compute workloads on dedicated SOC or GPU
- Experience with deep learning frameworks (e.g. TF, PyTorch, and MXNet).
- Performance analysis and optimization
- ML acceleration (compression, quantization, pruning etc.)