What to Expect
As a ML Software Engineer within Dojo, you will play a crucial role in bridging the gap between our cutting-edge Dojo training accelerator and the neural networks developed by our Autopilot ML team. Collaborate closely with world-class ML Researchers, Compiler and Hardware Engineers to tackle unique challenges at the intersection of AI and ML training accelerators. Your expertise will be instrumental in optimizing and scaling our neural network training infrastructure.
What You’ll Do
Work with machine learning Researchers and Engineers to run FSD models on our in-house ML training accelerator
Profile performance of training workloads in our cluster, identify bottlenecks in and between CPU/Dojo code execution, and work on optimizing its throughput and scalability within and across nodes to ultimately reduce convergence time
Coordinate with the team managing the hardware cluster to maintain high availability / jobs throughput for Machine Learning
Integrate the training software into our continuous integration cluster to support metrics persistence across experiments, weekly/nightly neural network builds, and other unit / throughput tests
What You’ll Bring
Degree in Engineering, Computer Science, or equivalent in experience and evidence of exceptional ability
Practical experience programming in Python and/or C++
Experience working with training frameworks, ideally PyTorch
Proficient in system-level software, in particular hardware-software interactions and resource utilization
Understanding of modern machine learning concepts and state of the art deep learning
Profiling and optimizing CPU-accelerator interactions (pipelining compute/transfers, etc.)
Devops experience, in particular dealing with clusters of training nodes, and filesystems for very large amount of training data
PALO ALTO, California
Full time