Увеличение возможностей языковых моделей за счет долговременной памяти
Augmenting Language Models with Long-Term Memory
June 12, 2023
Авторы: Weizhi Wang, Li Dong, Hao Cheng, Xiaodong Liu, Xifeng Yan, Jianfeng Gao, Furu Wei
cs.AI
Аннотация
Существующие крупные языковые модели (LLMs) могут обрабатывать только фиксированные по размеру входные данные из-за ограничения на длину ввода, что не позволяет им использовать богатую долгосрочную контекстную информацию из прошлых входов. Для решения этой проблемы мы предлагаем фреймворк Language Models Augmented with Long-Term Memory (LongMem), который позволяет LLMs запоминать длительную историю. Мы разработали новую разделенную сетевую архитектуру, где исходная базовая LLM заморожена в качестве кодировщика памяти, а адаптивная остаточная боковая сеть выступает в роли извлекателя и читателя памяти. Такая разделенная архитектура памяти позволяет легко кэшировать и обновлять долгосрочные прошлые контексты для извлечения памяти без проблем с устареванием данных. Благодаря адаптивному обучению с использованием памяти, LongMem может запоминать длительные прошлые контексты и использовать долгосрочную память для языкового моделирования. Предложенный модуль извлечения памяти способен обрабатывать контексты неограниченной длины в своем хранилище памяти, что приносит пользу различным задачам. В частности, LongMem может расширить долгосрочную память до 65 тысяч токенов, что позволяет кэшировать множество дополнительных демонстрационных примеров в качестве долгосрочной памяти для обучения в контексте. Эксперименты показывают, что наш метод превосходит сильные модели с длинным контекстом на бенчмарке ChapterBreak, сложном тесте для моделирования длинного контекста, и демонстрирует значительные улучшения в обучении с использованием памяти по сравнению с LLMs. Результаты подтверждают, что предложенный метод эффективно помогает языковым моделям запоминать и использовать длительные контенты. Наш код доступен по адресу https://aka.ms/LongMem.
English
Existing large language models (LLMs) can only afford fix-sized inputs due to
the input length limit, preventing them from utilizing rich long-context
information from past inputs. To address this, we propose a framework, Language
Models Augmented with Long-Term Memory (LongMem), which enables LLMs to
memorize long history. We design a novel decoupled network architecture with
the original backbone LLM frozen as a memory encoder and an adaptive residual
side-network as a memory retriever and reader. Such a decoupled memory design
can easily cache and update long-term past contexts for memory retrieval
without suffering from memory staleness. Enhanced with memory-augmented
adaptation training, LongMem can thus memorize long past context and use
long-term memory for language modeling. The proposed memory retrieval module
can handle unlimited-length context in its memory bank to benefit various
downstream tasks. Typically, LongMem can enlarge the long-form memory to 65k
tokens and thus cache many-shot extra demonstration examples as long-form
memory for in-context learning. Experiments show that our method outperforms
strong long-context models on ChapterBreak, a challenging long-context modeling
benchmark, and achieves remarkable improvements on memory-augmented in-context
learning over LLMs. The results demonstrate that the proposed method is
effective in helping language models to memorize and utilize long-form
contents. Our code is open-sourced at https://aka.ms/LongMem.