Capabilities¶
Each row is a capability name from Goodfire Silico's capabilities page (https://docs.goodfire.com/concepts/capabilities/), mapped to the TorchLens call for it. Rows without a call say where the work belongs instead.
| Capability | TorchLens | Call |
|---|---|---|
| Activation harvesting | Capture a forward pass and read an activation; Keep only the activations you need; Get named layers' outputs as tensors; Extract features over a whole dataset; Record a few sites over many forwards cheaply; Stream a large capture to disk | trace = tl.trace(model, x); trace = tl.trace(model, x, save=tl.func("relu")); features = tl.extract(model, x, ["layer3", "avgpool"]); tl.extract_dataset(model, stimuli, ["layer3", "avgpool"], path="features"); recording = tl.record(model, x, save=tl.func("relu")); trace = tl.trace(model, x, save=tl.in_module("encoder"), storage=tl.to_disk("run.tlspec")) |
| Featurizer training | Gather activations to train a sparse autoencoder; TorchLens supplies the activations; the trainer is external. | tl.extract_dataset(model, stimuli, ["layer4"], batch_size=64, path="sae_acts") |
| Probing | Collect features to train a linear probe | tl.extract_dataset(model, stimuli, ["layer4"], path="probe_features") |
| Activation monitoring | Not built in. | |
| Automated interpretation | Not built in. | |
| Steering | Steer a language model during generation; Add a direction to one site and capture the result | tl.when(tl.module("model.layers.6"), tl.steer(direction, strength=4.0)).bind(lm); steered = tl.trace(model, x, intervene=tl.when(tl.module("layer3"), tl.steer(direction, strength=4.0, dim=1))) |
| Causal analysis | Ablate a component and measure the effect; Patch activations from one input into another; Sweep edits over one site; Compare two runs site by site | ablated = tl.trace(model, x).fork().do(tl.module("layer3"), tl.zero_ablate(), model=model, inputs=x); patched = tl.trace(model, x_corrupt).fork().do(tl.module("layer3"), tl.patch_from(tl.trace(model, x_clean)), model=model, inputs=x_corrupt); runs = tl.sweep(model, x, tl.module("layer3"), [tl.scale(s) for s in (0.0, 0.5, 2.0)], include_baseline=True); bundle = tl.Bundle({"clean": tl.trace(model, x), "ablated": ablated}, baseline="clean") |
| Parameter decomposition | Not built in. | |
| J-lens | A planned Reproduction Gallery entry; not built yet. | |
| Dimension reduction | Build a representational dissimilarity matrix | rdm = tl.repgeom.rdm(features) |
| Model-difference amplification | Not built in; compare-runs shows site-by-site differences between two runs. | |
| Post-training debugging | Not built in. | |
| Architecture diagrams | Draw the computational graph; Open an interactive viewer of a trace; Print a summary of the model | tl.draw(model, x); tl.export.html(tl.trace(model, x), "trace.html"); print(tl.summary(model, x)) |
| Feature explorers | Not built in. | |
| Guardrail monitor | Monitor activations on a production inference server; Outside TorchLens: it is not a serving-time monitor. | |
| Interactive data viewer | Outside TorchLens. | |
| Dataset inspection | Outside TorchLens. | |
| Data attribution | Training-data attribution is outside TorchLens; input attribution is the attribution card. | |
| Synthetic data generation | Outside TorchLens. | |
| Training pipeline | Outside TorchLens. | |
| Interpretability in training | Not built in. | |
| Serving | Monitor activations on a production inference server; Outside TorchLens. | |
| Evaluations | Outside TorchLens. | |
| Biological foundation models | Not built in; capture works on any PyTorch model. | |
| Bioinformatics | Outside TorchLens. | |
| Biological database selection | Outside TorchLens. | |
| Biological model comparison | Not built in; neuro-compare compares a model with neural recordings. | |
| Causal behaviors for biological models | Outside TorchLens. | |
| Research design | Outside TorchLens. | |
| Access verification | Diagnose a capture problem | print(tl.report.doctor(model=model, inputs=x).to_markdown()) |
| Paper replication | See the Reproduction Gallery (docs/gallery). | |
| Interactive HTML | Open an interactive viewer of a trace; A trace viewer, not a research-thread report. | tl.export.html(tl.trace(model, x), "trace.html") |
| LaTeX | Outside TorchLens. | |
| Results publication | Outside TorchLens. | |
| Figures | Outside TorchLens. | |
| Job orchestration | Outside TorchLens. | |
| GPU job checklist | Outside TorchLens. | |
| Environment builds | Outside TorchLens. |