MemoryWAM: как робот запоминает мир

MemoryWAM: как робот запоминает мир

Представьте робота, который открывает дверь. Подъехал к двери, выровнял манипулятор, нажал на ручку — и дверь открылась. Кажется, задача выполнена. Но в реальности каждый из этих шагов зависел от истории: робот помнил, что дверь справа от предыдущего стеллажа, что он уже подъезжал к ней дважды и отступал для корректировки угла подхода. Если память работает только на 30 секунд назад — робот закроет задачу. Если память охватывает минуты — он выполнит её лучше, с корректировкой на предыдущие неудачные попытки. Если память охватывает часы — он сможет вернуться к задаче на следующий день и продолжить с места остановки.

Именно эту проблему — фундаментальный компромисс между глубиной памяти и вычислительной стоимостью — решает MemoryWAM, новая архитектура от исследователей из MIT и CMU. World action model сPersistent Memory использует гибридную память и специализированный retrieval-механизм, чтобы робот мог работать в длинных горизонтах без взрывного роста задержек и потребления GPU.

Почему стандартные WAM упираются в память

World action model (WAM) — это модель, которая предсказывает, как изменится визуальная сцена, если робот применит определённое действие. В отличие от классических политик, которые выдают действие напрямую, WAM работает как «визуальный simulator»: сначала воображает результат, затем выбирает действие, ведущее к желаемому исходу. Это называется visual foresight, и это мощный примитив для задач, где直接的 награды получить сложно — робот учится на воображении, а не на пробах и ошибках в реальности.

Классические WAM_conditionируются на историю наблюдений, что позволяет им работать в неМарковских средах — там, где результат действия зависит от предыстории. Если робот толкает дверь, направление толчка зависит от того, где находятся петли — информация из предыдущих кадров. Однако реализуется это просто: скользящее окно последних N кадров, где N выбирается из компромисса между качеством и стоимостью. Проблема в том, что вычислительная сложность attention растёт квадратично с N, а потребление VRAM — линейно. Увеличил окно в два раза — inference замедлился в четыре раза, а видеопамять удвоилась.

На практике это означает: типичные WAM работают с горизонтами 16–32 кадра. При 30 fps это 0.5–1 секунда видео. Этого достаточно для простых задач — взять видимый объект. Но для задач, где нужно помнить состояние на протяжении минут, — переупорядочить инструменты на столе, вставить ключ в замок после серии манипуляций, — стандартные WAM не подходят. MemoryWAM предлагает принципиально другое решение.

Гибридная память: три уровня хранения

Вместо одного универсального хранилища MemoryWAM разделяет память на три уровня, каждый из которых оптимизирован под свою задачу.

Первый уровень — недавние кадры высокого разрешения, покрывающие непосредственный контекст. Это стандартный буфер, как в обычных WAM, но ограниченный по размеру. В экспериментах авторов использовалось 16–32 недавних кадра — достаточно для действий, зависящих от immediate context, но недостаточно для задач с длинным горизонтом.

Второй уровень — anchor-кадры на границах событий. Ключевая идея: не все кадры одинаково информативны. Когда робот захватывает объект, открывает дверь или сталкивается с препятствием — это семантически плотные моменты, которые определяют состояние системы. Между ними состояние меняется постепенно. MemoryWAM автоматически детектирует эти границы через change detection: сравнивает последовательные кадры в пространстве визуального энкодера и помечает как anchor те, где L2-дистанция превышает порог. Это работает без дополнительного обучения — семантически плотные события создают большие визуальные различия.

Третий уровень — gist-токены, компактные векторные представления сжатой долгосрочной истории. Это наиболее инновационная часть архитектуры. Отдельный энкодер-генератор обучается сжимать произвольное количество кадров в фиксированное количество токенов — обычно 8–16. Поскольку размер gist-представления постоянен, retrieval attention имеет постоянную вычислительную сложность независимо от длительности эпизода. Энкодер обучается совместно с основной WAM на задачах, где долгосрочный контекст критичен для успеха, — модель учится, какую информацию о прошлом нужно сохранить для будущих решений.

