Machine Learning Software Engineer

Bengaluru, Karnataka, India

Cerebras is developing a radically new chip and system to dramatically accelerate deep learning applications. Our system runs training and inference workloads orders of magnitude faster than contemporary machines, fundamentally changing the way ML researchers work and pursue AI innovation.

We are innovating at every level of the stack – from chip, to microcode, to power delivery and cooling, to new algorithms and network architectures at the cutting edge of ML research. Our fully-integrated system delivers unprecedented performance because it is built from the ground up for the deep learning workload.

Cerebras is building a team of exceptional people to work together on big problems. Join us!

About The Role

As an ML Engineer on our team, you will work with leaders from industry and academia at the intersection of hardware and software to develop state-of-the-art solutions for emerging problems in AI compute.

The Cerebras software platform is designed to be targeted by today’s most relevant machine learning frameworks such as TensorFlow, PyTorch, and JAX. Our ML software engineers are responsible for integrating these frameworks to work with our own highly optimized software stack. Fundamentally, you will be enabling ML researchers to use the software tools and workflows of today to unlock the advanced hardware capabilities of tomorrow.  

In this role, you will create tools and design workflows that enable the development, training, and deployment of machine learning models on our new hardware system. The workflow covers from a small to an extremely large models with trillion of parameters. Furthermore, you will be lowering abstract computations expressed via third-party ML frameworks into representations that can be compiled into highly optimized executables that target the Cerebras system, and help us design a general backend that can accommodate most advance deep learning models. You will also have the opportunity to participate and contribute to open-source projects that we depend on. 

Responsibilities

  • Work on the end-to-end training, eval, and inference workflow with customer-facing API
  • Distributed training both via data and model parallelism
  • Scale and optimize the data pipeline
  • Lower Deep Learning framework graph presentation into our internal IR and add any missing OPs
  • Compiler optimization such as graph rewrite, constant folding, common expression elimination, and canonization
  • Lower high-level OPs to low-level OPs such as affine dialect
  • Handle both static and dynamic computational graph

Requirements

  • Bachelor’s, Master’s, or foreign equivalent in Computer Science, Engineering, or related
  • 5+ years software development experience
  • Understanding of state-of-the-art deep learning model architectures and training protocols
  • Strong Python and C++ development skills
  • Direct experience with at least one Deep Learning framework internals is strongly preferred

Preferred Skills

  • Contributed to a deep learning framework
  • Experience with distributed training algorithm
  • Familiar with deep learning model architecture
  • Experience with MLIR, LLVM, or TVM

Cerebras Systems is committed to creating an equal and diverse environment and is proud to be an equal opportunity employer. We celebrate different backgrounds, perspectives, and skills. We believe inclusive teams build better products and companies. We try every day to build a work environment that empowers people to do their best work through continuous learning, growth and support of those around them.


This website or its third-party tools process personal data. For more details, click here to review our CCPA disclosure notice.

Apply for this Job
* Required

Privacy Preference Center