Activation Scaling for Steering and Interpreting Language Models
<|reference_start|>Activation Scaling for Steering and Interpreting Language Models: Given the prompt "Rome is in", can we steer a language model to flip its prediction of an incorrect token "France" to a correct token "Italy" by only multiplying a few relevant activation vectors with scalars? We argue that successfully intervening on a model is a prerequisite for interpreting its internal workings. Concretely, we establish a three-term objective: a successful intervention should flip the correct with the wrong token and vice versa (effectiveness), and leave other tokens unaffected (faithfulness), all while being sparse (minimality). Using gradient-based optimization, this objective lets us learn (and later evaluate) a specific kind of efficient and interpretable intervention: activation scaling only modifies the signed magnitude of activation vectors to strengthen, weaken, or reverse the steering directions already encoded in the model. On synthetic tasks, this intervention performs comparably with steering vectors in terms of effectiveness and faithfulness, but is much more minimal allowing us to pinpoint interpretable model components. We evaluate activation scaling from different angles, compare performance on different datasets, and make activation scalars a learnable function of the activation vectors themselves to generalize to varying-length prompts.<|reference_end|>
@article{stoehr2024activation,
    title={Activation Scaling for Steering and Interpreting Language Models},
    author={Niklas Stoehr, Kevin Du, V'esteinn Sn{ae}bjarnarson, Robert West,
  Ryan Cotterell, Aaron Schein},
    journal={arXiv preprint arXiv:2410.04962},
    year={2024},
    archivePrefix={arXiv},
    eprint={2410.04962},
    primaryClass={cs.CL cs.AI}
}