Как работает retrieval-augmented attention

Когда робот планирует действие, ему нужен не весь объём памяти, а релевантный контекст. MemoryWAM использует специализированный retrieval-механизм, который выбирает источник в зависимости от типа текущей задачи.

Если робот манипулирует объектом, который только что захватил, — работает краткосрочный путь. Attention обращается к недавним кадрам, где видно положение манипулятора и объекта. Если робот вернулся к задаче, которую выполнял 20 минут назад, — срабатывает долгосрочный путь. Attention запрашивает gist-токены, которые хранят сжатое представление всей истории, плюс соответствующие anchor-кадры, восстанавливающие ключевые моменты.

Gist-токены решают главную проблему масштабирования. В классических подходах при увеличении длительности эпизода приходится обрабатывать больше кадров — квадратичный рост attention. MemoryWAM всегда работает с фиксированным количеством gist-токенов, поэтому сложность постоянна. Это означает, что робот, проработавший час, потребляет столько же вычислительных ресурсов на memory retrieval, сколько робот, проработавший минуту.

Anchor-кадры выполняют комплементарную функцию. Gist-токены сжимают информацию, но сжатие неизбежно теряет детали. Anchor-кадры восстанавливают семантически плотные моменты с полным визуальным разрешением. Если gist-токен编码了 «робот дважды пытался открыть дверь и отступал», соответствующий anchor-кадр показывает точные траектории манипулятора в каждой попытке.

Эксперименты: от симуляции к реальному роботу

Авторы тестировали MemoryWAM на трёх бенчмарках с нарастающей сложностью.

Первый — MetaWorld, симуляционный бенчмарк для робототехники манипуляции. Задача: выполнить последовательность из 4–6 действий, где каждое зависит от результата предыдущего. Успех здесь означает не только выполнить действие, но и запомнить его результат для следующего. MemoryWAM показала success rate 87.3% против 71.2% у WAM со скользящим окном эквивалентного размера — улучшение на 16.1 процентных пункта на горизонте 50+ шагов.

Второй — CALVIN, benchmark для обучения роботов языковым командам. Здесь длинный контекст критичен: команда «положи красный блок слева от синего» требует回忆 о том, где находятся блоки, какие уже обработаны, какие остались. MemoryWAM достигла 68.4% против 53.1% у baseline.

Третий — реальный робот Franka Panda, задача переупорядочивания объектов. 40% успешных попыток требовали回忆 более чем 30 предшествующих кадров — то есть задача была невыполнима для системы с ограниченным окном памяти. Память о том, какой объект был обработан первым, какой стоит слева от какого — всё это выходит за пределы стандартного горизонта WAM.

Критически важный результат — измерение inference latency. При увеличении длительности эпизода с 32 до 256 шагов latency стандартной WAM вырастала в 6.3 раза. MemoryWAM показала практически постоянную latency — рост 1.1x. Это происходит потому, что retrieval attention работает с фиксированным количеством gist-токенов и anchor-кадров, а не со всей историей.

Почему это важно для индустрии

Проблема памяти в robotics долго оставалась в тени успехов в computer vision и language modeling. Модели стали лучше видеть, лучше понимать команды, но способность сохранять и использовать долгосрочный контекст отставала. Это не академическая проблема — это основной барьер для deployment в реальных сценариях.

Складская логистика: робот-комплектовщик работает с тысячами SKU, помнит, какие заказы уже собраны, какие остались, какие требуют особого обращения. Хирургическая робототехника: хирург дистанционно управляет роботом, и система должна помнить фазы операции, чтобы предвидеть следующий шаг и обеспечить безопасность. Домашние помощники: робот выполняет задачу, прерывается человеком, затем продолжает — и должен помнить контекст прерывания.

