Senior ML Software Engineer - Autonomous Vehicles
NVIDIA is seeking an experienced Senior Machine Learning Engineer to join our Autonomous Vehicles team. In this role you will be applying machine learning to Autonomous Vehicle perception, to develop features for our next generation autonomous driving platform. We are looking for a creative and curious engineer who is proactive and thorough, and who enjoys getting to the bottom of things and coming up with inventive solutions. NVIDIA has some of the most forward-thinking and hardworking people in the world. If this sounds like you, we want to hear from you!
What you’ll be doing:
Improving our DNN training code: making it train faster, with more machines, while using resources better.
Designing our training code to allow for more engineers to use it simultaneously, with more tasks.
Preparing data for training: building a horizontally scalable data preparation pipeline that is simple to use and doesn't delay training.
Designing and implementing a horizontally scalable, high-throughput cloud inference pipeline for evaluation and KPI calculation.
Streamlining workflows to allow creation of verified, deployable artifacts from annotated data.
Developing tools for introspection and visualization to understand what is going well and what can be improved in our work.
Striving to reach speed-of-light for training, data-preparation and cloud-inference.
Working closely with platform and perception DNN engineers, combining expertise about large-scale ML systems with deep knowledge of perception DNNs.
What we need to see:
MSc or PhD in computer science or equivalent experience.
5+ years related industry experience.
Familiarity with modern machine learning environments such as Pytorch.
Excellent C++, Python and/or CUDA programming skills.
Passionate about software development and code quality. You follow the latest standards and techniques, you write unit tests and benchmarks and, without being asked, always leave the code at a better state than you found it.
You are passionate about optimization: you know how to, and enjoy, writing efficient code, from high-level ML algorithms to low-level HW utilization.
Ability to communicate, collaborate, and work well with others: We are part of a large ecosystem - we are both clients of other teams and we serve other teams. Collaborating with and communicating clearly within the team and with others outside of the team is inherent in this role.
Ways to stand out from the crowd:
Publications in the area of efficient ML (accelerate training and inference).
Industry experience in building large scale ML pipelines, possibly for autonomous vehicles.
Significant contribution to leading related open-source projects.
Perception for autonomous technologies is one of the most exciting and challenging areas to work on today. Machine Learning is doing a lot of the heavy lifting, but in order to be exceptionally good at Machine Learning for Perception, we need to get the fundamentals right! Come join the Perception ML Foundation team where we combine expertise in machine learning, HPC and cloud-compute to build the perception ML 'factory'. This factory makes the generation of perception ML models efficient, scalable and a pleasure to use. It consists of the major ML related workflows: data preparation, DNN training, optimization for production, and large-scale cloud inference and evaluation.
We believe that creating this high-throughput factory requires diverse, interdisciplinary thinking and expertise: understanding modern Perception architectures, ML optimization techniques, large-scale software systems, HPC and the hardware powering up accelerated-cloud compute, as well as MLOps, and micro services. We refer to all of these abilities as ML foundation engineers. If this is your area of expertise and your passion, then you may be the ideal fit for this team and for NVIDIA.