Paper · 2026
Local Support Learning
Watch and listen
Paper explainer
One shared explainer for this paper, with versions you can explore more deeply.
Source version v1
Progress
126 saved stepsPublished
- Requested
- Last completed
- Last status update
Activity log
Showing the latest 50 saved steps.
- Podcast: framing checks (round 2, batch 4)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Verifying a proposed correction (round 2)
- Checking claims
- Preparing spoken wording (round 2)
- Verifying spoken wording (round 2)
- Verifying spoken wording (round 2)
- Checking claims
- Analysis: number checks (round 3, batch 1)
- Analysis: number checks (round 3, batch 2)
- Analysis: number checks (round 3, batch 3)
- Analysis: number checks (round 3, batch 4)
- Analysis: framing checks (round 3, batch 1)
- Analysis: framing checks (round 3, batch 2)
- Analysis: framing checks (round 3, batch 3)
- Analysis: framing checks (round 3, batch 4)
- Narration: number checks (round 3, batch 1)
- Narration: number checks (round 3, batch 2)
- Narration: number checks (round 3, batch 3)
- Narration: number checks (round 3, batch 4)
- Narration: framing checks (round 3, batch 1)
- Narration: framing checks (round 3, batch 2)
- Narration: framing checks (round 3, batch 3)
- Narration: framing checks (round 3, batch 4)
- Podcast: number checks (round 3, batch 1)
- Podcast: number checks (round 3, batch 2)
- Podcast: number checks (round 3, batch 3)
- Podcast: number checks (round 3, batch 4)
- Podcast: framing checks (round 3, batch 1)
- Podcast: framing checks (round 3, batch 2)
- Podcast: framing checks (round 3, batch 3)
- Podcast: framing checks (round 3, batch 4)
- Verifying a proposed correction (round 3)
- Verifying a proposed correction (round 3)
- Verifying a proposed correction (round 3)
- Verifying a proposed correction (round 3)
- Verifying a proposed correction (round 3)
- Verifying a proposed correction (round 3)
- Verifying a proposed correction (round 3)
Animated diagrams illustrate the ideas. Measurements and cited claims follow the paper's source evidence.
Podcast
Funded custom versions are not yet available. The shared video and podcast remain available.
Download videoDownload captionsDownload podcastVideo transcript
You finetune a 7 billion parameter model on chemistry questions.
It gets much better at chemistry, from about 32 to about 79 on ChemBench.
Then you check what it already knew: grade-school math, writing code,
following instructions.
The average of those three scores falls from about 72 to about 52.
This is catastrophic forgetting.
A new paper, Local Support Learning, says the cause is geometric,
and you can see it one weight matrix at a time.
Start with a toy.
Points in a plane, six classes.
A linear classifier learns four of them first.
Call that pretraining.
Then it trains on two new classes, and only those.
It learns the new classes perfectly.
But look at the old ones.
Their decision boundaries have been dragged across the plane,
and points it used to get right are now wrong.
Nothing in the new data asked for that.
So why did it happen?
Look at one gradient step on one weight matrix.
The update, delta W, is an outer product: the error signal times the training input.
Apply it to an old input, and that input's output changes by the error signal times
the dot product of the two inputs.
Unless they are exactly orthogonal, the old output moves.
Adam rescales the step and Muon orthogonalizes it,
but the result is still a matrix, and a matrix acts on every input.
The update has global support.
Older fixes restrict the direction of the update:
find the subspace where old data lives, and update only orthogonal to it.
That works at small scale.
Here, the old data is a pretraining corpus of trillions of tokens,
often unavailable.
OP-LoRA guesses the subspace from the weights,
protecting their top singular directions.
But the paper finds that at most 1.7 percent of a plain LoRA update falls in those
directions.
Protecting them protects almost nothing, and OP-LoRA forgets about as much as LoRA.
So flip the question.
You can't describe where the old data lives,
but you can describe where the new data lives, because you have it.
Put a gate in front of the adapter.
If the input to this matrix looks like the new training data,
the adapter switches on.
If not, it stays off, and the matrix applies only its pretrained weights.
In the toy, a gate made of small balls around the new points gives a perfect
classifier, with boundaries changed only near the new data.
The hard part is the gate itself.
It trains only on the new data, yet it has to stay closed on old data it has never
seen.
A training loss can't see that region at all:
change what a classifier does where there is no training data,
and its loss doesn't move.
So an MLP gate's behavior away from the data is arbitrary.
A Gaussian's density decays exponentially away from its data,
so a Gaussian gate leans toward closed.
That's an inductive bias, not a guarantee, but it's the right default.
The paper uses two Gaussian mixtures for each weight matrix.
The positive mixture is fit to the new phase's activations.
The negative mixture is fit once, on about 1 million generic pretraining tokens.
The gate opens wherever the positive mixture gives the higher likelihood.
The generic sample doesn't need to cover pretraining.
It only needs to be wider than the new task, and even a small sample shows that.
A running average then smooths each gate's decisions across tokens.
Now the real test.
Qwen2.5-7B-Instruct, finetuned on three tasks: chemistry,
English to Igbo translation, and cybersecurity.
Retention is the average of GSM8K, HumanEval and IFEval,
where the base model scores about 72.
Every method learns the new tasks about equally well.
Retention is where they split.
LoRA drops to about 52, 38 and 39.
Learning without Forgetting, which penalizes drift from the base model's outputs,
lands between about 54 and 64.
Local Support Learning stays at about 71.5 on all three.
Then train the three tasks in sequence: Igbo, then chemistry, then cybersecurity.
The LoRA baseline merges each adapter before the next phase.
After the first phase, its pretrained score falls from about 71.5 to about 39.
Local Support Learning stays near 71 through all three.
LoRA also forgets its own earlier finetunes.
Igbo drops 8 percent by the end, chemistry drops 5 percent after one more phase,
and zero-shot cybersecurity drops 11 percent after the Igbo phase.
Local Support Learning holds all of them.
Is it the Gaussian mixture, or just locality?
Swap in an MLP gate.
At one intermediate layer, it classifies new-task tokens slightly better,
by 3.8 points.
But on GSM8K tokens it is 20.4 points worse at staying closed,
and retention falls to about 59.
A union of spheres, a lookup of stored activations, is local by construction.
It retains as well as the mixture, but needs 5.67 gigabytes against 13.8 megabytes.
The paper's reading: locality is what matters,
and the mixture is the cheap way to get it.
The one non-local rival, the MLP gate, is also trained differently.
Two more results.
As you change learning rate, rank and batch size,
LoRA's retention moves between about 52 and 64.
Learn harder, forget more.
Local Support Learning stays near 71 in every setting.
It also improves with scale: about 88, 97 and 99 percent retention at 1.5,
3 and 7 billion parameters, against about 64, 68 and 72 for LoRA.
The cost is 13.8 megabytes of mixtures, 86 milliseconds more per forward pass,
and 1.64 times the training time.
Now the caveats.
The gates are imperfect: with smoothing,
they open on only about 81 to 83 percent of new-task tokens,
and on about 4 percent of benchmark tokens.
The paper treats these benchmarks as out-of-distribution tasks,
so the hard case is untested: a new task that overlaps an old skill,
or a change meant to apply everywhere, like style or safety.
Locality may also limit positive transfer.
Everything is Qwen2.5, supervised finetuning, at most three phases.
And the adapters can't be merged, so inference cost grows with every phase.
So the lesson is about where an update applies, not how big it is.
Shrinking or rotating the update still touches every input.
Gating it with a density model of its own training data leaves almost everything
else as it was: at 7 billion parameters,
about 99 percent of the original score survives.
If you keep adding skills to one base model,
this keeps each skill mostly off everything else,
at the price of gates that every token passes through.
Podcast transcript
Host: Today's paper is Local Support Learning, from Tel Aviv University and MIT. It's about catastrophic forgetting. Before we get into the fix, how bad is the problem in practice?
Guest: Pretty bad. They take Qwen2.5-7B-Instruct and finetune it with LoRA on chemistry questions. Chemistry goes from about 32 to about 79. But they also track three things the model could already do: grade-school math with GSM8K, coding with HumanEval, and instruction following with IFEval. The average of those falls from about 72 to about 52.
Host: So it gets a chemistry degree and forgets how to add.
Guest: Roughly. And on English to Igbo translation it's worse. That average falls to about 38.
Host: Why does that happen? The chemistry data doesn't say anything about math.
Guest: That's the paper's starting point. Take one weight matrix and one gradient step. The update is an outer product: the error signal times the training input. Now feed the updated matrix some other input, say a token from a math problem. Its output shifts by the error signal times the dot product between the chemistry input and the math input. Unless those two vectors are exactly orthogonal, the math output moves.
Host: And they're basically never exactly orthogonal.
Guest: Right. A matrix acts on every input. Adam rescales the step and Muon orthogonalizes it, but the result is still a matrix. The paper calls this global support. The update was only justified on chemistry, but it applies everywhere.
Host: People have tried to fix forgetting for decades, though. What did the older methods do?
Guest: A big family works on the direction of the update. Figure out the subspace where old data lives and only update orthogonal to it. That's fine when the old data is a small task. Here it's a pretraining corpus of trillions of tokens, and you usually don't have it. A recent method called OP-LoRA tries to guess the important subspace from the weights, protecting their top singular directions. The authors checked: at most 1.7 percent of a plain LoRA update falls in those directions. So it protects almost nothing, and OP-LoRA forgets about as much as LoRA.
Host: So what's the flip?
Guest: Stop trying to describe where the old data is. Describe where the new data is, because you have it. Each weight matrix gets a LoRA adapter and a gate. The gate looks at the input to that matrix. If it looks like the new training data, the adapter turns on. If not, the adapter stays off, and that matrix applies only its original pretrained weights.
Host: That sounds like a mixture of experts with one expert.
Guest: Close. The difference is the router. In a normal mixture of experts the router is trained together with the experts, on the task loss. Here the gate never sees the task loss. The adapter trains with its gate held open, and only afterwards is a Gaussian mixture fit to the new data's inputs at each matrix. That's a density model, not a classifier, and why that matters is the interesting part.
Host: Why not just train a small classifier: new data versus everything else?
Guest: They tried that, an MLP gate. The problem is what a classifier does where it has never seen data. The gate trains on chemistry and on a small generic sample. It never sees GSM8K. And the training loss literally can't see those regions. Change the classifier's answer in a region with no training data and the loss doesn't move. So whatever it does there is an accident. Measured at one intermediate layer, the MLP gate is 3.8 points better than the Gaussian-mixture gate at recognizing chemistry tokens, but 20.4 points worse at staying closed on GSM8K tokens. Retention falls to about 59.
Host: And the Gaussian mixture avoids that?
Guest: A Gaussian's density decays exponentially as you move away from its data, so this family leans toward saying no where it hasn't seen anything. That's an inductive bias, not a guarantee. Its fitting objective is just as blind off the data, and the paper shows density models can still accept regions with no data. They fit two mixtures per matrix. The positive one is fit to the new task's activations. The negative one is fit once, on about a million generic pretraining tokens. The gate opens wherever the positive one gives the higher likelihood.
Host: A million tokens is nothing next to pretraining, though.
Guest: It doesn't need to cover pretraining. It mostly needs to be wider than the new task. A narrow chemistry cluster wins near itself, and the broad generic mixture wins most other places. In high dimensions that's only approximate, though. Without smoothing, the gate still opens on about 16 percent of benchmark tokens. They also smooth each gate's decisions over the preceding tokens with an exponential moving average, which adds a little more retention.
Host: So does it work?
Guest: On their three tasks, yes. Every method learns the new task about equally well. LoRA's retention ends up around 52, 38 and 39. Learning without Forgetting, which penalizes drifting from the base model's outputs, is between about 54 and 64. Local Support Learning stays around 71.5 on all three, basically where the base model was. Then they train the three tasks one after another. The LoRA baseline drops to about 39 on the pretrained benchmarks after the first phase. LSL stays near 71 the whole way, and it keeps the earlier finetunes too.
Host: Is the Gaussian mixture special, or is it just that the gate is local?
Guest: That's the nicest ablation. They swap in a union of spheres: store activations, and open the gate within a radius of any stored point. That's local by construction, and it retains just as well. But it needs 5.67 gigabytes, against 13.8 megabytes for the mixtures. So locality is the active ingredient, and the mixture is the cheap way to get it.
Host: What does it cost to run?
Guest: On a B200 with the 7B model, 86 milliseconds more per forward pass than the LoRA baseline, 13.8 megabytes of mixtures, and 1.64 times the training time. The real catch is that the adapters can't be merged into the weights, so inference cost grows with every phase you add.
Host: Where would you push on it?
Guest: Three places. First, the gates are imperfect. With smoothing they open on only about 81 to 83 percent of new-task tokens, and still on about 4 percent of benchmark tokens. Second, the tests may be the easy case. Math and code look nothing like chemistry or Igbo, and the paper itself calls all three benchmarks out of distribution. I'd want a finetune that overlaps an old skill, or one that's supposed to change behavior everywhere, like a style or safety update. Locality works against you there. Third, it's one model family, supervised finetuning only, and at most three phases.
Host: So if you were building something tomorrow, what would you take from this?
Guest: If you're adding task adapters one after another to one base model, this is a way to let each adapter decide for itself when it applies, per token and per weight matrix, without a separate router, and with very little damage to what the model already knew. It's only been tested for up to three phases, and inference cost grows with every adapter you add. And the general lesson: when an update causes damage, ask where it applies before you ask how big it is.
How this was checked
Source-grounded claim checks and visual quality checks passed before publication.
Abstract
We explore catastrophic forgetting in the context of large pre-trained models. By considering forgetting as a geometric problem in the input space of each weight matrix, we uncover a natural retention objective under which updates produced by gradient-based optimizers are suboptimal. Following this observation, we propose Local Support Learning (LSL), a general-purpose framework that augments gradient-based training for retention of prior capabilities without access to prior data. During a new learning phase, LSL pairs two components with distinct roles: a standard weight adapter, trained as usual to minimize the loss, and a gating function that enables the adapter only on input activations from its own training distribution, making the update local to that distribution. The key challenge is that this gate must route data from all learning phases while training only on data from the current one. We address this with a gate based on a Gaussian Mixture Model (GMM), whose likelihood decays rapidly away from its training data, giving it a natural tendency to stay closed on data from prior phases. We show that this post-training approach can resolve forgetting in LLMs of up to 7 billion parameters, retaining both pretrained and finetuned capabilities across multiple training phases, while being efficient in memory and compute, robust to hyperparameter choice, and showing scaling potential.
Source history
The shared explainer cites the source version used to generate it.
- v1 · Source available for generation · 2026-10-02 UTC