RNN с растущей памятью почти догнали трансформеры
Семь лет трансформер остаётся фактическим стандартом для ChatGPT, Claude и Gemini. Проблема в его квадратичной сложности: чтобы удержать контекст, модель сравнивает каждый токен с каждым, и затраты растут как O(L^2) по длине промпта.
Рекуррентные сети RNN дешёвые и быстрые благодаря фиксированной памяти и линейной сложности O(L), но на длинных документах забывают начало. Именно поэтому их почти вытеснили трансформеры.
Исследователи Google Research вместе с Cornell University и USC в работе Memory Caching: RNNs with Growing Memory предложили дать RNN кнопку «сохранить». Во время чтения модель кэширует контрольные точки скрытых состояний, и память растёт вместе с длиной входа.
Механизм интерполирует между фиксированной памятью RNN и растущей памятью трансформера. Авторы описали четыре варианта, включая селективные разрежённые схемы, где модель сама решает, какие контрольные точки сохранять.
На длинном контексте и recall-задачах RNN с кэшем памяти резко сократили разрыв с трансформерами и обошли лучшие рекуррентные базовые модели, причём без взрывных квадратичных затрат. Для длинного контекста больше не обязательно пересчитывать всю историю на каждом шаге, иногда достаточно более умного кэша.
