About The Role
The Inference ML Engineering team at Cerebras Systems is dedicated to enabling our fast generative inference solution through simple APIs powered by a distributed runtime that runs on large clusters of our own hardware. Our mission is to empower enterprises, developers, and researchers to unlock the full potential of our platform, leveraging its performance, scalability, and flexibility. The team works closely with cross-functional groups, including compiler developers, cluster orchestrators, ML scientists, cloud architects, and product teams, to deliver high-impact solutions that redefine the boundaries of ML performance and usability.
As a Senior Software Engineer on the Inference ML Engineering team, you will play a key role in designing and implementing APIs, ML features, and tools that enable running state-of-the-art generative AI models on our custom hardware. You will architect solutions that enable seamless model translation and execution, ensuring high throughput and low latency, while maintaining ease of use. Your responsibilities will include leading technical initiatives, collaborating with other engineering teams to enhance the developer experience, enabling key ML features at scale, maintaining our speed advantage, achieving high throughput, and supporting a wide range of ML workloads. This role offers an opportunity to shape the evolution of our ML ecosystem while tackling complex technical challenges at the intersection of machine learning, software, and hardware.
Responsibilities
- Drive and provide technical guidance to a team of software engineers working on complex machine learning integration projects.
- Design and implement ML features (e.g., structured outputs, biased sampling, predicted outputs) that improve performance of generative AI models at inference time.
- Design and implement high-throughput, low-latency multimodal inference models that support delivery of image, audio, and video inputs and outputs.
- Maintain our scalable serving backend for handling many concurrent requests per minute.
- Scale our inference service by implementing detailed observability throughout the entire stack.
- Analyze and improve latency, throughput, memory usage, and compute efficiency on the service and the implementation of various features.
- Optimize software to accelerate generative LLM inference by achieving high throughput and low latency.
- Stay up-to-date with advancements in machine learning and deep learning, and apply state-of-the-art techniques to enhance our solutions.
- Evaluate trade-offs between different approaches, clearly articulate design choices, and develop detailed proposals for implementing new features.
- Uncover, scope, and prioritize significant areas of technical debt across the software stack to ensure continued high quality of the inference service.
- Build and maintain robust automated test suites to ensure software quality, performance, and reliability.
- Contribute to an agile team environment by delivering high-quality software and adhering to agile development practices.
- Lead cross-functional initiative across the company to deliver high-quality inference solutions.
Skills and Qualifications
- Bachelor’s, Master’s, or PhD in Computer Science, Computer Engineering, Mathematics, or a related field.
- 8+ years of experience in large-scale software engineering, with a focus on deep learning or related domains.
- Proficiency in Python for building and maintaining scalable systems.
- Advanced proficiency in C++, with an emphasis on multi-threaded programming, performance optimization, and system-level development.
- Demonstrated experience driving cross-functional projects.
- Experience building and scaling large-scale inference systems for LLMs or multimodal models.
- Familiarity with LLM serving frameworks, such as vLLM, SGLang, and TensorRT-LLM.
- Solid understanding of software architectural patterns for large-scale, high-performance applications.
- Hands-on experience with ML frameworks, such as PyTorch, and a strong understanding of their underlying architectures.
- Strong problem-solving skills, with the ability to balance technical depth with practical implementation constraints.
- Exceptional communication and presentation skills, with the ability to work both independently and collaboratively across multidisciplinary teams.