"Я отупел от прочтения Hierarchical Reasoning Model [2025] На бумаге идея следующая - делаем такую модель, которая состоит из 2 компонент - ""медленной"" и ""быстрой"". Медленная будет применяться реже и отвечать за более ""глобальное"" планирование, а вот быстрая будет дорабатывать детали. Как обычно, приводится неуместная аналогия с человеческим мозгом, который как бы умеет оперировать на разных частотах одновременно. Работает примерно так: Есть 2 скрытых состояния, который обновляются двумя разными трансформерами. То, что авторы называют forward pass, состоит из N * T шагов. На каждом из них ""быстрая сеть"" берёт быстрое состояние, медленное состояние, эмбеддинг входа, и выдаёт обновлённое быстрое состояние. Раз в T шагов просыпается медленная сеть, берёт быстрое и медленное состояние, и выдаёт новое медленное состояние. Спустя N * T шагов применяется модель, которая превращает медленное состояние в выходное предсказание. Авторы говорят - пробрасывать градиенты сквозь всю эту схему - скукотища и занимает кучу памяти. Решение нашли интересное - забить. Градиенты текут только во время последнего шага, для которого все предыдущие состояния считаются константой. На вопрос ""Схуяли?"" авторы отвечают ""Consider an idealized HRM behavior"", приводят пачку невыполняющихся в данной ситуации формул и вуаля - 1-step gradient approximation готов. Unbiased, мамой клянусь. На самом деле, то, что авторы называют forward pass, это в реальности только 1 шаг применения, и настоящий forward pass это несколько вот этих циклов по N*T шагов, вплоть до 16. Там ещё есть обучаемый на основе Q-learning модуль, который может сказать моделям ""Астанавитесь"" и тем самым сэкономить ресурсы, если модель нашла решение быстрее. Вот этот самый 1-step approximation применяется на каждом шаге внешнего цикла, то есть получается, градиенты сквозь время всё-таки пробрасываются, но делается это раз в N*T шагов. По мнению авторов, это уже не так скучно. Схема вроде работает и показывает неплохой результат, несмотря на подозрительную схему аппроксимации градиентов. Но пока вам рассказывали про сложную схему, фокусник утаил главную деталь. Знаете, какое значение N и T используется во всех экспериментах? Знаете, во сколько раз так называемая быстрая модель применяется чаще, чем медленная? Знаете, сколько памяти экономит one-step gradient approximation? Ответ убил: N=2, T=2. Вся эта мишура с ""иерархичностью"" не имеет большого смысла. Один шаг применения HRM - это суммарно 6 вызовов трансформера. Там в коде есть for-loop размером в 4 строки, который суммарно вызывает выполняет 4 вызова модели. Посмотрите на картинку поста - там есть многоточия между применениями L Module, которых в реальности нет! На иллюстрации буквально весь граф. Думаете, в статье есть Ablation о том, как разные значения N и T влияют на результат? Нет, интересно почему? Может быть, от очень честной one-step аппроксимации у модели разболелась голова? Вместо этого авторы оформили куда более интересный подгон - анализ того, как мозг мыши можно представить в виде HRM. Авторы ARC-бенчмарка, на котором был зарепорчен основной результат, провели анализ модели, и ключевые факты следующие: - Если вместо HRM применить обычный трансформер такое же количество раз, результат получается почти такой же. - Буст в качестве достигается засчёт того, что модель применяют много раз. Скор между 1 применением и 16 отличается примерно в 2 раза. Очередная почти ничем не отличающаяся от бейзлайна поделка от великих учёных, которая не имеет никакого практического смысла, зато в сотый раз похоронившая трансформеры, согласно экспертам в телеграм-канале и в твиттере (в момент выхода). Вкуснота. @knowledge_accumulator"