About the role:
When you see what modern language models are capable of, do you wonder, "How do these things work? How can we trust them?"
The Interpretability team at Anthropic is working to reverse-engineer how trained models work because we believe that a mechanistic understanding is the most robust way to make advanced systems safe. We’re looking for researchers and engineers to join our efforts.
People mean many different things by "interpretability". We're focused on mechanistic interpretability, which aims to discover how neural network parameters map to meaningful algorithms. Some useful analogies might be to think of us as trying to do "biology" or "neuroscience" of neural networks using “microscopes” we build, or as treating neural networks as binary computer programs we're trying to "reverse engineer".
A few places to learn more about our work and team at a high level are this introduction to Interpretability from our research lead, Chris Olah; a discussion of our work on the Hard Fork podcast produced by the New York Times, and this blog post (and accompanying video) sharing more about some of the engineering challenges we’d had to solve to get these results. Some of our team's notable publications include A Mathematical Framework for Transformer Circuits, In-context Learning and Induction Heads, Toy Models of Superposition, Scaling Monosemanticity, and our Circuits’ Methods and Biology papers. This work builds on ideas from members' work prior to Anthropic such as the original circuits thread, Multimodal Neurons, Activation Atlases, and Building Blocks.
We aim to create a solid foundation for mechanistically understanding neural networks and making them safe (see our vision post). In the short term, we have focused on resolving the issue of "superposition" (see Toy Models of Superposition, Superposition, Memorization, and Double Descent, and our May 2023 update), which causes the computational units of the models, like neurons and attention heads, to be individually uninterpretable, and on finding ways to decompose models into more interpretable components. Our subsequent work found millions of features in Sonnet, one of our production language models, represents progress in this direction. In our most recent work, we develop methods that allow us to build circuits using features and use this circuits to understand the mechanisms associated with a model's computation and study specific examples of multi-hop reasoning, planning, and chain-of-thought faithfulness on Haiku 3.5, one of our production models.” This is a stepping stone towards our overall goal of mechanistically understanding neural networks.
We often collaborate with teams across Anthropic, such as Alignment Science and Societal Impacts to use our work to make Anthropic’s models safer. We also have an Interpretability Architectures project that involves collaborating with Pretraining.
Responsibilities:
- Implement and analyze research experiments, both quickly in toy scenarios and at scale in large models
- Set up and optimize research workflows to run efficiently and reliably at large scale
- Build tools and abstractions to support rapid pace of research experimentation
- Develop and improve tools and infrastructure to support other teams in using Interpretability’s work to improve model safety
You may be a good fit if you:
- Have 5-10+ years of experience building software
- Are highly proficient in at least one programming language (e.g., Python, Rust, Go, Java) and productive with python
- Have some experience contributing to empirical AI research projects
- Have a strong ability to prioritize and direct effort toward the most impactful work and are comfortable operating with ambiguity and questioning assumptions.
- Prefer fast-moving collaborative projects to extensive solo efforts
- Want to learn more about machine learning research and its applications and collaborate closely with researchers
- Care about the societal impacts and ethics of your work
Strong candidates may also have experience with:
- Designing a code base so that anyone can quickly code experiments, launch them, and analyze their results without hitting bugs
- Optimizing the performance of large-scale distributed systems
- Collaborating closely with researchers
- Language modeling with transformers
- GPUs or Pytorch
Representative Projects:
- Building Garcon, a tool that allows researchers to easily access LLMs internals from a jupyter notebook
- Setting up and optimizing a pipeline to efficiently collect petabytes of transformer activations and shuffle them.
- Profiling and optimizing ML training, including parallelizing to many GPUs
- Make launching ML experiments and manipulating+analyzing the results fast and easy
- Creating an interactive visualization of attention between tokens in a language model
Role Specific Location Policy:
- This role is based in San Francisco office; however, we are open to considering exceptional candidates for remote work on a case-by-case basis.