Memorilla went up on arXiv on 15 October, and its third version landed on 3 November. It’s a memory system for language models from a group led out of Stanford, with Jure Leskovec as senior author, and it was on the Hacker News front page today. The idea is simple to state. Encode every document once with a frozen embedding model. When a question arrives, a small trained module reads all of those embeddings and writes 16 “memory tokens” straight into the input embedding space of a frozen Qwen3-8B. No document text enters the context.
The results table looks like a sweep. Memorilla posts the best average across eight benchmarks, 49.68, against 41.92 for xRAG, 40.75 for LLMLingua-2 and 38.02 for Mem0. On FactKG it gets 84.33% where the full-context model gets 80.43%, with 108 times fewer document tokens. On PersonaMem-v2 it gets 44.60%, and the strongest baseline gets 30.90%.
I think the architecture is a real idea and some of these numbers will hold up. But the comparison in the main table isn’t the one most readers will think they’re looking at, and the reason is in Appendix B and Appendix C.
Who studied for the exam
Memorilla is trained in three stages. Stage 1 is 1.98 million Wikipedia paraphrase-reconstruction examples. Stage 2 is 1.34 million examples from ten reading-comprehension, QA and summarization datasets. Stage 3, in the paper’s words, “fine-tunes the resulting module on a unified mixture of the training splits from all eight evaluation benchmarks.” Two of them, PersonaMem-v2 and the authors’ own PersonalizationV4, then get five more epochs each on their own training split, “because their validation losses required more epochs to plateau.”
Fine-tuning on a benchmark’s training split and scoring on its test split is normal practice, and the paper is open about it. What matters is what the baselines got. Appendix C says Mem0 ran as “mem0ai 0.1.118 with its stock prompts” and MemoRAG ran from its “official repository with its prompts unchanged.” The RAG baselines are cosine-similarity retrieval feeding the same frozen decoder. Full context is the whole collection. LLMLingua-2 is a task-agnostic compressor. None of them saw a training example from these benchmarks.
Exactly one baseline did. xRAG’s bridge, a 27.3-million-parameter MLP that maps the top retrieved chunk to a single soft token, was reimplemented by the authors and “trained, from scratch on each benchmark’s training split with the same answer-token loss as Memorilla.”
Where the trained runner-up shows up
Once you sort the table this way, a pattern falls out. On PersonaMem-v2 (5,000 test questions), the paper says Memorilla’s 44.60% beats “30.90% for xRAG, the strongest baseline,” and that every other baseline “stays within about three points of closed-book (25.64%), including full context.” On LaMP-7 the wording is almost the same: “every baseline except xRAG (46.84) stays within one ROUGE-L point of the closed-book model,” and Memorilla lifts it from 43.13 to 48.37.
So on both of these personalization benchmarks the order is: the method with the most task training, then the other method with task training, then everything that ran as shipped, bunched near the model that saw no documents. That’s what you’d expect if a good share of the gain comes from learning what these benchmarks’ answers look like, as well as from remembering the documents.
FactKG is the counterexample, and it’s the result I’d trust most. There, xRAG’s task training buys nothing: 78.98% against 80.43% for plain full context. Memorilla still beats full context by almost four points, using the shared checkpoint with no extra FactKG epochs. The per-question breakdown backs this up. Memorilla’s lead over RAG-50 grows with the number of entities in a claim, from 4.23 points at one entity to 7.59 at four or more. And in an architecture ablation, swapping every document embedding for Gaussian noise cut Memorilla’s FactKG score by 5.93 points. So the stored documents are doing real work there, beyond whatever the decoder learns about the answer format.
The control that’s there, and the one I’d want
The authors did see this objection coming, which is to their credit. Appendix E.4 trains a rank-130 LoRA adapter, 268.4 million parameters, “on the same training rows as Memorilla’s per-task fine-tuning,” with no documents in context, and reports that Memorilla “leads on every primary metric, although the PubMedQA and LaMP-7 gaps are within noise.”
The caption of that figure has a detail that weakens it, though. The comparison is “Memorilla with an 8B decoder” against “a no-document rank-130 LoRA adapter with a 4B decoder.” The control runs on a model half the size. It does show that documents matter. It doesn’t show how much of the PersonaMem-v2 gap the 8B decoder would close on its own with that training.
The control I’d want is the obvious one: give RAG-50 or full context the same training rows, either as a LoRA on the same Qwen3-8B or as an xRAG-style bridge trained on all eight splits. If Memorilla still wins by 14 points on PersonaMem-v2 against a trained retriever on the same decoder, that’s a strong result. Until then, the 44.60% against 30.90% compares a heavily trained memory with a lightly trained one, and everything else in the table is an untrained reference point.
I made a related complaint in August about agent memory benchmarks, where nearly every published number came from the people shipping the system. This paper is better than that. It runs Mem0 and MemoRAG itself with the same encoder and decoder, which is more than most memory papers do. But “same encoder and decoder” isn’t the same as “same training data,” and the paper doesn’t measure how much of its headline depends on that difference.
Small denominators
Two other results get prominent placement and rest on very few items.
PubMedQA is where Memorilla loses: 59.00% against 67.00% for four baselines and 69.00% for LLMLingua-2. The test set is “the 100-example test portion of a 900/100 split,” so the gap to the four baselines is eight questions. The paper reads it as a case where condensing four abstracts, 324 tokens in all, “offers little benefit,” which is reasonable. It also reports, in the encoder-size ablation, that a 3.00-point PubMedQA gain “corresponds to three of 100 questions.” I’d apply the same humility in the other direction.
The agent result is smaller still. In TextWorld, a GRPO-trained memory module helps a frozen Qwen3-4B-Instruct agent finish games. Pass@3 goes from 0.250 with full history to 0.375, and avg@3 from 0.186 to 0.242. The test split is 40 games, and the appendix notes they’re “30 distinct, since the five medium and five hard games appear twice.” A pass@3 of 0.375 against 0.250 on 40 games is 15 against 10.
The TextWorld section has a better result tucked inside it. Full-history in-context learning ran out of its 4,096-token budget on 71% of rollouts, against 58% with trained memory, while both read the same trajectory text. An untrained memory module of the same shape did worse than no memory at all (pass@3 0.225). Fewer loops is a behavior you can check by reading trajectories, and the paper shows one. I’d like to see it on a few hundred games.
What I’d take from it
The design itself makes sense. Long contexts are not used evenly. Liu and colleagues showed in TACL in 2024 that accuracy “significantly degrades when models must access relevant information in the middle of long contexts,” and in Memorilla’s own table full context trails Memorilla on every benchmark except PubMedQA. Replacing PersonaMem-v2’s average 31,587-token full-context prompt with 16 learned vectors is an appealing trade, and the paper reports 0.74 seconds against 19.9 seconds end to end with 512 documents on one H100.
The costs are the familiar ones for soft-token methods. Jung and Kim, writing in IEEE Access in 2024 about prompt compression, listed the problems with embedding-based compressors as “interpretability, the fixed number of embedding tokens, reusability across different LMs, and inapplicability when interacting with black-box APIs.” Memorilla has every one of them. You can’t read the 16 tokens. They go into the input embedding layer, so a closed API is out. And the authors say that “our experiments pair a Qwen encoder with a Qwen decoder,” so transfer across model families is untested. Each new decoder means training a new memory module, through the same three-stage curriculum, on your own task’s training data.
In practice, if you have labeled examples from the task you care about, Memorilla is a good way to spend them, and FactKG suggests it can beat even a full-context read. If you don’t, the paper doesn’t tell you much about how it would do, because the untrained version of the module isn’t in the main table, and in TextWorld the untrained one lost to plain history. The fair headline is narrower than the abstract’s: on these eight benchmarks, after training on all eight, Memorilla beat eight methods that had not trained at all, and one that had.
References
- Fallahpour, A., Idehpour, P., Kothapalli, V., Mounier, N., Wu, S., Pardis, S. and Leskovec, J. (2026). Memorilla: Latent Semantic Memory for LLMs. arXiv:2610.21375, submitted 15 October 2026; version 3, 3 November 2026.
- Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F. and Liang, P. (2024). Lost in the Middle: How Language Models Use Long Contexts. Transactions of the Association for Computational Linguistics, 12, pp. 157-173, 2024.
- Jung, H. and Kim, K.-J. (2024). Discrete Prompt Compression With Reinforcement Learning. IEEE Access, 12, 2024.
- Chhikara, P., Khant, D., Aryan, S., Singh, T. and Yadav, D. (2025). Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory. arXiv:2504.19413, submitted 28 April 2025.