On-device ML Performance Infrastructure Engineer
The On-Device Machine Learning team at Apple is responsible for enabling the Research to Production lifecycle of cutting edge machine learning models that power magical user experiences on Apple’s hardware and software platforms. Apple is the best place to do on-device machine learning, and this team sits at the heart of that discipline, interfacing with research, SW engineering, HW engineering, and products.
The team builds critical infrastructure for analyzing latency, memory and numerical correctness of the latest machine learning architectures across all Apple devices. This cross functional effort powers model developers’ decisions to get full machine performance via advanced quantization/sparsity/architecture tradeoffs. This infrastructure underpins most of Apple’s critical machine learning workflows across Camera, Siri, Health, Vision, etc., and as such is an integral part of Apple Intelligence.
Our group is looking for an ML Performance Infrastructure Engineer, with a focus on ML frameworks/runtimes and system performance. The role entails building the infrastructure for giving developers actionable feedback in the world’s foremost ML graph compilation and runtime system capable of optimizing & executing ML models efficiently on Apple products and services.
As an engineer in this role, you will be primarily focused on building performance infrastructure to present high level views of ML inference behavior which are created by gathering lower level data from execution delegates and relating the data to the high level model. You’ll work with models created by the most popular ML frameworks (PyTorch, JAX, MLX, etc) and will analyze the execution to ensure the stack achieves full machine performance on Apple Silicon. The role also has exposure to building higher level APIs and toolings to enable developers to visualize, diagnose, and debug correctness and performance issues while onboarding models to on-device deployment.
We are building the first end-to-end developer experience for ML development that, by taking advantage of Apple’s vertical integration, allows developers to iterate on model authoring, optimization, transformation, execution, debugging, profiling and analysis. Providing actionable feedback to ML developers w.r.t. the details of their model’s inference behaviors is crucial to achieving full machine performance.
The role requires understanding of ML architectures, compilers, runtimes, system performance, and system software engineering.
Key responsibilities:
* Build production-critical system software for tracking low level details of executing ML models on Apple Silicon and then associating this with ops from high level models.
* Optimize model execution for various system goals such as performance, memory, energy efficiency, etc.
* Contribute to maintaining the health and performance of the ML benchmarking service, including debugging failures and addressing user questions / requests.
- Highly proficient in C++. Familiarity with Python.
- Familiarity with Operating Systems, embedding programming, parallel programming.
- Knowledge of ML fundamentals including training regimes, evaluation and deployment/inference.
- A passion/interest for ML, particularly applied to on-device use cases.
- Good communication skills, including ability to communicate with cross-functional audiences.
- Masters or PhDs in Computer Science or relevant disciplines.
- On-device ML stack, such as TFLite, ONNX, ExecuTorch, etc.
- ML authoring framework (PyTorch, TensorFlow, JAX, etc.).
- Compiler stack (MLIR/LLVM/TVM etc.).
- Accelerators and GPU programming.
- OS kernel programming, computer architecture or performance analysis
- Developer tools such as vTune and Nvidia Nsight
- ML architectures such as Transformers, CNNs or Stable Diffusion a strong plus.
Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.