Исследователь из Princeton предлагает Recurrent Looped Transformer (RLT), переносящий состояние декодера через каждый токен и фиксирующий 96 блоков на токен при неограниченной временной глубине
В большинстве LLM с архитектурой только декодера ничто из вычисленного на последнем слое токена t не передаётся на первый слой токена t+1; позиции взаимодействуют только посредством внимания к кэшированным ключам и значениям. Технический отчёт исследователя из Принстона (Yifan Zhang) под названием Recurrent Looped Transformer (RLT) предлагает замкнуть этот цикл. Финальное скрытое состояние декодера и его поуровневый кэш внимания со скользящим окном (SWA) переносятся на следующий токен — как в промпте, так и в ответе, без сброса на границе. Предлагаемое исследование представляет собой спецификацию архитектуры. В ней определены архитектура, расписания выполнения и контракт воспроизведения RL, при этом прямо указано, что измерения эффективности, качества рассуждений или результатов масштабирования не проводились.
Как устроен RLT
Recurrent Looped Transformer (RLT) объединяет каузальный энкодер с рекуррентным декодером. Энкодер обрабатывает токены параллельно с каузальной маской и создаёт представления e_t, из которых проецируется память ключей и значений M≤t; группы памяти могут совместно использоваться слоями декодера (G = 1) или оставаться специфичными для каждого слоя (G = L_D).
Рекуррентность реализуется в декодере. Его полное состояние имеет вид Ht = (st, CtD), где st — выход последнего слоя декодера, а CtD содержит сохранённые ключи и значения SWA на каждом слое декодера. Для каждого токена управляемое слияние объединяет et с предыдущим выходом s{t-1}, после чего каждый блок декодера выполняет каузальное SWA над активациями декодера, перекрёстное внимание к памяти энкодера и FFN. Окно W включает текущий токен, поэтому на каждом слое сохраняется не более W – 1 исторических записей. Распределение для следующего токена считывается из st, а инициализация выполняется один раз перед BOS с обучаемым начальным состоянием s* и пустым кэшем.
Эталонная конфигурация с общими весами использует 48 слоёв энкодера и 48 слоёв декодера с совместимыми весами внимания и FFN. Таким образом, каждый токен проходит 96 логических блоков, хотя блоки декодера дополнительно выполняют перекрёстное внимание, поэтому FLOPs на блок не равны. Zhang называет это повторным использованием параметров, а не копированием активаций.
3 принципа проектирования
- Скрытое рассуждение с неограниченной временной глубиной: после обработки t токенов путь состояния от s0 проходит через t·LD блоков декодера, то есть через 48t блоков в эталонной конфигурации. Вычислительная нагрузка на токен остаётся фиксированной, тогда как структурная глубина пути растёт вместе с последовательностью. В исследовательском отчёте предупреждается, что вентили и затухание могут подавлять длинные пути; структурная глубина не гарантирует рассуждение.
- Совместное проектирование модели и аппаратного обеспечения: признаки энкодера и проекции памяти для известных токенов используют токен-параллельные ядра. Переходы декодера остаются последовательными внутри одной последовательности, однако готовые обновления независимых последовательностей могут выполняться в одном пакетном ядре. В отчёте прямо говорится, что для нелинейного декодера не предполагается точное параллельное сканирование, ускорение предварительного заполнения не заявляется, а стандартный параллельный проход декодера SWA не эквивалентен рекуррентному процессу. Пакетная обработка, слияние ядер и контрольные точки указаны как цели реализации, а не как уже готовые ядра.
- Совместное проектирование модели и алгоритма RL: предобучение, SFT, сэмплирование и воспроизведение RL используют один переход состояния. Для RL сэмплер записывает логарифм вероятности действия при фактическом распределении сэмплирования, включая температуру и усечение. Обучающий процесс заново строит память энкодера, рекуррентный выход и каждый кэш SWA с начала последовательности при текущих параметрах, прежде чем оценивать каждое действие; сохранённые состояния старых развёрток никогда не используются повторно. Положение 3.1 формализует следствие: перемещение границы между промптом и ответом не меняет условное распределение для фиксированной истории токенов.
Обучение и использование
Предобучение представляет собой предсказание следующего токена для всей последовательности с полным обратным распространением во времени. При SFT функция потерь применяется только к целевым токенам ассистента, но обновления состояния никогда не маскируются, поэтому градиенты ошибки для ассистента проходят через токены пользователя и инструментов. В приложении B показано, почему частичное отсоединение опасно: якобиан перехода от состояния к состоянию содержит перекрёстные члены через KV декодера, поэтому отсоединение только st оставляет пути градиента через кэш; любая схема усечённого BPTT должна указывать каждую отсоединяемую тензорную переменную.
Для многошагового использования точный снимок префикса включает кэш энкодера и память, полное состояние декодера, метаданные позиции, соглашение об окне и версию модели. Снимок с фиксированными весами можно использовать повторно, поскольку состояние не зависит от границы между этапами обслуживания; обновления весов делают старые состояния недействительными, а редактирование префикса требует повторного вычисления начиная с более ранней контрольной точки. Внешние токены в многошаговом RL обновляют состояние, но для них не применяются множители отношения правдоподобий.
Связь с предыдущими разработками
Память, производная от энкодера, следует подходу YOCO, который кэширует KV один раз для кросс-декодера, и DeepSeek-V4.1-Flash, который проецирует глобальные KV декодера из финальных состояний энкодера; RLT сохраняет эту память, но отказывается от пропуска декодера для всего промпта. Временная обратная связь развивает идеи Feedback Transformer и Recurrent Transformer; вместо этого RLT подаёт предыдущий финальный выход декодера на вход следующего декодера и использует рекуррентность также для промпта. Повторное использование по глубине связано с Universal Transformers и скрытым рассуждением с рекуррентной глубиной; аргумент о воспроизведении расширяет заметку Zhang о несоответствии ядер предварительного заполнения и декодирования.
Интерактивное объяснение
Главные выводы
- RLT переносит полное состояние декодера (финальный выход и поуровневый кэш SWA) через каждый токен промпта и ответа без сброса на границе.
- Эталонная конфигурация: 48 связанных слоёв энкодера и декодера, 96 логических блоков на токен, путь состояния длиной 48t блоков после t токенов.
- Возможности аппаратной оптимизации: параллелизм энкодера и пакетная обработка нескольких последовательностей; параллельное сканирование или ускорение предварительного заполнения не заявляются.
- При воспроизведении RL все состояния заново строятся с текущими параметрами, а записанные логарифмы вероятностей действий сохраняются в качестве знаменателей отношений.
- Измеренные результаты отсутствуют: качество рассуждений, эффективность и масштабирование RL остаются открытыми направлениями для проверки.
Ознакомьтесь с техническим отчётом, репозиторием на GitHub, и страницей проекта. Все заслуги принадлежат исследователю этого проекта. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с более чем 150 тысячами участников и подписаться на нашу рассылку. Стоп! Вы есть в Telegram? Теперь вы также можете присоединиться к нам в Telegram.
Хотите стать нашим партнёром для продвижения своего репозитория на GitHub, страницы на Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.