В комьюнити HRM уже успели покрутить, и вышел еще разбор, из которого про модель я узнала больше, чем из оригинальной работы. А следом Tiny Recursion Model, в которой отбросили всю сложность HRM
🔗HIERARCHICAL REASONING MODELS: PERSPECTIVES AND MISCONCEPTIONS
🔗Less is More: Recursive Reasoning with Tiny Networks
🤔 Что не так с RNN
RNN страдают от BPTT. Vanishing gradients возникают из-за того, что hidden state
h_t зависит от всех предыдущих состояний. Чтобы посчитать градиент для h_0, нужно пройти через все промежуточные h_t. Градиент превращается в произведение якобианов, и при длине последовательности в сотни шагов испаряется.В трансформерах каждый токен смотрит на весь контекст через self-attention. Параллелизация вычислений, стабильные градиенты. Недостаток в квадратичной сложности по длине последовательности и в фиксированной архитектурно «глубине обдумывания» каждого токена (кол-во слоев).
А ведь рекуррентность имеет смысл. ❗️Возможность «обдумать» входные данные несколько раз, уточняя ответ — хорошая стратегия, чего не хватает трансформерам.
❔ HRM напоминает диффузию?
HRM перенесла рекуррентность в латентное пространство. Вместо обновления hidden state по токенам, модель итеративно уточняет латентное представление
z всего ответа.В обучении HRM использует one-step gradient через Implicit Function Theorem: градиенты считают только для последних двух итераций рекурсии. Память получается константной.
Это похоже на диффузию. Там модель учится из зашумленного
x_t воспроизводить чистый x_0, обучаясь на парах (x_t, x_0) независимо. Рекурсия (постепенное убирание шума) появляется только на inference. HRM делает концептуально похожее: учится улучшать ответ с любого промежуточного состояния😐 Deep supervision
Команда ARC Prize тогда еще обнаружила, что deep supervision даёт ~+20% на ARC-AGI бенче. Что это значит? Обычно модель получает feedback только в самом конце: правильное ли решение. А с deep supervision модель получает feedback на промежуточных шагах. HRM делает 16 итераций уточнения (внутри каждой еще несколько итераций L-модуля без градиентов), и на каждой модель учится: первая итерация — первая попытка, последняя улучшает финальный ответ.
Помимо этого, HRM предполагает, что рекуррентный процесс достигает fixed point (где дальнейшие итерации ничего не меняют), и на этом основании использует упрощенный расчет градиентов. Но абляции показали, что модель по факту не достигает этой точки. Формула для градиентов работает не совсем корректно, и модель учится на неточных сигналах.
Механизм Adaptive Computation Time (ACT) тоже вызвал вопросы. В оригинальной статье Q-head предсказывает, когда остановить уточнение через Q-learning (Q_halt vs Q_continue). Но на практике максимальное число шагов всегда даёт лучший результат, что ставит под сомнение адаптивность.
😐 Tiny Reasoner Model
Авторы TRM просто начали удалять компоненты HRM, проверяя абляциями
Убрали H-модуль, оставили только L. Это согласуется с наблюдениями ARC-AGI.
Два слоя вместо восьми. Уменьшили глубину с 4+4 слоёв до 2 слоёв. Логично, что на датасете из ~1000 примеров, маленькие сети лучше генерализуются
Возвращение к полному BPTT вместо приближения. Это главное, пожалуй. Да, тут память растёт линейно с числом шагов, но сеть очень маленькая (2 слоя). В результате (вместе с заменой Attention на MLP) +30.9% на задаче Sudoku по сравнению с HRM
Выводы?
Рекуррентность пытаются возвращать. В виде итеративных обновлений в латентном пространстве, с deep supervision и адаптивной глубиной вычислений
🟠RNN рекуррентны во времени (токен → токен)
🔴Universal Transformer рекуррентен по глубине: один и тот же блок повторяется для всех позиций, иногда с ACT-остановкой
🔴HRM/TRM рекуррентны в латентном пространстве: есть состояние, которое итеративно уточняется
Как думаете, есть будущее у этого подхода? Будет ли масштабироваться с ростом количества данных?