Staff/Senior Machine Learning Engineer - Edge AI & Systems
OmniVision
- Singapore
- Permanent
- Full-time
- Research, experiment and develop new Machine Learning packages for efficiently running CNN models on NPU for various EdgeAI applications
- Enhance, maintain and support existing toolchain features, model training pipelines, model zoo and modify model architectures for NPU optimality.
- Develop python packages for supporting toolchain in various phases of compiler workflow.
- Serve as SME within the team to support ML queries for internal & external users.
- Keep management up to speed with trends and innovations in EdgeAI space.
- Strong understanding of all aspects of deep learning models including model/block definitions in various frameworks, forward and backward passes, multi-GPU training and inference logic, data pre-/post-processing algorithms, weight distribution analysis and debugging
- Object-oriented python product development skills for deep learning applications
- Good communication, collaboration, task estimation & reporting, CI/CD via tools such as Confluence, Git, JIRA etc.
- Master or Ph.D in AI/ML or related field.
- Minimum 2 years of professional PyTorch experience in training CNN models for Computer Vision applications.
- At least 3 years of commercial software development experience, preferably in C++ or Python.
- Knowledge of model optimization techniques, including but not limited to: Quantization, Tuning, Knowledge Distillation etc.
- Knowledge of Deep Learning frameworks Like TensorFlow, TFLite, Keras and ONNX.
- Good understanding of algorithms like Face Recognition, Pose Estimation, Image Segmentation, Object Detection, Gesture Recognition etc.
- Familiarity with MatPlotLib, W&B and other relevant Python packages for ML applications development following is a plus.