δ-mem: как крошечная матрица памяти меняет правила игры для LLM
Что если вся история вашего разговора с ассистентом — каждое уточнение, каждая деталь, каждый поворот диалога — может уместиться в матрицу размером 8×8? Не в миллион токенов контекста, не в гигантскую базу знаний, а в крошечное онлайн-состояние, которое обновляется на лету. Исследователи из NTU, Fudan, Shanghai Jiao Tong, CUHK и HKUST представили δ-mem — механизм, который делает именно это, и результаты заставляют переосмыслить, что вообще значит «память» для больших языковых моделей.
Зачем LLM нужна память, а не просто длинный контекст
Современные языковые модели уже переваривают контексты в миллионы токенов. Gemini, Claude, GPT — все гонятся за цифрой в спецификации. Но длина контекста и эффективное использование контекста — разные вещи. Исследователи давно заметили эффект «гниения контекста» (context rot): чем длиннее история, тем хуже модель находит релевантные фрагменты и тем чаще игнорирует критически важные детали, спрятанные где-то в середине.
Квадратичная стоимость стандартного внимания от длины последовательности делает длинные контексты дорогими не только в деньгах, но и в латентности. Для агентных систем и долгосрочных ассистентов, которые живут неделями или месяцами, просто накапливать историю — не решение, а отсрочка проблемы. Нужен механизм, который компактно хранит историю, динамически обновляется и напрямую влияет на рассуждения модели.
Существующие подходы к памяти можно разделить на три лагеря. Текстовые механизмы вроде RAG хранят историю как текст и вставляют релевантные фрагменты в контекст — гибко, но с шумом ретривала и жёсткими лимитами окна. Параметрические методы вроде LoRA кодируют память в обучаемые параметры — эффективно, но статично: память застывает после обучения. Внешние модули держат память за пределами бэкбона, добавляя задержки и сложности интеграции. Ни один из этих подходов не даёт динамического, компактного и тесно интегрированного решения.
Что такое δ-mem и как он работает
δ-mem — это лёгкий модуль памяти, который дополняет замороженный Transformer-бэкбон, не требуя ни полного дообучения, ни замены архитектуры, ни явного расширения контекста. Его ключевая идея — ассоциативная память в виде компактного онлайн-состояния, обновляемого по правилу дельта-обучения (delta-rule learning).
Вот как это работает пошагово. На каждом шаге генерации δ-mem проецирует текущее скрытое состояние модели в низкоразмерное ассоциативное пространство памяти, получая три вектора: запрос памяти, ключ памяти и значение памяти. Затем он читает из предыдущего состояния ассоциативный сигнал — вектор, содержащий сжатую историю всего предыдущего взаимодействия. Этот сигнал превращается в две низкоранговые коррекции: одна корректирует запрос перед вычислением attention, другая — выход после attention. Память напрямую участвует в вычислении внимания, не добавляя ни одного токена в контекст.
После генерации текущего токена δ-mem записывает информацию обратно в состояние. При этом он использует классический трюк из теории нейронных сетей: сначала предсказывает, какое значение ассоциировано с текущим ключом в старом состоянии, а затем записывает только разницу — дельту — между предсказанием и реальностью. Это дельта-правило обучения, известное ещё с работ Уидроу-Хоффа в 1960-х, но применённое к онлайн-памяти языковой модели. Запись идёт через размерностные гейты: одни измерения состояния сохраняют старую память, другие активнее поглощают новую информацию.
Три стратегии записи: от токенов до сегментов
Авторы исследовали три варианта гранулярности записи. Token-State Write (TSW) обновляет состояние на каждом токене — максимальная детализация, но и максимальная чувствительность к шуму, форматированию и повторам. Sequence-State Write (SSW) усредняет скрытые состояния внутри сообщения и записывает одним блоком — меньше шума, но теряются тонкие детали. Multi-State Write (MSW) идёт дальше и разбивает память на несколько параллельных подсостояний, каждое из которых аккумулирует свой тип информации: факты, предпочтения, прогресс задачи, локальные события. Это уменьшает интерференцию, когда разные виды знаний конкурируют за место в одной матрице.
На практике лучшие результаты показала TSW-стратегия — 51.66% среднего скора против 46.79% у замороженного бэкбона. Но MSW оказалась сильнее на специфических подзадачах, особенно там, где важно разделение типов информации. Выбор стратегии зависит от сценария: для диалоговых ассистентов TSW даёт лучшую точность, для агентных систем с чёткими фазами MSW может оказаться предпочтительнее. SSW занимает промежуточное положение — 51.44% среднего скора — и может быть хорошим компромиссом для production, где важна стабильность состояния.
Цифры, которые меняют представление о памяти
Главное открытие δ-mem — память действительно может быть крошечной. Авторы использовали онлайн-состояние размером всего 8×8 — шестьдесят четыре числа — и получили улучшение среднего скора в 1.10 раза по сравнению с замороженным бэкбоном и в 1.15 раза по сравнению с сильнейшим конкурирующим baseline. На памятезависимых бенчмарках эффект ещё драматичнее: MemoryAgentBench вырос на 31% (с 29.54% до 38.85%), а LoCoMo — на 20%.
Особенно впечатляет подзадача TTL (Time-To-Live) в MemoryAgentBench, где модель должна помнить, как долго действует та или иная информация. Здесь δ-mem почти удвоил результат — с 26.14 до 50.50. Это означает, что компактное ассоциативное состояние способно улавливать не только факты, но и их временную релевантность, что критически важно для реальных ассистентов, где сроки действия информации различаются от секунд до месяцев.
При этом общие способности модели практически не пострадали. На IFEval (инструкционное следование) δ-mem набрал 82.99% против 81.89% у исходной модели, на GPQA-Diamond (сложные научные вопросы) — 40.40% против 39.39%, на HotpotQA (многошаговые вопросы) — 49.41% exact match против 42.35%. Память добавляется, а не заменяет базовые рассуждения. Это важно: многие механизмы памяти повышают производительность на специфических задачах за счёт деградации общих способностей, но δ-mem избегает этой ловушки.
Почему δ-mem обходит существующие подходы
В прямом сравнении с шестью baseline на одном и том же Qwen3-4B-Instruct картина получается наглядной. Текстовые методы показали себя нестабильно: BM25 RAG даже ухудшил средний скор с 46.79% до 44.56%, LLMLingua-2 сжал его до 42.96%, а MemoryBank остановился на 43.88%. Проблема текстовых подходов — шум ретривала и неизбежная потеря информации при сжатии истории в токенное пространство.
Параметрические методы оказались лучше, но с оговорками. Context2LoRA набрал 44.90% — выше текстовых baseline, но ниже δ-mem. MemGen показал крайне неравномерные результаты: 30.66% в среднем из-за провала на HotpotQA (5.36% EM). Статичная природа параметрической памяти ограничивает адаптацию к динамически меняющейся информации. Внешний MLP Memory остановился на 22.85%, показав, что модули без последовательного накопления состояния не способны моделировать долгосрочные зависимости.
δ-mem занимает промежуточную позицию между этими подходами, но с ключевым преимуществом: его состояние обновляется онлайн, а коррекции напрямую встроены в механизм внимания. Это не внешний модуль, который что-то «подсказывает» модели, и не статичный адаптер. Это динамическое расширение самого процесса внимания, которое эволюционирует с каждым токеном.
Где ставить коррекции: абляции раскрывают архитектурную логику
Исследователи провели детальные абляции, чтобы понять, куда именно внедрять памятезависимые коррекции внутри attention-блока. Одновременное влияние на ветвь запроса (query) и ветвь выхода (output) даёт оптимальное соотношение качества и параметров — 47.97% среднего скора. Если добавить коррекции ко всем четырём ветвям (query, key, value, output), результат вырастает до 48.05%, но прирост в 0.08 пункта не оправдывает дополнительных затрат.
Интересно, что коррекция только выходной ветви (output) даёт 47.05% — лучше, чем коррекция только query (44.51%) или только key (42.19%). Это говорит о том, что память наиболее эффективна, когда она влияет на то, как модель формирует запросы, и на то, как она интерпретирует результаты внимания. Коррекция key оказалась наименее эффективной, возможно потому, что ключи уже содержат достаточно контекстуальной информации от бэкбона.
Абляции по глубине вставки тоже показали любопытное. Коррекции во всех слоях дают максимальный результат, но если выбирать только половину — лучше брать средние слои (46.66%), чем первые (44.39%) или последние (44.06%). Промежуточные слои оказываются оптимальной точкой инъекции: там представления уже достаточно абстрактны, чтобы содержать семантику, но ещё не слишком специфичны для конкретной задачи. Передние слои работают с слишком локальными паттернами, задние — оставляют недостаточно глубины для распространения памятезависимых сигналов.
Что это значит для разработчиков и продуктов
С практической точки зрения δ-mem открывает несколько важных возможностей. Во-первых, он позволяет добавлять долгосрочную память к уже обученным моделям без их переобучения. Продуктовые команды могут внедрять персонализацию и контекстную непрерывность без затрат на fine-tuning базовой модели. Это сокращает time-to-market с месяцев до недель.
Во-вторых, фиксированный размер состояния означает предсказуемые вычислительные затраты независимо от длины истории. Для production-систем, где латентность и стоимость инференса регулируют бизнес-модель, это критически важно. Не нужно беспокоиться о том, что пользователь с годовой историей будет стоить в сто раз дороже новичка.
В-третьих, δ-mem работает с замороженным бэкбоном, что делает его совместимым с любыми существующими LLM — от Qwen до Llama, от GPT-клонов до корпоративных fine-tuned моделей. Не нужно менять архитектуру, не нужно обучать с нуля, не нужно ждать релиза новой версии модели с «встроенной памятью». Можно взять то, что уже работает, и добавить δ-модуль поверх.
В-четвёртых, компактность состояния открывает перспективы для edge-деплоя. Матрица 8×8 занимает ничтожный объём памяти и может храниться локально на устройстве пользователя, обеспечивая приватность и отсутствие зависимости от облачной синхронизации. Это особенно актуально для персональных ассистентов, где пользователи не хотят передавать свою историю на сторонние серверы.
Ограничения и открытые вопросы
Несмотря на впечатляющие результаты, у δ-mem есть ограничения, которые стоит учитывать. Во-первых, исследование проведено на относительно небольших моделях — Qwen3-4B, Qwen3-8B, SmolLM3-3B. Как поведёт себя механизм на моделях уровня 70B или 400B параметров — открытый вопрос. Возможно, для очень больших моделей потребуется большее состояние или более сложная организация подсостояний.
Во-вторых, δ-mem обучается с помощью стандартного SFT (supervised fine-tuning) на диалоговых данных, где контекстные токены сначала записываются в состояние, а затем модель генерирует ответ, управляемый этим состоянием. Качество обучающих данных и их соответствие целевым сценариям использования напрямую влияют на эффективность. Для специфических доменов — медицина, юриспруденция, инженерия — потребуется доменно-специфичное дообучение δ-модуля.
В-третьих, вопрос масштабирования состояния остаётся нерешённым. 8×8 работает для общих диалогов, но сколько нужно для агентных систем с десятками параллельных задач? Исследователи не проводили систематического изучения зависимости качества от размера состояния, и это логичное направление для будущих работ.
Часто задаваемые вопросы
Может ли δ-mem полностью заменить длинный контекст?
Нет, это не замена, а дополнение. Длинный контекст нужен для немедленного доступа к деталям текущей задачи, а δ-mem — для компактного хранения истории предыдущих взаимодействий. В идеале они работают вместе: контекст для «здесь и сейчас», δ-mem для «всё, что было раньше». Попытка полностью отказаться от контекста приведёт к потере точности в задачах, требующих дословного цитирования или работы с большими документами.
Насколько сложно внедрить δ-mem в существующий сервис?
Относительно просто. Модуль требует только обучения лёгких проекционных матриц — параметров на порядки меньше, чем в LoRA. При этом бэкбон остаётся замороженным, что упрощает деплой и обновления. Основная работа — организация pipeline записи состояния между сессиями пользователя и сериализация состояния для хранения. Для типичного backend на Python это задача на несколько дней, а не недель.
Почему матрица 8×8 достаточно маленькая?
Потому что δ-mem хранит не сами токены, а ассоциативные паттерны — сжатые представления связей между понятиями. Это похоже на то, как человеческая память работает не как видеозапись, а как сеть ассоциаций. Конечно, для очень сложных сценариев можно увеличить размер, но даже 8×8 даёт значимый прирост. Возможно, ключевой фактор не размер, а качество обучения проекционных матриц и правильная организация гейтов обновления.
Итог
δ-mem демонстрирует, что эффективная память для языковых моделей не требует гонки за миллионами токенов контекста или гигантских внешних баз данных. Достаточно компактного онлайн-состояния, напрямую связанного с механизмом внимания, и правильной стратегии обновления. Результаты на бенчмарках — особенно 31% прирост на MemoryAgentBench и почти удвоение на TTL-задаче — показывают, что это не теоретическая игрушка, а практически значимый механизм.
Для разработчиков агентных систем, долгосрочных ассистентов и персонализированных сервисов δ-mem открывает путь к предсказуемым, масштабируемым и вычислительно эффективным решениям для памяти. А для исследователей — он задаёт новый вопрос: если 64 числа могут так много, что ещё мы упускаем, пытаясь решить проблемы масштабом?