MemoryWAM делает такие сценарии вычислительно реализуемыми. Gist-токены с фиксированным размером означают, что система не деградирует по мере накопления опыта — робот, проработавший год, использует столько же памяти на retrieval, сколько робот после первого дня. Это принципиальное отличие от подходов, где хранится вся история.

Архитектурные детали для практиков

Формально MemoryWAM можно описать как WAM с external memory, где memory состоит из трёх компонентов: краткосрочного буфера B ∈ R^{T_b × C × H × W}, множества anchor-кадров A = {a_1, ..., a_k} и множества gist-токенов G = {g_1, ..., g_m}. Каждый компонент имеет собственный retrieval pathway в attention-механизме.

Gist-энкодер обучается вариационно: он получает на вход последовательность кадров и должен восстановить ключевые свойства следующего кадра. Это заставляет его выучивать сжатое представление, достаточное для предсказания. Совместное обучение с WAM означает, что gist-токены оптимизированы не для общего сходства, а для полезности при принятии решений.

Change detection для anchor-кадров работает на уровне визуального энкодера pretrained модели. L2-дистанция между последовательными представлениями:

d_t = ||enc(f_t) - enc(f_{t-1})||_2

Если d_t > τ, кадр t помечается как anchor. Порог τ — гиперпараметр, который можно настроить под задачу: больше τ — меньше якорных кадров, меньше детализации, но ниже overhead.

Часто задаваемые вопросы

Как система ведёт себя при отказе памяти или потере anchor-кадра? Авторы тестировали деградацию при искусственном удалении до 30% anchor-кадров. Success rate снижался плавно — 87.3% → 81.2% → 76.4% при 0%, 15%, 30% потерь. Катастрофического отказа не происходило, потому что gist-токены всё ещё кодируют ключевую информацию. Это важно для реального применения, где идеальная работа всех компонентов не гарантирована.

Почему бы не использовать vector database для всей истории, как в RAG? Векторная база данных требует поиска по всему хранилищу на каждом шаге — линейная или квадратичная сложность в зависимости от индекса. MemoryWAM работает с фиксированным количеством gist-токенов, поэтому retrieval attention имеет постоянную сложность. Это ключевое отличие от RAG-подходов в NLP. Архитектура платит за это тем, что gist-токены — learned compression, а не точное хранилище. Информация теряется при сжатии, но выигрыш в масштабируемости компенсирует.

Как anchor-кадры выбираются без дополнительного обучения? Change detection работает на pretrained visual encoder. Семантически плотные события — захват, контакт, столкновение — создают большие визуальные изменения в пространстве энкодера, потому что они физически меняют конфигурацию сцены. Модель не нужно учить детектировать эти события — она использует естественное свойство визуального потока.

Какие задачи НЕ подходят для MemoryWAM? MemoryWAM оптимизирована для задач, где память о прошлых действиях влияет на будущие решения. Задачи с чистым MDP (результат зависит только от текущего состояния) не выигрывают от памяти. Также система не помогает, если релевантный контекст не визуален — если роботу нужно помнить абстрактные правила или числовые величины, для этого нужны отдельные механизмы.

Итог

MemoryWAM решает фундаментальную проблему world action models — ограниченное окно памяти — через гибридную архитектуру с gist-токенами и event-boundary якорями. Вместо хранения всей истории с квадратичной стоимостью модель сжимает прошлое в фиксированное представление и извлекает релевантный контекст по требованию. Результат: робот запоминает контекст часов работы без увеличения задержки, success rate растёт на 16+ процентных пунктов на длинных горизонтах, а inference latency остаётся постоянной.

Для robotics это шаг от «робот выполняет одну команду» к «робот работает в сложных средах часами». Для индустрии — возможность развернуть WAM в реальных сценариях: склады, операционные, дома. Для research — новый взгляд на организацию памяти в agent systems, где scaling памяти не должен означать scaling compute.

← Все записи