Machine Learning Software Engineer
- Cupertino, CA
Posted: Oct 2, 2020
Role Number: 200196901
The Video Computer Vision org is a centralized applied research and engineering organization responsible for developing real-time on-device Computer Vision and Machine Perception technologies across Apple products. We balance research and product to deliver Apple quality, state-of-the-art experiences, innovating through the full stack, and partnering with HW, SW and ML teams to influence the sensor and silicon roadmap that brings our vision to life. Examples include FaceID, Animoji/Memoji, Scene Understanding, People Understanding and Positional Tracking (VIO/SLAM).
- Strong Python programming skills.
- Understanding of data structures, software design principles and algorithms.
- Experience with Python scientific libraries like numpy, scipy.
- Experience with one or more deep learning framework such as Tensorflow, PyTorch or Keras.
- BONUS QUALIFICATIONS:
- Experience developing machine learning solutions.
- Understanding of compute hardware design, CPU and GPU architectures.
- Familiarity with GPU programming, shader programming, CUDA, Metal or OpenCL.
- Experience with C++, Objective-C, Swift.
- iOS development experience.
- Solid math skills: linear algebra, computational science and optimization.
- Publication record in ML conferences is a plus.
We're looking for strong software engineers to build a next generation Deep Learning framework geared towards fueling on-device machine learning capabilities and emerging innovations. You'll be part of small team of developers and deep learning experts working in the area of device-aware neural network optimization and neural architecture search. We're looking for candidates with polished coding skills, passionate about machine learning, computational science and hardware. Any background and experience level is acceptable. In exchange, we offer respectful work environment, flexible set of responsibilities, access to world class experts and growth opportunities in one of the best companies in the world. Design and develop APIs for common and emerging deep learning primitives: layers, tensor operations, optimizers and more specific hardware features. Implement efficient tensor operations and DNN training algorithms. Train and evaluate DNNs for the purpose of benchmarking neural network optimization algorithms. Our framework reduces latency and power consumption of neural networks found in many Apple products. Perform research in emerging areas of efficient neural network development including quantization, pruning, compression and neural architecture search, as well as novel differentiable compute primitives. We encourage publishing novel research at top ML conferences.
Education & Experience
PhD or MS CS/CE/EE (or equivalent) in the area of computer science, computer vision, imaging science, optics, is helpful
Back to top