Machine Learning Engineer, Platform Architecture

AppleApplyPublished 9 months agoFirst seen 1 days ago
Apply

Summary

At Apple, our Platform Architecture group is responsible for connecting our hardware and software into one unified system! You’ll collaborate with engineers across Apple to design how our technologies work in unison, drive development of our renowned system-on-a-chip architecture and develop forward-looking prototype systems. Our team works at the intersection of ML applications and Apple silicon architecture. We collaborate with SoC/IP architecture, system, software, and algorithm teams to develop integrated, highly optimized solutions for machine learning applications.

Description

In this role, you will explore different ways of mapping ML workloads to Apple silicon and develop performance models/simulations. Your work will inform and validate architecture decisions. You will gain insights on how to make workloads run efficiently on our SoCs and communicate what we learn to software and algorithm teams.

Responsibilities

  • Create optimized implementations of ML workloads on Apple silicon including Neural Engine, GPU, and CPU.
  • Collaborate with IP and SoC architecture teams to develop performance models and simulations of future hardware.
  • Conduct performance studies to inform and validate architecture decisions.
  • Collaborate with system teams to create high-level performance models of emerging ML techniques and analyze system architecture trade-offs.

Minimum Qualifications

  • Bachelor’s degree
  • Ability to program in C/C++ and/or Python
  • Knowledge of computer architecture fundamentals
  • Domain knowledge in at least one hardware IP: ML HW accelerators or processing units such as GPU, image/video, CPUs, or similar

Preferred Qualifications

  • MS or PhD in EE/CE/CS or related field, or 3+ years of relevant experience
  • Experience with ML frameworks (e.g. PyTorch) and efficient implementations of machine learning algorithms
  • Experience in optimizing and deploying ML models and/or runtime frameworks in production inference/training environments
  • Experience in creating SoC or IP performance models/simulations
  • Verbal and written communication skills for collaborating with partner teams
  • Ability to prototype algorithms on CPU/GPU/Neural Engine, analyze performance metrics, and create high-level complexity models
  • Understanding of compiler frameworks/technologies