Все новости
stanfordпамятьllmисследованияrag

Вся история чатов — в 16 токенах: как устроена Memorilla

Stanford показала Memorilla — память для LLM, сжимающую всю историю диалогов в 16 латентных токенов, до 4212 раз меньше контекста. Разбираем архитектуру и цифры.

Влад МакаровВлад Макаровпроверил и опубликовал
8 мин чтения
Вся история чатов — в 16 токенах: как устроена Memorilla

Сто семь прошлых чатов, примерно 32 тысячи токенов истории — и всего 16 токенов на входе в модель. Лаборатория SNAP Джуре Лесковца в Стэнфорде показала Memorilla, систему памяти, которая сжимает весь архив диалогов пользователя в горстку латентных векторов и скармливает их замороженной LLM. По данным авторов, в лучшем случае это в 4212 раз меньше токенов, чем закидывать историю в контекст целиком, — и при этом точнее. Пост о работе стал самым горячим ИИ-обсуждением дня на Reddit: 1571 балл и 124 комментария в r/singularity.

Что произошло

Статья Memorilla: Latent Semantic Memory for LLMs появилась на arXiv в середине октября, но волна поднялась после 3 ноября, когда Вигнеш Котхапалли представил работу на Stanford Data-Centric AI Workshop, а первый автор Адибвафа Фаллахпур 5 ноября выкатил тред в X. Формулировка, которая разошлась по сети, принадлежит самому Лесковцу: Memorilla «превращает всё, что замороженной LLM нужно помнить, всего в 16 токенов памяти».

Команда — Стэнфорд с коллабораторами из Торонто, Пенсильвании и MIT. Всё открыто: код под Apache 2.0, чекпоинты на Hugging Face, датасеты, включая новый синтетический бенчмарк PersonalizationV4 на 149 вымышленных пользователей по 200 диалогов у каждого. Важная оговорка сразу: работа — препринт без рецензирования, и все цифры ниже измерены самими авторами; независимых репликаций на момент публикации нет.

Как это работает

Идею авторы описывают как «память как модальность». Мультимодальные модели принимают эмбеддинги картинок как особый вид входа — Memorilla делает то же самое с воспоминаниями.

Каждый документ (чат, глава книги) один раз прогоняется через замороженный энкодер Qwen3-Embedding-4B и превращается в один эмбеддинг размером около 5 КБ. Эти эмбеддинги лежат во внешнем хранилище. Когда приходит вопрос, 16 обученных «слотов памяти» сначала смотрят на вопрос, потом через cross-attention в духе Perceiver пробегают по всему хранилищу сразу — не по top-k похожих фрагментов, как RAG, а по всей памяти целиком. Результат проецируется в пространство входных эмбеддингов декодера, и Qwen3-8B читает эти 16 векторов как обычные токены.

Сама языковая модель при этом полностью заморожена — обучается только модуль памяти на 194 миллиона параметров против 8 миллиардов у декодера. Тренировка заняла около 19 часов на четырёх H100. Удаление воспоминаний сводится к удалению эмбеддингов из хранилища, перетренировка не нужна.

Цифры

На восьми бенчмарках, где все методы отвечали через одну и ту же Qwen3-8B, Memorilla показала лучшее среднее — 49,68 — и выиграла 5 тестов из 8 у полного контекста, RAG, Mem0, MemoRAG, xRAG и LLMLingua-2 (всё — по замерам авторов).

БенчмаркПолный контекстЛучший конкурентMemorilla
PersonaMem-v2 (точность)27,9230,90 (xRAG)44,60
FactKG (точность)80,4380,4384,33
TriviaQA (EM)52,6056,60 (MemoRAG)57,00
LaMP-7 (ROUGE-L)43,7146,84 (xRAG)48,37
NarrativeQA (ROUGE-L)17,9920,51 (MemoRAG)19,31
PubMedQA (точность)67,0069,00 (LLMLingua-2)59,00

Самая показательная строка — PersonaMem-v2, тест на память о пользователе по истории чатов: Memorilla обходит полный контекст на 16,7 пункта, используя в 1974 раза меньше токенов документов. Знаменитые 4212x — это лучший случай с книгами из NarrativeQA, где полный контекст занимает 67 385 токенов на вопрос; усреднённое по всем тестам сокращение скромнее, но всё равно впечатляет — 394x.

Скорость: на 512 документах (около 128 тысяч токенов) ответ занимает 0,74 секунды против 19,9 у полного контекста — в 27 раз быстрее, хотя авторы честно оговаривают, что баузлайн мерился на HF transformers без оптимизированного движка. Хранилище на 200 документов весит около 1 МБ — против 6,9 ГиБ KV-кеша для того же текста.

Любимый демо-пример авторов: пользователь со 107 чатами просит «сытные идеи для завтрака», и модель вспоминает, что когда-то он спрашивал, чей диабет — по материнской или отцовской линии — сильнее повышает риск. Завтраки получаются щадящими для сахара в крови, хотя сам факт семейной истории диабета пользователь никогда прямо не сообщал. Удобно это или жутковато — зависит от того, в чьих руках архив.

Где система проигрывает

Слабое место Memorilla — точные детали. На PubMedQA, где нужно вытаскивать конкретные формулировки из медицинских абстрактов, она набирает 59 против 69 у простого сжатия промпта: 16 векторов хорошо держат смысл, но теряют дословность. По той же причине авторы не обещают переноса на код.

Интересно, что Memorilla и RAG ошибаются на разных вопросах: на PersonaMem-v2 27,1% вопросов решает только Memorilla и 9,2% — только RAG. Гибрид двух подходов авторы называют следующим шагом.

И главное ограничение: прикрутить это к ChatGPT, Claude или Gemini нельзя. Модуль памяти инъецирует сырые векторы прямо во входной слой декодера и обучается под конкретную модель — закрытые API произвольных эмбеддингов не принимают. Сегодня Memorilla — история исключительно для открытых моделей.

Почему это важно

Память — пожалуй, главный нерешённый вопрос практичных долгоживущих агентов. Продуктовые памяти ChatGPT, Claude и Perplexity работают на уровне текста: модель выписывает факты о пользователе и подмешивает их в промпт. RAG тоже возвращает текст и упирается в top-k: на FactKG точность извлечения падает с 78,7% при одном нужном факте до 51,8% при четырёх. Memorilla работает этажом ниже, в векторном пространстве, и смотрит на всю память сразу.

Ключевое следствие — экономика: 16 токенов остаются 16 токенами, сколько бы ни росла история. Стоимость обслуживания пользователя с пятилетним архивом чатов не отличается от новичка. Если подход подтвердится независимыми репликациями — а код и чекпоинты для этого открыты, — у долгосрочной памяти агентов появится принципиально более дешёвая архитектура.

Пока же стоит помнить: все цифры — авторские, бенчмарки частично синтетические, протестирован один тандем энкодера и декодера из семейства Qwen. Стэнфордская команда сделала ровно то, что должна делать хорошая научная группа, — выложила всё для проверки. Теперь ход за сообществом.

Похожие новости

Листайте вниз

для загрузки следующей статьи