What is Automated Circuit Discovery (ACDC)?

Automated Circuit Discovery (ACDC) is an intervention-based mechanistic interpretability algorithm that starts from a model computation graph and greedily prunes edges whose removal changes a selected task metric by less than a configured threshold.

Quick Facts

SpecificationOfficial Specification

How It Works

Build the task-specific computation graph

Choose a model revision, prompt distribution, behavior metric, and node granularity before discovery. Nodes may represent attention heads, MLPs, token-specific activations, or finer terms; directed edges represent information passed through the residual stream. The ACDC paper emphasizes that automated edge search is only one step in a broader workflow that still requires defining and explaining the target behavior.

Prune edges with intervention tests

Begin with the full graph and traverse candidate edges backward from the output. Temporarily replace or ablate an edge's contribution using a declared corrupted reference, rerun the affected computation, and measure divergence or task-metric change. If the change is below the threshold, remove the edge; otherwise retain it and continue toward its parents. The original implementation exposes the threshold, ablation, metric, and graph choices.

Evaluate fidelity without assuming uniqueness

Measure candidate-circuit faithfulness, completeness, sparsity, held-out behavior, corruption robustness, and sensitivity to threshold and traversal order. Compare against manual circuits, random subgraphs, attribution-based methods, and repeated discovery runs. Later work on circuit non-uniqueness shows that structurally different sparse subgraphs can preserve the same task, so ACDC should return an auditable candidate rather than be described as finding the one true circuit.

Key Characteristics

  • Searches a directed model computation graph for a sparse task-relevant subgraph
  • Uses activation interventions to test whether individual edges can be pruned
  • Traverses backward from output nodes with a configurable effect threshold
  • Depends on task data, graph granularity, metric, corruption, and traversal order
  • Automates candidate discovery but not semantic explanation of retained components
  • Can recover one faithful circuit without proving global minimality or uniqueness

Common Use Cases

  1. Reducing thousands of model edges to a tractable candidate circuit
  2. Reproducing known circuits before analyzing a new behavior
  3. Comparing intervention-based and gradient-based circuit discovery methods
  4. Testing circuit stability across thresholds, datasets, and corruption schemes
  5. Producing an auditable edge set for later semantic and causal validation

Example

loading...
Loading code...

Frequently Asked Questions

What does ACDC automate?

ACDC automates edge selection within a computation graph after researchers define the model behavior, dataset, metric, graph granularity, and intervention reference. It does not automatically decide what task matters, assign semantic roles to retained components, or validate deployment claims.

How does ACDC decide whether to remove an edge?

It temporarily replaces or ablates the edge's contribution, evaluates the resulting model with a chosen divergence or task metric, and compares the change with a threshold. Small changes permit pruning. The exact decision therefore inherits the metric, corruption, normalization, and sample uncertainty.

Does ACDC always find the smallest circuit?

No. Its greedy traversal can depend on edge order and threshold, and interactions can make an edge look dispensable only while another route remains. A sparse returned graph is not a proof of global minimality. Compare repeated orders, thresholds, joint removals, and optimization-based alternatives.

Can different ACDC runs find different valid circuits?

Yes. Dataset sampling, corrupted references, traversal order, threshold, and redundant model pathways can yield different sparse graphs with similar behavior. Recent non-uniqueness results strengthen the need to report overlap across runs and avoid describing one recovered graph as canonical.

How should an ACDC circuit be validated?

Evaluate held-out task fidelity, completeness against omitted edges, sparsity, robustness across corruptions and metrics, and sensitivity to thresholds and seeds. Compare with random subgraphs and known circuits where available, then interpret retained components and test adversarial examples separately.

Related Terms