A small language model that learns from a single unlabeled stream of new domains, stores no old data, replays nothing, and is never told when the domain changes — while keeping most of what it learned before.
Every large language model is frozen the day its training ends. Teach it a new domain and it overwrites the old one — catastrophic forgetting. The standard fixes either store old data and replay it, or need a label telling the model which task it is on. Humans do neither: skills, gist and connections stay while details fade.
ANUPNET is built under three rules we do not break: no stored old data, no task labels, and no absolute numbers in decisions — every threshold is a ratio to the model's own running statistics.
| Method | Stored data | Avg forgetting ↓ |
|---|---|---|
| Capacity-matched control (same extra params, no mechanism) | – | 3.70 |
| Naive fine-tuning | – | 2.74 |
| Freeze trunk only | – | 2.58 |
| Dream gate (FFN rooms) | – | 0.87 ± 0.04 |
| ANUPNET (+ sleep + attention rooms) | – | 0.33 ± 0.05 |
| Replay 30% (stores old data — reference) | yes | 0.05 |
Forgetting = rise in validation loss (nats) on old domains after training on new ones; 800 steps per domain; 3 seeds for the two headline rows. What we are not claiming: ANUPNET does not beat replay when storing data is allowed; new-domain acquisition costs ~0.45 nats; results are at 30M parameters and 3 domains. All negative results are in the report.
Code, configs and the full experiment log (including failures) will be released with report v1. Compute partners and reviewers welcome — admin@lexinexiai.com.