Applecart
Machine Learning Systems Engineer
Job Description
Summary
Posted: May 15, 2024
Weekly Hours: 35
Role Number:200551577
As part of Apple Cloud Platform, our team is responsible for building libraries and services which form the foundations of critically important systems at Apple. Specifically, as a ML Systems Engineer, you will focus on building software stack to run large machine learning models (generative AI, LLMs) over multiple high performance Apple Silicon SoCs.
Key Qualifications
- Practical experience running and evaluating machine learning models for quality and performance metrics
- Experience in system-level code optimisation and power/performance evaluation for ML acceleration hardware
- Large-scale server side development experience
- Experience programming in Swift, C, C++, iOS/macOS, XCode
- Bonus qualification: familiar with Apple ML stack (ANE, CoreML, MPS/Metal), high-level general distributed ML stack (PyTorch-distributed, NCCL) and high throughput inter-chip communication systems.
Description
We write software in Swift and C++ to build services and infrastructure around innovative generative AI and machine learning. We write performant and scalable frameworks to distribute and coordinate ML inference tasks to different hardware acceleration IP blocks on different SoCs; we build jobs to deploy and load models, and support high level machine learning platforms. Our software has a growing user base and the team is looking to expand to build amazing products making it a truly exciting place to work.
Weʼre a collection of highly skilled and friendly engineers who value each otherʼs opinions and experience. We strive for excellence and believe strongly in the quality of our output. We have formed a team of domain experts who specialise in specific core subject areas, and also have broad experience of cloud software services and platforms. You will integrate inference code into a full service stack to ensure that user traffic is served reliably and performantly, and will have a strong focus on developing code that is easy and safe to develop, update and monitor.
Education & Experience
B.S. in Computer Science or other numerate subject, with 6+ years experience; or M.S. in Computer Science or other numerate subject, with 4+ years experience
Additional Requirements
- Quality focus – produce reliable, maintainable, deliverable software
- Comfortable diving deep – working across multiple levels of abstraction
- Good at handling relationships & communication – collaborate well with colleagues across a
- wide range of functions.