Machine Learning Engineer
Job Title: Machine Learning Engineer
Team: Machine Learning
Reports to: Head of ML
Location: Exeter, UK
A Machine Learning Engineer at DeGould will be responsible for end-to-end model pipelines, from building upon pre-existing image data and labelling pipelines to produce high quality datasets, to monitoring and setting up automated retraining pipelines using best practices in MLOps and DevOps. They will build and deploy bespoke computer vision ML models using a service-led architecture in AWS in order to process photos from DeGould’s ultra high-resolution imaging booths. Their objective is to use ML to convert this data into useful information that creates value for customers.
The main deliverables of the role are:
- Deliver performant machine learning models for customers.
- Write production-grade code for serving machine learning models, using industry best practices for model deployment.
- Building capabilities to monitor and evaluate model performance and metrics.
Detailed duties of the role include:
- Train detection, segmentation and/or classification machine learning models.
- Write production, robust, readable and extendable code to support machine learning pipelines.
- Use industry best practices and seek to implement improvements across the machine learning lifecycle (MLOps).
- Support customers with both regular and ad-hoc performance analysis as required.
- Support customer queries, proactively seek technical solutions that solve possible customer problems and react to customer feedback.
- Keep up to date with latest developments in machine learning for customer applications.
- Undertaking any other tasks/duties as may be reasonably required to fulfil DeGould’s objectives.
Dependant on the individual role some, or all of the following:
- Developing and championing robust MLOps frameworks and policies.
- Training and maintaining performant vehicle segmentation models.
- Labelling tasks and data quality.
- Designing and implementing reporting dashboards.
- Developing novel approaches from academic and industry research.
- Production model deployment and maintenance.
- Strong knowledge of Python (numpy, pandas, seaborn, matplotlib, dvc, streamlit, opencv and more).
- Strong knowledge of modern programming paradigms (OOP, functional programming etc).
- Ability to write clean, robust, readable, error handling and error tolerant code.
- Good knowledge of at least one of PyTorch, Keras, Tensorflow, Nvidia TAO (TLT).
- Working knowledge of core AWS concepts and services such as EC2, ECS, EKS, RDS, Cloudwatch, Quicksight and others.
- Good knowledge of DevOps and MLOps tools, including usage of Git, bash, unix, CI/CD pipelines (GitHub Actions or similar).
- Technical understanding of convolutional neural network architecture (CNNs) including YOLOv4/v5, Detectron2 or similar.
- Technical knowledge of relevant ML performance metrics and how to apply them to monitor model performance.
- Able to work effectively both as part of a team and individually.
As an employee of DeGould Ltd, you are required to meet a number of common standards of behaviour, accountabilities and outcomes. In addition, and in relation to this role it is expected that the successful candidate will exhibit these behaviours:
- Creative – open to new ideas and unafraid to try new approaches.
- Analytical – capable of working through detail and uses data in decision making.
- Flexibility – thriving in a fast paced, changing and opportunity rich environment.
- Collaborative – enthusiastically works with colleagues and customers alike.
- Dependable – deliver on stakeholder commitments in a timely manner.