This job has expired

ML Performance Engineer

Employer
Deep Render
Location
UK
Salary
Competitive
Closing date
23 Feb 2021

View more

Sector
Technology & New Media
Contract Type
Permanent
You need to sign in or create an account to save a job.

Job Details

We're looking for engineers who will help us deliver AI-based compression to end-users by porting our codec from GPU-based systems to (primarily) mobile platforms, thus going from research to production. You'll enjoy working with low-level code and are comfortable with programming across multiple platforms. The ideal candidate will have a deep understanding of optimisation methodologies to reduce runtime and memory footprint for neural networks and has experience with taking algorithms from research to deployment on edge devices.

Responsibilities:

  • Work in a team to port ML research algorithms to edge devices with a focus on smartphones (Android, iOS).
  • Profile various algorithms to analyse performance and identify any bottlenecks. Profiling includes data loading, data movement, data caching, operation count, execution chipset, warm-up latency and others.
  • Implement solutions to the identified bottlenecks.
  • Optional: Write custom operations using the low-level API for Android (OpenGL ES) and iOS (Metal) systems.
  • Optional: Apply standard neural network runtime optimisation methods such as pruning, low-bit quantisation, architecture tuning, batching and others.


Requirements:

  • At a minimum, a Bachelor's degree in computer science or related field (Mathematics, Physics, Engineering).
  • At a minimum, 4-6 years of experience in performance optimisation.
  • Some formal training in machine learning; either through education, work experience and/or extensive private projects. Resulting in an understanding of ML frameworks such as PyTorch and/or Tensorflow.
  • Expertise in Python (Expert) and C++ (Semi-Expert)
  • Some experience with ML-programming in either Android and IOS: Android Studio, XCode, Google ML, Core ML.
  • Some experience with optimisation techniques. Examples include SIMD (SSE, AVX), vectorisation, loop dependencies, multithreading, multi-processor usage and tensor cores.


Preferred skills:

  • A strong machine learning background
  • Significant experience with ML-programming in either Android and IOS: Android Studio, XCode, Google ML, Core ML. Knowledge of the development stack for Android and iOS.
  • Experience with Android NNAPI and or other Android-based NPU SDKs (Exynos, Hexagon HiSilicon).
You need to sign in or create an account to save a job.

Get job alerts

Create a job alert and receive personalised job recommendations straight to your inbox.

Create alert