Do a mech interp on the learned adapter
This seems especially useful. The FORGET adapter is "concentrated essence of reward hacker", which seems like a useful model organism and a fruitful target for mech interp: what layers and directions does it interact with? What in the main model is it turning up or down?
Localizing behaviors and controlling their deployment solves many of the same problems as unlearning
Somewhat, but I suspect it's a lot easier than unlearning. Most work in unlearning has been aimed at things originally learned by SGD. SGD produces a firehose of bits of supervision, but these are scattered across every topic/skill under the sun.
RL post-training produces very few bits of supervision, very narrowly focussed on what most improves improves performance against a specific task metric (some of which will generalize to varying extents, most parts will be task-specific). It tends to work only on things were there was already some >0 performance to uplift.
Gradient routing task-specific RL updates thus seems potentially vastly easier then doing do for specific tasks or data out of everything learned during SGD. Notoriously, unlearning that is hard: it's easy to damage capabilities but this almost invariably leaves a lot of the underlying circuitry/data intact, so relearning the skill/information becomes easy: the SGD-learned data we're trying to unlearn is easy to damage but hard to eradicate all traces of.
A proviso to that is that getting performance back down to the base model level is likely easy and robust, but getting it below that you are basically returning to thenfull unlearning SGD problem, which is known the be fragile/hard.
Ah, I was sort of unclear with this passage. I think GR in general (not our method) is a good method for unlearning (or never-learning) in pre-training. The idea is that this is better than post-hoc unlearning because you encourage circuitry to be built in some forget adapter. Then when you ablate the adapter, the circuitry is straight up not present in the deployed model (as opposed to e.g. gradient ascent or alignment SFT, where we suspect the circuit is merely suppressed, as you say).
Thanks, this is great! Just wanted to note that the fact that the LoReFT approach appears to work so well is some evidence that the FORGET adapter probably functions similarly to a steering vector.
And also the approach makes some meaningful progress on this front:
> figuring out how to ablate the FORGET adapter without harming performance on target tasks would be particularly practically valuable.
I'm speaking as myself here and not on behalf of any of my co-authors. A bunch of the stuff in this post is explicitly speculative.
I've written this post as a way of centralizing some points I want to make in discussion/in response to others who've asked questions about the GRAFT paper. This is organized more like a series of notes; there's not a specific thesis in here, though I do make opinionated claims.
Specifically, a few people have asked what follow-up work I'd like to see; at the bottom of this post is a big brain-dump answer to that question.
Connections to other works
Expand
Selective modularity
Alex Cloud and Jacob G-W have already written an excellent treatise on this topic. I'll just emphasize a few select points.
GRAFT in the context of other gradient routing work
Some related ideas
Practical Considerations
Expand
When developing our method, it felt weird and unprincipled to me to do a forward pass with two things but then only backprop to one. The gradient with respect to all parameters is the thing which we know succeeds at actually descending on an objective. Do we even know if learning happens properly when you mask out gradients to a bunch of parameters, and why should we think that this localizes the behavior to these parameters? As it turns out, all adapter fine-tuning (e.g., LoRA) makes a similar assumption:
caption: an abstract pictorial representation of my thousand-yard stare as my distant awareness that I don't understand deep learning creeps in
The biggest practical cost of applying GRAFT is that ablating the forget adapter may hurt performance on the target task. This is because FORGET parameters may also be used to learn some of the target task, since they are also trained on non-flagged samples in order to achieve the absorption effect.
To the best of my understanding gradient routing does not come with significant compute overhead. [2]
I used to feel that GR was impractical to study just due to implementation complexity (e.g., it requires a custom backward pass), but this feels irrelevant due to contemporary coding agents.
Note that in practice, checking that our method actually worked itself costs some monitoring budget. Suppose that our method scales to the frontier: we'd use it with some of the best monitors we have to prevent reward hacking behaviors that the monitors could not find. How would we check that the resulting model hacked less in ways our monitors could not find? In practice, we'd have to extrapolate from scales at which we could test the behavior of the method more systematically (i.e., where it's easier to monitor things).
Gradient routing is structurally compatible with many other interventions. If you had many different monitors, you could use some of them for gradient routing, some for applying reward penalties, some to iterate on the environment itself, and hold some out to evaluate your method. Gradient routing just provides another axis on which to allocate "monitoring budget". It would be good to have a systematic understanding of how to make these decisions in practice, but I don't have any great ideas on how to operationalize a study of this.
An optimistic speculation
Expand
It would be really great if various intuitions from persona selection, emergent misalignment, etc. held, and "misaligned behaviors" naturally clustered, especially as models scaled. Then this would be a more general solution to misalignment from RL; maybe this could rescue recent results that suggest that midtraining effects alone are inadequate.
However, the standard of evidence for success in this story should be extremely high: the effect should be really robust, and all of the concepts invoked here should be understood very systematically.
Soapbox: Alignment is still hard BTW
Expand
Follow-up work
My impression is that not a lot of work on gradient routing has been done overall, but it seems to have conceptual merit, so there are a lot of potential ideas in the space and there are many projects which would be high VoI on the margin.
Off the top of my head here are a bunch of possible questions to answer.
Scaling
Expand
It's a simple empirical question whether a given model behavior routes into the FORGET adapter in the way we'd intuitively like, and some interesting model behaviors only happen above a certain scale. On the flipside, there are a lot of design variables (see below) and it may be hard to study them systematically at scale, so it won't be easy to prove a negative.
Conceptual advances
Expand
Optimizing tradeoffs
Expand
Our setup still faces tradeoffs fundamentally associated with the gap between the training reward and the desired behavior at deployment. To illustrate them in our context: to the extent that we don't optimize our policy against our monitor, we are also exploring in a direction we know is suboptimal. In order to address this we need to train the deployed policy, but either we need to risk exposing it to the monitor again (that's what we do in our main small-scale setting), or we need to introduce external sources of good signal (that's what the anchor environment addresses). We can also attempt to explicitly train in an off-policy fashion, but that's cursed.
It's possible that in more realistic, frontier-like settings, some of these problems are less prevalent. For example, maybe only a small fraction of prompts in a small fraction of environments admit reward hacks, so the rest of the training serves as a natural anchor environment. I have roughly no intuition about what these factors balance out to, but it really feels like there should be some good engineery hacky ways to balance tradeoffs to our liking in realistic settings (more on this below).
Finally, note that the method will probably not be applied in practice if it comes at a significant capability cost, so figuring out how to ablate the FORGET adapter without harming performance on target tasks would be particularly practically valuable.
Method variations
Expand
The above points already suggest several possibilities for different things one could try:
Engineering advances
Expand
Setting variations
Expand
Some of our experimental design settings were a bit arbitrary, and could be studied systematically.
A mindset note
Expand
The number of moving parts may feel harrowing. If there's a kernel of insight in here, how are we to find it? At the beginning of our project, we had to make a lot of arbitrary design and parameter choices just to have a setting constrained enough to think about and gather evidence on. However, the flip side of this is that the method has a lot of affordances for potential development. In the bigger picture, I think this is a plus for gradient routing, and on net justifies more gradient routing work. Unfortunately, it may just be the case that most techniques that sound intuitively plausible don't work, and simultaneously, an actually good idea can take many tries before it works.
Anyone who wants to really dive in and could benefit from more context for their LLM agents can refer to this dev version of our code for the RL settings, with all the messiness and potential confusion that implies. In particular, results from some underpowered/exploratory experiments are found here.
AIUI, what they call "absorption" consists of both what we call "absorption" and what we call "inoculation", though they explicitly discuss the distinction between the underlying concepts. ↩︎
-
-
-
↩︎The total cost in FLOPs is the same or less on a per-sample basis.
We found in our experiments that gradient routing left sample efficiency unchanged on average, with a small minority of outliers in both directions.
A more specific concern is that throughput suffers because one can't batch routed backward passes with non-routed ones, but at large scales gradient accumulation becomes necessary anyway, so this factor becomes irrelevant. This issue can also be mitigated with a variety of tricks at smaller scale.