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:
Requirements:
Preferred skills:
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