Research Engineer

San Francisco /
Engineering /
Company Description 

Adept is an ML research and product lab building general intelligence by enabling humans and computers to work together creatively. We’ve raised a $65M Series A from Greylock and Addition and several angel investors, and were recently highlighted by Fortune

Check out our demo and blog to see what the future holds.

Team Culture 

We're looking for team members who are energized by our ambitious mission and excited to join a fast-paced startup environment, working closely together in our new office in San Francisco.

Position Summary
At Adept, our mission is to build intelligent natural language interfaces to the internet or a computer, empowering people to interact with machines just like they would with a teammate. At the heart of this human-machine partnership lie some of the most exciting research challenges in AI. We’re looking for research engineers to join our team across several different roles.

Inference team: You will own the inference stack end-to-end from the interface to the web to the execution on the GPU. You and systems researchers will work together to find bottlenecks in inference performance and increase its efficiency and speed. You will work closely with our researchers to guide them on what impact new model features will have on inference latency, throughput, and cost. This role is critical for driving user and product value from Adept's research, as well as in learning from human feedback.

Reasons you might be a good fit
You're passionate about bringing our models to the world. The idea of relentless performance tuning excites you -- you love going deep on optimization problems!

Skills you need to bring
Experience developing robust, realtime, web facing APIs
Experience with CUDA and GPU programming
Experience with NVIDIA's TensorRT or Faster Transformer
Deep systems knowledge on how to make stuff run fast
Experience using GPU profiling tools to understand performance bottlenecks
Experience with neural networks (big plus if you've worked with large language models)
Excellent all around software engineering skills in Python and C++
This role reports to Erich Elsen 

Training Team:
You will lead the development of our ML training framework and related libraries. You will work with researchers as we develop new algorithms, new distributed optimization techniques, and make our existing framework more efficient. We are looking for a Research Engineer who is excited to build the most optimized codebase to train giant models and teach them how to use tools.

What you'll achieve
Implement our distributed training framework in PyTorch that can enable training really giant models efficiently across various modalities including text, actions, images, and speech
Enable large models to learn to use tools during training
Speed up distributed training: it is expected that you be proactive and able to propose methods by which to achieve this, e.g,. asynchronous pipeline parallelism, zero sharding, operator fusion
Work with teammates focusing on modeling to make sure that new ideas can be expressed within our framework
Build understanding of model performance within the team by adding support for profiling tools like nsight, nvprof, etc

Skills you'll need to bring
Deep understanding of libraries like PyTorch, communication libraries like NCCL and MPI, and training frameworks like Megatron, Deepspeed or Fairseq
Experience with building and training large ML models and how to profile and debug themImplemented new architectures using PyTorch, Tensorflow or Jax.

This role reports to Erich Elsen 

Tool Use Team

Example projects on this team 
Optimize performance for our batch-rejection-sampling algorithm (both offline throughput and online latency!)
Debug numerical issues or problems with model convergence
Scale our training + evaluation pipeline to use 10 times as much compute or data
Design a new algorithm for learning from human feedback when the feedback is both noisy and implicit

Reasons you might be a good fit
You know how modern machine learning techniques work and how to scale them up
You have a bias toward simplicity - we use the simplest techniques we can get away with

You have good intuition for how computers work, and in particular how they interact with modern machine learning techniques.

This role reports to Augustus Odena 

Others you will learn from: 
Anmol Gulati
Ashish Vaswani
David Luan
Fred Bertsch 
Kelsey Schroeder 
Maxwell Nye 
Niki Parmar  

Our benefits 
Comprehensive health insurance coverage
Unlimited vacation time 
Competitive salary 
Stock options 
Daily meals + comfortable
SF office 
Dog friendly 

Location: San Francisco, CA
Adept is an equal opportunity employer. We're excited about candidates who will raise the bar of our team, regardless of specific experiences -- we encourage applicants from a range of backgrounds to apply.