Большие языковые модели (БЯМ) стали основой для многочисленных прорывов в области искусственного интеллекта: чат-боты, помощники в программировании, системы ответов на вопросы, творческое письмо и многое другое. Однако, несмотря на их возможности, они не обладают памятью о предыдущих взаимодействиях. Их фиксированные контекстные окна не позволяют накапливать устойчивые знания в ходе длительных бесед или многосессионных задач, и им сложно анализировать сложные истории.
Почему БЯМ испытывают трудности с памятью?
Представьте себе многосессионную беседу: в первой сессии пользователь говорит: «Я взял собаку по имени Бадди». Позже он добавляет: «Я взял ещё одну собаку по имени Скаут». Должна ли система заменить первое утверждение вторым, объединить их или проигнорировать обновление? Простые механизмы памяти часто терпят неудачу — они могут стереть «Бадди» и добавить «Скаут», интерпретируя новую информацию как противоречие, а не как объединение.
Системы, основанные на извлечении информации (RAG), получают данные, но не фильтруют их: нерелевантные записи засоряют рассуждения, и модель отвлекается на шум. Люди, напротив, извлекают информацию широко, но затем выборочно фильтруют то, что имеет значение. Большинство систем памяти ИИ статичны, полагаются на созданные вручную эвристики того, что нужно помнить, а не учатся на обратной связи.
Framework Memory-R1
Команда исследователей из Мюнхенского университета, Технического университета Мюнхена, Кембриджского университета и Гонконгского университета представила Memory-R1 — фреймворк, который обучает агентов БЯМ решать, что запоминать и как это использовать.
Memory-R1 состоит из двух специализированных агентов, обученных с помощью обучения с подкреплением (RL):
1. Менеджер памяти (Memory Manager) решает, какие операции с памятью (ADD, UPDATE, DELETE, NOOP) выполнять после каждого хода диалога, динамически обновляя банк внешней памяти.
2. Агент ответа (Answer Agent) для каждого вопроса пользователя извлекает до 60 потенциальных воспоминаний, сокращает их до наиболее релевантного подмножества, затем анализирует этот отфильтрованный контекст для генерации ответа.
Оба компонента обучаются с помощью RL — используя либо Proximal Policy Optimization (PPO), либо Group Relative Policy Optimization (GRPO) — только с правильностью ответа на вопрос в качестве сигнала вознаграждения. Это означает, что вместо того, чтобы требовать вручную размеченные операции с памятью, агенты учатся методом проб и ошибок, оптимизируя выполнение конечной задачи.
Менеджер памяти: обучение редактированию знаний
После каждого хода диалога БЯМ извлекает ключевые факты. Менеджер памяти затем извлекает соответствующие записи из банка памяти и выбирает операцию:
- ADD: вставить новую информацию, которой ещё нет.
- UPDATE: объединить новые детали с существующими воспоминаниями, когда они дополняют или уточняют предыдущие факты.
- DELETE: удалить устаревшую или противоречивую информацию.
- NOOP: оставить память без изменений, если ничего существенного не добавлено.
Агент ответа: выборочное рассуждение
Для каждого вопроса система извлекает до 60 потенциальных воспоминаний с помощью RAG. Но вместо того, чтобы передавать все эти данные в БЯМ, агент ответа сначала сокращает набор — оставляя только наиболее релевантные записи. Только после этого он генерирует ответ.
Эффективность использования данных
Memory-R1 эффективно использует данные: он достигает высоких результатов, используя всего 152 пары вопрос-ответ для обучения. Это возможно, потому что агент учится на результатах, а не на тысячах вручную размеченных операций с памятью. Контроль сведён к минимуму, и система масштабируется до больших диалогов из реальной жизни.
Экспериментальные результаты
Memory-R1 был протестирован на бэкендах LLaMA-3.1-8B-Instruct и Qwen-2.5-7B-Instruct против конкурентных базовых показателей (LOCOMO, Zep, A-Mem, LangMem, Mem0). Ключевые показатели:
- F1: измеряет совпадение между предсказанными и правильными ответами.
- BLEU-1: фиксирует лексическое сходство на уровне униграммы.
- LLM-as-a-Judge: использует отдельную БЯМ для оценки фактической точности, релевантности и полноты — прокси для человеческого суждения.
Результаты: Memory-R1-GRPO достигает наилучшей общей производительности, улучшая Mem0 (предыдущий лучший базовый показатель) на 48% по F1, на 69% по BLEU-1 и на 37% по LLM-as-a-Judge на LLaMA-3.1-8B.
Почему это важно
Memory-R1 показывает, что управление памятью и её использование можно изучить — агентам БЯМ не нужно полагаться на хрупкие эвристики. Система:
- автоматически объединяет знания по мере развития бесед, а не фрагментирует или перезаписывает их;
- фильтрует шум при ответах, повышая фактическую точность и качество рассуждений;
- обучается эффективно с минимальным контролем и масштабируется до реальных задач с длинным горизонтом.
Заключение
Memory-R1 освобождает агентов БЯМ от их ограничений без состояния, давая им возможность научиться — с помощью подкрепления — эффективно управлять и использовать долговременную память. Представляя операции с памятью и фильтрацию как задачи RL, он достигает современного уровня производительности с минимальным контролем и сильной генерализацией. Это знаменует собой важный шаг к созданию систем ИИ, которые не только свободно общаются, но и запоминают, учатся и рассуждают, как люди.
1. Какие проблемы с памятью у больших языковых моделей (БЯМ) описаны в статье?
В статье говорится, что БЯМ испытывают трудности с памятью из-за фиксированных контекстных окон, которые не позволяют накапливать устойчивые знания в ходе длительных бесед или многосессионных задач. Простые механизмы памяти часто терпят неудачу, так как могут стирать или заменять информацию, не понимая контекста.
2. Какие компоненты входят в состав фреймворка Memory-R1 и как они работают?
Фреймворк Memory-R1 состоит из двух специализированных агентов, обученных с помощью обучения с подкреплением (RL):
* Менеджер памяти решает, какие операции с памятью (ADD, UPDATE, DELETE, NOOP) выполнять после каждого хода диалога, динамически обновляя банк внешней памяти.
* Агент ответа извлекает до 60 потенциальных воспоминаний для каждого вопроса пользователя, сокращает их до наиболее релевантного подмножества, затем анализирует этот отфильтрованный контекст для генерации ответа.
3. Какие операции с памятью может выполнять менеджер памяти в рамках фреймворка Memory-R1?
Менеджер памяти в рамках фреймворка Memory-R1 может выполнять следующие операции с памятью:
* ADD — вставить новую информацию, которой ещё нет.
* UPDATE — объединить новые детали с существующими воспоминаниями, когда они дополняют или уточняют предыдущие факты.
* DELETE — удалить устаревшую или противоречивую информацию.
* NOOP — оставить память без изменений, если ничего существенного не добавлено.
4. Какие экспериментальные результаты были получены при тестировании Memory-R1 на бэкендах LLaMA-3.1-8B-Instruct и Qwen-2.5-7B-Instruct?
При тестировании Memory-R1 на бэкендах LLaMA-3.1-8B-Instruct и Qwen-2.5-7B-Instruct были получены следующие результаты:
* Memory-R1-GRPO достигает наилучшей общей производительности, улучшая Mem0 (предыдущий лучший базовый показатель) на 48% по F1, на 69% по BLEU-1 и на 37% по LLM-as-a-Judge на LLaMA-3.1-8B.
5. Почему разработка Memory-R1 важна для развития искусственного интеллекта?
Разработка Memory-R1 важна для развития искусственного интеллекта, поскольку показывает, что управление памятью и её использование можно изучить. Система автоматически объединяет знания по мере развития бесед, фильтрует шум при ответах, обучается эффективно с минимальным контролем и масштабируется до реальных задач с длинным горизонтом. Это знаменует собой важный шаг к созданию систем ИИ, которые не только свободно общаются, но и запоминают, учатся и рассуждают, как люди.