Summary
Posted: May 16, 2024
Weekly Hours: 40
Role Number:200524831
Excited to play a vital role in deploying blazingly fast ML models for Apple Silicon? Core ML provides the inference stack to execute neural networks on Macs, iPhones, Watch. Its the technology that powers the transformative ML driven user features across native (e.g. Camera, Photos, Keyboard, Siri, Facetime, spatial computing etc) and external apps (Adobe Photoshop, Pixelmator etc), by utilizing the amazing power of Apple hardware (CPU, GPU and neural engine). The primary bridge between deep learning models, trained with PyTorch / JAX and running them efficiency on Apple Silicon, is the step of model conversion: which is the process of converting the computational graph produced by training ML frameworks to the Apple friendly computational graph that Core ML can accept and execute. In this role, you will contribute on the development and enhancement of this very first step. You will work on bringing state of the art models, of varying sizes (few millions to hundreds of millions of parameters) to run on device with high performance (low latency, memory and power). We are looking for someone who is highly self motivated, has strong understanding of deep learning models and is passionate to bring the amazing models from ML research and different domains (vision, image/text generation, audio etc) to real applications on device. If you have a proven track record of model deployment/optimization, writing high quality code and shipping libraries to a large user base, we strongly encourage you to apply. Our work is highly visible. You will collaborate with innovative product teams across Apple and with pro external developers (e.g. Adobe, Hugging Face, Meta etc) and work with them to export and efficiently deploy deep learning models on Apple devices. You will heavily contribute to Apple's open source projects as part of the process.
Want more jobs like this?
Get Data and Analytics jobs in Seattle, WA delivered to your inbox every week.
Description
We are the team that develops Core ML Tools, an open source python library for converting PyTorch and TensorFlow models to Core ML and optimizing models for performance. If you enjoy playing with the building blocks and architecture of machine learning models, strong at understanding the mathematical operations making these models, manipulating the computational graph to optimize for speed / execution , then you are going to have fun in this role! Responsibilities include: * Performing model conversion from PyTorch , among other libraries, to the Core ML model format * Running and benchmarking models. Understanding the effect of computational graph representation on the model execution performance on neural engine, GPU, CPU. * Proficient in setting up and running open source ML models (e.g. Hugging Face), understanding ML pipelines and reasoning on which parts should be part of the model, and which outside the model as pre-processing and post processing steps * Adding graph passes for improving performance. Publishing examples of models that are converted in "performant" ways (example: the Apple Stable diffusion open source library) * Collaborate effectively with developers (internal and external). Be an active member of the open source CoreMLTools community on Github, interacting with developers, addressing GitHub issues etc * Implementing new operations / layers for neural networks * Improving model optimization documentation, writing examples, tutorials and guides
Key Qualifications
- Strong ML fundamentals and understanding of the latest model architectures. Strong understanding of operations that constitute a model (e.g. gather, convolution, attention etc)
- Fluent in PyTorch, TF or JAX
- Ability to work comfortably with computational graphs and IRs (compiler background a strong bonus)
- Ability to profile models and reason about the effect of conversion / model representation on device performance
- Strong python programming skills (C++ a strong bonus)
- Experience with developing public facing APIs (in python or C++/C)
- Passionate about engaging and collaborating with ML community in the open source (track record in this area a strong bonus)
Education & Experience
* BS/MS/PhD in Computer Science or Electrical Engineering * 2+ years of industry experience
Additional Requirements
- Apple's most important resource, our soul, is our people. Apple benefits help further the well-being of our employees and their families in meaningful ways. No matter where you work at Apple, you can take advantage of our health and wellness resources and time-away programs. We're proud to provide stock grants to employees at all levels of the company, and we also give employees the option to buy Apple stock at a discount - both offer everyone at Apple the chance to share in the company's success. You'll discover many more benefits of working at Apple, such as programs that match your charitable contributions, reimburse you for continuing your education and give you special employee pricing on Apple products.
- Apple benefits programs vary by country and are subject to eligibility requirements.
- Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure 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. Apple is committed to working with and providing reasonable accommodation to applicants with physical and mental disabilities. Apple is a drug-free workplace.
Pay & Benefits
- At Apple, base pay is one part of our total compensation package and is determined within a range. This provides the opportunity to progress as you grow and develop within a role. The base pay range for this role is between $131,500 and $243,300, and your base pay will depend on your skills, qualifications, experience, and location.
Apple employees also have the opportunity to become an Apple shareholder through participation in Apple's discretionary employee stock programs. Apple employees are eligible for discretionary restricted stock unit awards, and can purchase Apple stock at a discount if voluntarily participating in Apple's Employee Stock Purchase Plan. You'll also receive benefits including: Comprehensive medical and dental coverage, retirement benefits, a range of discounted products and free services, and for formal education related to advancing your career at Apple, reimbursement for certain educational expenses - including tuition. Additionally, this role might be eligible for discretionary bonuses or commission payments as well as relocation. Learn more about Apple Benefits.
Note: Apple benefit, compensation and employee stock programs are subject to eligibility requirements and other terms of the applicable plan or program.
More
- Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure 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.