Реcurrent Memory Transformer (трансформер с рекуррентной памятью) — архитектура, в которой модель хранит состояние между шагами, используя отдельную память для долгих зависимостей.
Определение
Реcurrent Memory Transformer — это класс моделей, в которых стандартный механизм внимания дополняется рекуррентной памятью. В отличие от обычного трансформера, который работает только с токенами внутри текущего окна, такая модель хранит специальные векторы состояния, позволяющие переносить информацию между шагами и сегментами текста.
Архитектура объединяет принципы трансформеров и рекуррентных моделей: внимание обеспечивает работу с локальными зависимостями, а память сохраняет результаты обработки прошлых сегментов, что расширяет полезный контекст без увеличения окна.
Как работает
В Реcurrent Memory Transformer ввод делится на сегменты, и каждый сегмент обрабатывается с учётом памяти, накопленной ранее. Ключевые элементы архитектуры:
- память — набор векторов, который переносится от сегмента к сегменту;
- механизм обновления — модель добавляет новые представления и удаляет устаревшие;
- внимание к памяти — текущий сегмент получает доступ к сохранённым состояниям;
- обновление памяти после обработки сегмента.
Процесс можно описать так:
- текст разбивается на последовательные блоки;
- для первого блока память пуста;
- модель обрабатывает блок, формирует новые состояния;
- эти состояния сохраняются и переносятся к следующему блоку;
- следующий блок получает доступ к памяти и улучшает свои представления.
Память играет роль долгосрочного контекста. Это позволяет модели учитывать информацию, которая не помещается в стандартное окно, не прибегая к тяжёлым схемам длинного внимания.
Где применяется
- Работа с длинными текстами, разбитыми на сегменты.
- Диалоги с длительной историей, где нужно учитывать ранние реплики.
- Анализ последовательностей событий в логах и трассировке.
- Обработка больших документов: отчёты, книги, исследования.
- Модели, ориентированные на потоковый ввод.
- Сценарии, где важно переносить знания между частями задачи.
Практические примеры использования
В ассистентах с большим количеством контента Реcurrent Memory Transformer позволяет учитывать историю, выходящую за пределы стандартного окна. Модель переносит ключевые состояния между сегментами, оставаясь в рамках небольшого окна и не пересчитывая весь диалог.
В анализе логов модель обрабатывает длинные цепочки событий: каждый сегмент обновляет память, и система удерживает причинно-следственные связи, даже если начальные записи находятся далеко в прошлом.
В задачах работы с кодовыми базами память помогает сохранять структуру проекта между частями: модель помнит информацию о файлах, функциях и зависимостях, обрабатывая код фрагментами.
В больших документах архитектура поддерживает связность текста: модель может учитывать определения, которые появились много страниц назад, благодаря переносу состояния через память.
Преимущества и ограничения
- Плюс: перенос долгосрочных зависимостей без увеличения окна.
- Плюс: экономия ресурсов по сравнению с полным вниманием на длинных последовательностях.
- Плюс: гибкость — память можно настраивать и управлять её размером.
- Плюс: возможность потоковой обработки данных.
- Минус: важно правильно управлять памятью, иначе возникает накопление ошибок.
- Минус: модель может потерять важные сведения при слишком малой памяти.
- Минус: сложность многосегментного обучения.
- Минус: структуры памяти требуют дополнительной оптимизации.
Связанные термины
- Long-context архитектуры
- Segmented inputs
- Memory tokens
- Context caching
- Attention optimization
- Реcurrent mechanisms