Apple is looking to scale and extend an on-device ML benchmarking service used across Apple, supporting a range of devices from wearables to Macs. This role contributes to building an end-to-end developer experience for ML development, enabling iteration on model authoring, optimization, transformation, execution, debugging, profiling, and analysis.
Requirements
- Strong ML fundamentals across training, evaluation and inference, and knowledge of modern model architectures such as Transformers, CNNs or Stable Diffusion;
- Programming and software design skills (proficiency in Python and/or C/C++);
- Understanding about performance modeling, analysis and profiling of computer systems, and how to optimize code run time and throughput for a given platform;
- 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.
Responsibilities
- Provide deep insights of on-device ML model performance, as well as explore optimizations where appropriate.
- Drive new capabilities for ML benchmarking service, in
- Play a key role in maintaining the health and performance of the service, including debugging failures and addressing user questions / requests.
- Collaborate extensively with ML and hardware teams across Apple.
Other
- A passion for edge / on-device ML;
- Collaboration, product-focus and excellent interpersonal skills.
- Masters or PhDs, or equivalent, in Computer Science or relevant subject areas.
- OS kernel programming, computer architecture or performance analysis
- Developer tools such as vTune and Nvidia Nsight