Обработка чрезвычайно длинных документов остаётся сложной задачей для больших языковых моделей (LLM). Даже с такими методами, как экстраполяция длины и разрежённое внимание, модели часто страдают от снижения производительности и высоких вычислительных затрат. Чтобы решить эту проблему, исследователи из ByteDance Seed и Университета Цинхуа разработали MemAgent — систему на основе обучения с подкреплением, предназначенную для обработки длинных контекстов с линейной сложностью и минимальными потерями в производительности.
Ограничения существующих подходов
Текущие решения для моделирования длинных контекстов можно разделить на три основные категории:
1. Методы экстраполяции длины (например, NTK, PI, YaRN, DCA): расширяют окно контекста с помощью манипуляций с позиционными вложениями. Однако они часто сталкиваются с проблемами снижения производительности и масштабируемости.
2. Разрежённые и линейные механизмы внимания: уменьшают сложность внимания до O(n), но обычно требуют переобучения с нуля и опираются на фиксированные шаблоны или правила, определённые человеком.
3. Сжатие контекста: используют модули памяти на уровне токенов или внешней памяти для сжатия длинных входных данных, но часто нарушают стандартный процесс генерации и испытывают трудности с экстраполяцией.
Эти подходы не обеспечивают все три критически важных атрибута: поддержку произвольной длины входных данных, постоянную точность и эффективную линейную сложность.
Стратегия памяти, подобная человеческой
Вдохновлённый тем, как люди обобщают ключевую информацию, игнорируя шум, MemAgent обрабатывает входные данные как поток доказательств. На каждом шаге он читает фрагмент документа и внутреннюю память, перезаписывая последнюю обновлённым, сжатым контекстом.
Ключевые инновации:
* Память на основе токенов фиксированной длины: сжимает важную информацию, сохраняя совместимость модели.
* Механизм перезаписи по сегментам: поддерживает бесконечную длину текста без увеличения объёма памяти.
* Линейная сложность: затраты на обновление памяти и декодирование остаются постоянными для каждого фрагмента.
Обучение с помощью RL и GRPO
MemAgent рассматривает взаимодействие с каждым фрагментом документа как независимый диалог. Он обучается с помощью групповой относительной оптимизации политики (GRPO) в рамках конвейера RL с несколькими беседами под названием DAPO, что позволяет обновлять память на основе вознаграждения.
Ключевые элементы:
* Правило-верификатор: рассчитывает вознаграждение за результат, сравнивая ответы модели с несколькими истинными значениями.
* Сигнал RL на уровне токенов: применяется равномерно для всех бесед, исходящих из выборки.
Эта настройка поощряет сжатие памяти, ориентированное на информацию, релевантную ответу, и отбрасывает отвлекающие факторы.
Оценка производительности
Используя эталонный тест RULER и синтетические наборы данных из HotpotQA и SQuAD, MemAgent был обучен с окном контекста 8K и экстраполирован до 3,5 миллионов токенов.
| Модель | 224K | 896K | 3.5M |
| — | — | — | — |
| Qwen2.5-Instruct-14B-1M | 37,5% | 0,0% | N/A |
| QwenLong-L1-32B | 17,2% | 11,7% | N/A |
| RL-MemAgent-14B | 81,3% | 77,3% | 78,1% |
MemAgent сохранил точность более 95% на тестах RULER (от 8K до 512K токенов) и последовательно превосходил базовые модели, основанные на длинных контекстах и дистилляции.
Пример из практики: многоэтапный QA
Учитывая запрос «Режиссёр романтической комедии „Big Stone Gap“ базируется в каком городе Нью-Йорка?», MemAgent последовательно отслеживал релевантный контент в трёх фрагментах:
* распознавал несвязанный контент, но сохранял информацию о местоположении;
* поддерживал память в отношении нерелевантных фрагментов;
* корректно обновлял память при обнаружении биографии Адрианы Триджани.
Окончательный ответ: Гринвич-Виллидж, Нью-Йорк.
Теоретическая основа и сложность
MemAgent переформулирует авторегрессионную модель, используя скрытые переменные памяти (m₁…mₖ):
$p(x₁:N) = ∑ₘ₁:ₖ ∏ₖ p(cₖ | mₖ₋₁) * p(mₖ | cₖ, mₖ₋₁)$
Это обеспечивает вычислительную сложность O(N) и удобочитаемую промежуточную память — в отличие от сжатия функций на основе внимания. RL имеет важное значение, поскольку обновления памяти являются дискретными и не могут быть изучены с помощью обратного распространения ошибки.
Заключение
MemAgent предлагает масштабируемое и эффективное решение трилеммы длинного контекста: неограниченная длина входных данных, почти без потерь точности и линейная сложность. Его механизм перезаписи памяти на основе RL позволяет LLM читать, обобщать и генерировать данные на основе многомиллионных входных данных без архитектурных изменений.
Часто задаваемые вопросы
Q1: Что такое MemAgent?
MemAgent — это система на основе обучения с подкреплением, которая оснащает LLM токенами памяти для эффективной обработки чрезвычайно длинных контекстов.
Q2: Чем он отличается от методов внимания или экстраполяции?
В отличие от методов масштабирования на основе внимания или экстраполяции, MemAgent использует память на основе токенов, обновляемую с помощью обучения с подкреплением.
Q3: К каким моделям можно применить MemAgent?
К любым моделям на основе трансформеров. Изменения в архитектуре модели не требуются.
Q4: Как он масштабируется в зависимости от размера входных данных?
Он поддерживает линейную вычислительную сложность независимо от длины входных данных, фиксируя размер памяти.
Q5: Каковы области применения MemAgent?
Анализ длинных документов, системы памяти агентов, обзор юридических документов, анализ научной литературы и принятие решений в реальном времени с использованием обширной базы доказательств.
1. Какие проблемы существующих подходов к обработке длинных контекстов решает MemAgent?
В статье указано, что существующие подходы к обработке длинных контекстов имеют несколько ограничений:
* методы экстраполяции длины часто сталкиваются с проблемами снижения производительности и масштабируемости;
* разрежённые и линейные механизмы внимания уменьшают сложность внимания до O(n), но обычно требуют переобучения с нуля и опираются на фиксированные шаблоны или правила, определённые человеком;
* методы сжатия контекста нарушают стандартный процесс генерации и испытывают трудности с экстраполяцией.
MemAgent решает эти проблемы, обеспечивая поддержку произвольной длины входных данных, постоянную точность и эффективную линейную сложность.
2. Какие ключевые инновации используются в MemAgent для обработки длинных контекстов?
Ключевые инновации MemAgent включают:
* память на основе токенов фиксированной длины, которая сжимает важную информацию, сохраняя совместимость модели;
* механизм перезаписи по сегментам, который поддерживает бесконечную длину текста без увеличения объёма памяти;
* линейная сложность, которая обеспечивает постоянные затраты на обновление памяти и декодирование для каждого фрагмента.
3. Как MemAgent обучается и какие методы используются для его обучения?
MemAgent обучается с помощью групповой относительной оптимизации политики (GRPO) в рамках конвейера RL с несколькими беседами под названием DAPO. Это позволяет обновлять память на основе вознаграждения. Ключевые элементы обучения включают:
* правило-верификатор, которое рассчитывает вознаграждение за результат, сравнивая ответы модели с несколькими истинными значениями;
* сигнал RL на уровне токенов, который применяется равномерно для всех бесед, исходящих из выборки.
4. Какие результаты показал MemAgent в сравнении с другими моделями на эталонном тесте RULER?
В статье указано, что MemAgent сохранил точность более 95% на тестах RULER (от 8K до 512K токенов) и последовательно превосходил базовые модели, основанные на длинных контекстах и дистилляции. Это свидетельствует о высокой эффективности и точности MemAgent при обработке длинных контекстов.
5. Какие примеры практического применения MemAgent приведены в статье?
В статье приведён пример многоэтапного QA, где MemAgent последовательно отслеживал релевантный контент в трёх фрагментах и корректно обновлял память при обнаружении биографии Адрианы Триджани. Это демонстрирует способность MemAgent эффективно обрабатывать длинные тексты и генерировать точные ответы на основе многомиллионных входных данных.