Современные языковые модели всё лучше справляются с обобщением знаний, решением логических задач и даже написанием кода. Но если речь заходит о действительно длинных отрывках текста (скажем, в десятки тысяч токенов) и сложных многошаговых рассуждениях, традиционные «трансформеры» начинают испытывать затруднения. В недавно опубликованной работе под названием LM2 (Модели с большим объёмом памяти - Large Memory Models) исследователи из Convergence Labs предлагают любопытное решение: дополнить стандартную архитектуру декодера вспомогательным модулем памяти, который буквально «учится» хранить и обновлять информацию в течение всего процесса вывода.
Почему это важно?
На практике модель с «длинной памятью» незаменима, когда нужно анализировать длинные документы, собирать рассеянные по тексту факты и объединять их в единый вывод. В классических трансформерах существует лимит контекстных токенов (к примеру, 4К или 8К), и выход за предел может существенно снизить точность ответов. LM2, по сути, пытается отодвинуть этот лимит, позволяя аккуратно хранить важные фрагменты информации и эффективно управлять ими.
Лично я вижу в этом подходе важный шаг к тому, чтобы нейросети стали оперировать с большими отрывками данных практически так же свободно, как и человек, — причём не просто «удлиняя» контекст, а ещё и пытаясь связно рассуждать, делая меньше ошибок при сложных логических переходах.
Как это устроено «под капотом»
Авторы описывают LM2 как “Архитектура Transformer, основанная только на декодере” (decoder-only Transformer architecture) с дополнительным выделенным «банком памяти». Это выглядит примерно так:
🧩 Модуль памяти. Отдельный блок, который хранит в себе множество «слотов». Каждый слот инициализируется неким базовым вектором (например, матрицей-идентичностью для упрощения), но затем динамически обновляется в процессе обучения и вывода.
🕹️ Механизм шлюзов (гейтов): забывания (Forget), входа (Input) и выхода (Output).
- Шлюз забывания (F - Forget Gate) — определяет, какие фрагменты памяти следует «удалить» или ослабить, если они утрачивают актуальность.
- Шлюз входа (I - Input Gate) — фильтрует новую информацию, поступающую из основного потока внимания.
- Шлюз выхода (O - Output Gate) — определяет, какую часть «извлечённых из памяти» данных передать дальше, чтобы избежать перегрузки модели лишним шумом.
🔀 Перекрёстное внимание (cross-attention). Когда модель обрабатывает очередной фрагмент текста, она «спрашивает» у модуля памяти, какие слоты наиболее релевантны для текущего токена. И наоборот, сама память может переобучаться на основе нового контекста. В итоге формируется двунаправленная связь.
💡 Сохранение исходного потока данных. Важно, что LM2 не выкидывает стандартный Transformer-поток (когда блоки друг другу передают эмбеддинги). Вместо этого рядом идёт параллельный «памятный» поток, и модель учится «подмешивать» в него правильные фрагменты информации.
Итоги экспериментов
Чтобы проверить, действительно ли модель способна «помнить» лучше, авторы протестировали LM2 на наборе тестов:
🤖 BABILong. Это расширенная версия тестового набора bAbI, только с очень длинными контекстами, требующими многошагового и логически сложного рассуждения. По итогам:
- LM2 превзошла память-ориентированную модель RMT (Трансформер с рекуррентной памятью - Recurrent Memory Transformer) на 37.1%;
- Обошла базовую Llama-3.2 на 86.3%;
- Уверенно показала себя на задачах с длинным контекстом (8K–128K токенов), сохраняя высокую точность.
📝 MMLU (многопрофильный набор вопросов по STEM, гуманитарным наукам, соцнаукам и прочим наукам). LM2 показала улучшение на 5% относительно «чистой» модели Llama-3.2 при сохранении её универсальных навыков. Важно, что модель не «разучилась» решать задачи общего характера (частая проблема у новых подходов, где фокус на память приводил к потере общей точности).
Личное мнение и возможности развития
С моей точки зрения, LM2 — это красивое сочетание идей о «рекуррентной памяти» и традиционного механизма внимания. Вдобавок модель использует удобные шлюзы (почти как в LSTM - Long Short-Term Memory - долговременная краткосрочная память), что существенно упрощает процесс обучения: инженеры могут гибко контролировать, что сохраняется в памяти.
Не менее ценно, что модель не пытается бесконечно удлинять традиционный контекст, а именно уделяет внимание тому, как хранить и извлекать данные избирательно. Ведь в реальном мире не всё, что написано в длинном тексте, нужно помнить целиком — главное, уметь вовремя «вспомнить» нужные фрагменты.
В будущем разработчики, вероятно, будут ещё глубже исследовать, как улучшить интерпретируемость памяти, чтобы мы могли понимать, что именно в этих слотах хранится. А также, возможно, появятся варианты гибридных методов — например, объединение LM2 с RAG ( Retrieval-Augmented Generation - генерация с дополнением извлечённой информации), когда модель не только «запоминает», но и умеет при необходимости «доставать» внешние документы из поискового индексатора.
Короткие выводы
✅ LM2 = гибрид стандартного декодера и «умного модуля памяти», способного хранить долгосрочные данные.
✅ Высокая точность в задачах с очень длинным контекстом, особенно по сравнению с другими решениями, основанными на памяти.
✅ Сильная сторона — многошаговое, ревизионное (многофакторное) рассуждение и высокая адаптивность в процессе обучения.
✅ Важная деталь — не ломает способности модели в общем плане, а даёт прибавку на общем пуле задач.
Для меня LM2 выглядит как перспективный шаг в сторону моделей, которые приближаются к более человеческому способу мышления: мы же тоже не пытаемся «удержать в уме» весь массив прочитанного целиком, а выделяем главное и держим это в памяти, пока оно нужно.
Ссылки
- Статья на arXiv: https://arxiv.org/abs/2502.06049
- Официальный сайт Convergence Labs: https://convergence.ai
- Репозиторий кода LM2: https://github.com/convergence-ai/