As a Machine Learning Engineer in the Applied AI team at Graphcore, you will contribute to advancing AI technology by developing and optimising AI models tailored to our specialised hardware. Working closely with the Software development and Research teams, you will play a critical role in finding opportunities to innovate and differentiate Graphcore’s technology. We seek engineers with strong technical skills and an understanding of AI model implementation, eager to make a tangible impact in this rapidly evolving field.
The Team
The Applied AI team’s role is to be proxies for our customers, we need to understand the latest AI models, applications, and software to ensure that Graphcore’s technology works seamlessly with the AI ecosystem. We build reference applications, contribute to key software libraries e.g. optimising kernels for efficiency on our hardware, and collaborate with the Research team to develop and publish novel ideas in domains such as efficient compute, model scaling and distributed training and inference of AI models for multiple modalities and applications.
If you're excited about advancing the next generation of AI models on cutting-edge hardware, we’d love to hear from you!
Responsibilities and Duties
- Implement the latest machine learning models and optimise them for performance and accuracy, scaling to 1000s of accelerators.
- Test and evaluate new internal software releases, provide feedback to software engineering teams, make vital code fixes, and conduct code reviews.
- Benchmark models and key ML techniques to identify performance bottlenecks and improve model efficiency.
- Design and conduct experiments on novel AI methods, implement them and evaluate results.
- Collaborate with Research, Software, and Product teams to define, build, and test Graphcore’s next generation of AI hardware.
- Engage with AI community and keep in touch with the latest developments in AI.
Candidate Profile
Essential Skills
- Bachelor/Master's/PhD or equivalent experience in Machine Learning, Computer Science, Maths, Data Science, or related field.
- Proficiency in deep learning frameworks like PyTorch/JAX.
- Strong Python software development skills (nice to have C++/other languages).
- Familiar with deep learning fundamentals: models, optimisation, evaluation and scaling.
- Capable of designing, executing and reporting from ML experiments.
- Ability to move quickly in a dynamic environment.
- Enjoy cross-functional work collaborating with other teams.
- Strong communicator - able to explain complex technical concepts to different audiences.
Desirable:
- Experience in one or more of: {distributed training of large-scale ML models, building production systems with large language models, efficient computing based on low-precision arithmetic, deep learning models including large generative models for language, vision and other modalities}.
- Experience writing C++/Triton/CUDA kernels for performance optimisation of ML models.
- Have contributed to open-source projects or published research papers in relevant fields.
- Knowledge of cloud computing platforms.
- Keen to present, publish and deliver talks in the AI community.
Benefits
In addition to a competitive salary, Graphcore offers flexible working, a generous annual leave policy, private medical insurance and health cash plan, a dental plan, pension (matched up to 5%), life assurance and income protection. We have a generous parental leave policy and an employee assistance programme (which includes health, mental wellbeing, and bereavement support). We offer a range of healthy food and snacks at our central Bristol office and have our own barista bar! We welcome people of different backgrounds and experiences; we’re committed to building an inclusive work environment that makes Graphcore a great home for everyone. We offer an equal opportunity process and understand that there are visible and invisible differences in all of us. We can provide a flexible approach to interview and encourage you to chat to us if you require any reasonable adjustments.