Logo for Anthropic
Research Engineer, Interpretability
Anthropic
Posted on 5/9/2024
Description

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. If you're unfamiliar with this type of research, you might be interested in this introductory essay, or Zoom In: An Introduction to Circuits. (For a broader overview of work in this space, one of our team's alumni maintains a helpful reading list.)
 
Some useful analogies might be to think of us as trying to do "biology" or "neuroscience" of neural networks, or as treating neural networks as binary computer programs we're trying to "reverse engineer".
 
Some of our team's notable publications include A Mathematical Framework for Transformer CircuitsIn-context Learning and Induction Heads, and Toy Models of Superposition. This work builds on ideas from members' work prior to Anthropic such as the original circuits threadMultimodal NeuronsActivation Atlases, and Building Blocks.
 
We aim to create a solid foundation for mechanistically understanding neural networks and making them safe (see our recent vision post). In the short term, this means a we focus a lot of our attention on the issue of "superposition" (see Toy Models of SuperpositionSuperposition, Memorization, and Double Descent, and our May 2023 update). But this is just a stepping stone towards our goal of mechanistically understanding neural networks.

Responsibilities:

  • Develop methods for understanding LLMs by reverse engineering algorithms learned in their weights
  • Design and run robust experiments, both quickly in toy scenarios and at scale in large models
  • Build infrastructure for running experiments and visualizing results
  • Work with colleagues to communicate results internally and publicly

You may be a good fit if you:

  • Have a strong track record of scientific research (in any field), and have done some work on Interpretability
  • Enjoy team science – working collaboratively to make big discoveries
  • Are comfortable with messy experimental science. We're inventing the field as we work, and the first textbook is years away
  • You view research and engineering as two sides of the same coin. Every team member writes code, designs and runs experiments, and interprets results
  • You can clearly articulate and discuss the motivations behind your work, and teach us about what you've learned. You like writing up and communicating your results, even when they're null

Strong candidates may also have experience with:

  • High performance, large-scale ML systems
  • GPUs, Kubernetes, Pytorch, or OS internals
  • Language modeling with transformers
  • Reinforcement learning
  • Large-scale ETL

Representative Projects:

  • Garcon - a tool which allows researchers to easily access LLMs internals from a jupyter notebook
  • ETL pipelines for collecting and analyzing LLM activations at large scale
  • Profiling and Optimizing ML Training, including parallelizing to many GPUs
  • Make launching ML experiments and manipulating+analyzing the results fast and easy
  • Writing a design doc for fault tolerance strategies
  • Creating an interactive visualization of attention between tokens in a language model
Familiarity with Python is required for this role.

More Similar Roles...

    Want more remote roles like this one sent to you?