Transcoders Find Interpretable LLM Feature Circuits

Jacob Dunefsky, Philippe Chlenski, Neel Nanda
6/17/2024
cs.LGcs.CL

Official code: jacobdunefsky/transcoder_circuits (214 stars, last commit 2024-11-17).

Abstract

A key goal in mechanistic interpretability is circuit analysis: finding sparse subgraphs of models corresponding to specific behaviors or capabilities. However, MLP sublayers make fine-grained circuit analysis on transformer-based language models difficult. In particular, interpretable features -- such as those found by sparse autoencoders (SAEs) -- are typically linear combinations of extremely many neurons, each with its own nonlinearity to account for. Circuit analysis in this setting thus either yields intractably large circuits or fails to disentangle local and global behavior. To address this we explore transcoders, which seek to faithfully approximate a densely activating MLP layer with a wider, sparsely-activating MLP layer. We introduce a novel method for using transcoders to perform weights-based circuit analysis through MLP sublayers. The resulting circuits neatly factorize into input-dependent and input-invariant terms. We then successfully train transcoders on language models with 120M, 410M, and 1.4B parameters, and find them to perform at least on par with SAEs in terms of sparsity, faithfulness, and human-interpretability. Finally, we apply transcoders to reverse-engineer unknown circuits in the model, and we obtain novel insights regarding the "greater-than circuit" in GPT2-small. Our results suggest that transcoders can prove effective in decomposing model computations involving MLPs into interpretable circuits. Code is available at https://github.com/jacobdunefsky/transcoder_circuits/.

View on arXivView PDF

Code Implementations(1)

21432Shell, PythonApr 25, 20241 years ago

Similar Papers

Cite this paper

@article{dunefsky2024transcoders,
  title  = {Transcoders Find Interpretable LLM Feature Circuits},
  author = {Jacob Dunefsky and Philippe Chlenski and Neel Nanda},
  year   = {2024},
  eprint = {2406.11944},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2406.11944},
  url    = {http://arxiv.org/abs/2406.11944v2},
  journal = {NEURIPS 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2406.11944.svg)](https://codeofpaper.com/paper/2406.11944)

Discussion