Авторы: Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика. Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
💀 Исторический контекст
Идеи HRM имеют глубокие корни, и стоит посмотреть на предшественников чтобы понять, что тут хорошо забытое старое.
- Neural History Compressor (Шмидхубер, 1991-1992)
Ещё в начале 90-х Юрген Шмидхубер предложил Neural History Compressor (https://gwern.net/doc/ai/nn/rnn/1992-schmidhuber.pdf) — иерархию рекуррентных сетей, обученных предсказывать свои входы на множественных самоорганизующихся временных масштабах. Ключевая идея: каждая RNN в стеке учится предсказывать свой следующий вход, и только неожиданные входы (ошибки предсказания) передаются на следующий, более высокий уровень, который работает медленнее. Информация сжимается, но не теряется — просто переходит на другой временной масштаб. Механизм удивительно похож на иерархическую сходимость в HRM: низкий уровень работает быстро и обрабатывает детали, высокий — медленно и управляет общей стратегией. Шмидхубер даже предложил "collapsed" версию с двумя сетями — chunker (высокий уровень) и automatizer (низкий уровень) — прямо как H и L модули в HRM.
- Clockwork RNN (Koutník et al., 2014)
Спустя 20+ лет команда Koutník, Greff, Gomez, Шмидхубер представила Clockwork RNN (https://arxiv.org/abs/1402.3511) — более практичную реализацию многомасштабной идеи. Скрытый слой делится на модули, каждый из которых обрабатывает входы на своей "тактовой частоте" — некоторые обновляются каждый шаг, другие раз в 2, 4, 8 шагов и т.д. Получается естественное разделение на быстрые и медленные процессы.HRM явно ссылается на Clockwork RNN и является её логическим продолжением, но с важными улучшениями: (1) не фиксированные частоты, а адаптивная сходимость, (2) современные трансформерные блоки вместо простых RNN, (3) эффективное обучение без BPTT через DEQ-подход.
- Fast Weights (Хинтон, 1987/2016)
Джеффри Хинтон предложил концепцию "быстрых весов" ещё в 1987, а затем вернулся к ней в 2016 с Ba et al. (https://arxiv.org/abs/1610.06258). Идея: у каждого соединения два компонента весов — медленные (long-term memory, учатся и затухают медленно) и быстрые (short-term memory, учатся и затухают быстро). Это позволяет эффективно хранить временную память недавнего прошлого без копирования паттернов активаций.
Хотя технически это реализовано иначе (в HRM разделение на уровне модулей, а не весов), концептуально очень близко: быстрые процессы для краткосрочного контекста, медленные для долгосрочного планирования. Причём Хинтон явно мотивировал это биологией — синапсы имеют динамику на разных временных масштабах.
- Другие связанные работы
* Hierarchical Sequential Models (Hihi & Bengio, 1996) — ранняя попытка захватывать long-range dependencies через иерархию
* Hierarchical Multiscale RNN (Chung et al., 2016) — более поздняя работа, где медленный LSTM получает входы реже
* здесь ещё могло бы быть много других работ
Интересно, что идеи hierarchical RNN с разными временными масштабами появлялись снова и снова на протяжении 30+ лет, но только сейчас, с правильным сочетанием техник, они показывают впечатляющие результаты. Возможно, время этих архитектур наконец-то пришло.
Прикольная, короче, работа. Она уже повлияла на другую свежую нашумевшую работу "Less is More: Recursive Reasoning with Tiny Networks" (https://arxiv.org/abs/2510.04871) про Tiny Recursive Model (TRM). Её планирую разобрать следующей.
Оба модуля, H и L, реализованы с использованием современных блоков трансформер-энкодера (привет, BERT!), включающих такие улучшения, как Rotary Positional Encoding (RoPE), Gated Linear Units (GLU) (https://arxiv.org/abs/2002.05202) и RMSNorm в Post-Norm архитектуре. На входе и выходе последовательности токенов длины l
.
Модули комбинируются через простое поэлементное сложение, что легко поскольку их архитектуры идентичны. В будущем планируют более хитрые комбинации, например, с гейтингом.
Модель не является LLM, обученной на всём интернете (более того, она вообще не декодер, а энкодер), и обучается на конкретные задачи: ARC-AGI-1 и -2, Sudoku-Extreme размером 9x9 с особо сложными паззлами (всего 3.8M, из которых для обучения отобраны 1000 штук), Maze-Hard 30x30 (тоже по 1000 в трейне и тесте).
📊 Результаты
Результаты экспериментов впечатляют. Обученная с нуля всего на ~1000 примерах на задачу и имея лишь 27М параметров, HRM демонстрирует очень высокую производительность там, где гораздо более крупные модели терпят неудачу.
Для ARC-AGI было множество аугментаций с поворотами, сдвигами и т.п. тестовых примеров. Для судоку много перестановок. Для лабиринтов ничего не делалось.
В сложных символьных задачах, таких как Sudoku-Extreme и Maze-Hard, которые требуют обширного поиска и возврата, HRM достигает высокой точности в 55% и 74.5%. В то же время, state-of-the-art CoT-модели полностью проваливаются, набирая 0%, как и Direct pred — замена HRM на трансформер аналогичного размера с 8 слоями и обученный на аналогичных данных.
На бенчмарке ARC-AGI-1, тесте на общий подвижный интеллект, HRM достигает 40.3% точности, значительно превосходя более крупные CoT-модели, такие как o3-mini-high (34.5%) и Claude 3.7 (21.2%), а также Direct pred с 21%. На ARC-AGI-2 гордые 5%, но у o3-mini-high только 3%, у остальных ещё меньше, у Direct Pred 0%.
Эксперименты с обучением на полном датасете судоку (который 3.8M) показывают, что во-первых, увеличение глубины важно (рис.2) и скейлинг глубины трансформера при фиксированной ширине приводит к заметному улучшению, а увеличение ширины при фиксированной глубине вообще не помогает. Во-вторых, в то время как производительность стандартного а также рекуррентного (детали имплементации не понял) трансформера достигает плато с увеличением глубины, HRM эффективно использует свою рекуррентную глубину для решения сложных проблем и достигает почти 100%. Правда для HRM даны всего три точки, интересно как он себя в начале графика вёл бы.
Визуализации промежуточных шагов модели показывают адаптивные стратегии рассуждений. Для лабиринта это параллельное исследование нескольких путей и отсев заблокированных или неэффективных, затем создание предварительного варианта и его уточнение. В судоку это напоминает поиск в глубину с возвратом. Для задач ARC это инкрементальные добавления к доске и итеративное улучшение без бэктрекинга и напоминающее метод восхождения к вершине. То есть для разных задач выучивает разные стратегии.
🤯 Эмерджентная структура, похожая на мозг
Интересная секция статьи под названием Brain Correspondence. Возможно, самое глубокое открытие — это появление в обученной модели структуры, правдоподобной с точки зрения нейронауки, что служит подтверждением её основных принципов проектирования. Авторы вдохновлялись функцией мозга (иерархическая обработка на разных временных масштабах), и, что примечательно, обученная модель спонтанно выработала ключевую особенность физической структуры мозга (иерархию размерности представлений). Авторы проанализировали эффективную размерность скрытых состояний H- и L-модулей, используя коэффициент участия (Participation Ratio, PR), и получили следующие результаты:
* Высокоуровневый (H) модуль развивает высокоразмерное представление большой ёмкости (PR ≈ 89.95), которое масштабируется с разнообразием задач.
* Низкоуровневый (L) модуль поддерживает стабильное, низкоразмерное представление (PR ≈ 30.22).
Hierarchical Reasoning Model
Guan Wang, Jin Li, Yuhao Sun, Xing Chen, Changling Liu, Yue Wu, Meng Lu, Sen Song, Yasin Abbasi Yadkori
Статья: https://arxiv.org/abs/2506.21734
Код: https://github.com/sapientinc/HRM
Иерархического лонгрида вам на выходные!
Не сделал в своё время ручной разбор этой работы про HRM от сингапурцев из Sapient Intelligence (сделал правда автоматический), но она важная, стоит разобрать. Тем более, что свежая TRM (https://arxiv.org/abs/2510.04871) ей вдохновляется.
Эта интересная летняя работа предложила вдохновлённую мозгом иерархическую модель с быстрой и медленной сетями. Модель была довольно скромного размера (27M) и обучалась всего на 1000 примерах. При этом она получила очень высокие скоры на нескольких сложных задачах. В частности, она также сумела обойти o3-mini-high (а также гигантскую DeepSeek-R1 и Claude 3.7) на ARC-AGI-1 и 2, что весьма круто. Что стоит за этой моделью и как она работает? Разберём.
Современные трансформеры добились значительных результатов в разных задачах, но сама их архитектура в целом довольно неглубокая с фиксированной глубиной (но есть исключения с рекурсией или динамической глубиной). Из-за этого они ограничены низкими классами вычислительной сложности (такими как AC⁰ или TC⁰, https://arxiv.org/abs/2308.03212, схемы фиксированной глубины) и с трудом справляются с проблемами, требующими глубокого, итеративного и алгоритмического мышления. Напомню, что RNN сидят в более высоком классе и вообще вроде как Тьюринг полны. Подробнее про классы тут (https://en.wikipedia.org/wiki/TC_(complexity)).
Вдохновляясь иерархической обработкой на разных временных масштабах, присущей человеческому мозгу, авторы представляют Hierarchical Reasoning Model (HRM) — новую рекуррентную архитектуру.
🏗 Структура HRM
В основе HRM лежат три принципа, наблюдаемые в нейронных вычислениях: иерархическая обработка, разделение во времени и рекуррентные связи. Архитектура включает два взаимозависимых рекуррентных модуля, работающих на разных временных масштабах:
1. Высокоуровневый (H) модуль для медленного, абстрактного и обдуманного планирования.
2. Низкоуровневый (L) модуль для быстрых, детальных и подчинённых вычислений.
Динамика модели разворачивается в течение N
высокоуровневых циклов, каждый из которых состоит из T
низкоуровневых временных шагов. L-модуль обновляется на каждом шаге, и его состояние зависит от H-модуля, который остаётся неизменным на протяжении всего цикла. H-модуль обновляется только один раз за цикл, используя конечное состояние L-модуля.
- Иерархическая сходимость
Cтандартные RNN имеют тенденцию сходиться преждевременно. Когда скрытое состояние установилось около фиксированной точки, магнитуды обновлений уменьшаются, по факту замораживая последующие вычисления и ограничивая эффективную глубину сети. Хочется, чтобы сходимость была постепенной, но синженерить этот подход трудно. HRM борется с преждевременной сходимостью с помощью процесса, который авторы называют иерархической сходимостью (Hierarchical convergence). В каждом цикле L-модуль сходится к локальному равновесию, но оно зависит от высокоуровневого состояния модуля H, которое тот выдал для данного цикла. После T шагов, H-модуль инкорпорирует в себя полученный результат и обновляет своё состояние, тем самым задавая новый контекст для следующего цикла L-модуля, который теперь сойдётся к другому локальному равновесию.
Это похоже на менеджера проекта (H-модуль), который ставит конкретную подзадачу (например, «решить этот угол в судоку»). L-модуль выступает в роли исполнителя, который быстро итерируется для решения этой конкретной подзадачи. Как только исполнитель заканчивает, он отчитывается, и менеджер использует этот результат для постановки следующей подзадачи. Это не даёт модели застрять и позволяет ей выполнять структурированные, многошаговые вычисления, поддерживая высокую активность на протяжении многих шагов и достигая эффективной глубины NT
.
Интересно, что параллельно с LLM/VLM Google продолжает совершенствовать модели для роботов, свежая — Gemini Robotics 1.5. Построена на Gemini 2.5, использует две модели/агента: первая планирует, вторая выполняет действия на физическом роботе. Так и роботов скоро начнут продавать.
/channel/gonzo_ML_podcasts/946
Вышел новый State of AI report 2025!
https://www.stateof.ai/
Всегда достойно изучения.
Новую архитектуру подвезли! ‘Dragon Hatchling’ (BDH) построена на принципах распределённых графовых моделей мозга, при этом есть GPU-friendly имплементация. Выглядит очень интересно и демонстрирует свойства, характерные для биологических систем.
/channel/gonzo_ML_podcasts/906
Более фундаментальное изменение, чем например недавние Tversky Neural Networks (/channel/gonzo_ML/3932).
Stochastic activations
Maria Lomeli, Matthijs Douze, Gergely Szilvasy, Loic Cabannes, Jade Copet, Sainbayar Sukhbaatar, Jason Weston, Gabriel Synnaeve, Pierre-Emmanuel Mazaré, Hervé Jégou
Статья: https://arxiv.org/abs/2509.22358
Есть ещё на свете люди, продолжающие копаться в низких уровнях (на этот раз активации)! Но привязывают всё равно к LLM. Так необычно во введении читать, что функция активации -- это то, что внутри LLM между двумя линейными слоями в FFN блоке. Мы раньше всегда это проще объясняли, на примере одного нейрона…
Авторы предлагают стохастические активации. Я сначала по названию подумал, что речь будет несколько про другое, что будет какая-то хитрая функция с рандомом, ну как RReLU (randomized rectified linear unit, где для отрицательной части выбирался рандомный небольшой линейный коэффициент), но оказалось, что они предлагают случайно выбирать между SILU и RELU (что конечно тоже можно рассматривать как стохастическую функцию, но здесь стохастика вынесена на более высокий уровень), и у этого подхода есть свои плюсы.
RELU (=max(x, 0)) как известно был хорош, помог быстро продвинуть всю область где-то в районе AlexNet, когда оказалось, что с ним учится сильно быстрее, чем с дифференцируемой классикой типа сигмоид и гиперболических тангенсов. Проблема с RELU была в том, что если активация в зоне отрицательного аргумента, то там нулевой градиент и она оттуда не выберется. Как раз поэтому сети с RELU также естественным образом демонстрировали тенденцию к разреженности, что в свою очередь хорошо, если железо более эффективно умеет перемножать разреженные матрицы (но такое появилось сильно не сразу, да и для подобного паттерна разреженности это может быть непросто).
SILU (Sigmoid Linear Unit, оно же swish, =xσ(x)), особенно в сочетании с гейтами (SwiGLU), стабильно бил RELU по качеству, но не давал разреженности. Возможно, что бил как раз потому, что у RELU градиенты нулевые были в большом количестве случаев, и это не давало сети хорошо учиться.
Был и миллион других функций. Из относительно недавнего, например, Adaptive SwisH (ASH, https://arxiv.org/abs/2210.11672), со стохастическим сэмплингом внутри. Где-то идейно рядом с разреженностью также лежит Dropout, включая structured варианты типа LayerDrop (упоминали тут /channel/gonzo_ML/2845).
Вопрос далее классический: как адресовать ограничения RELU, сохранив все его преимущества?
Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому ещё дородности Ивана Павловича — я бы тогда тотчас же решилась.
1 − α
от общего числа шагов выбирается хорошая активация (SILU например), а затем переключаемся на вторую (RELU). Значение α
обычно в районе 5-10%, иногда пробуют 20%. На инференсе тоже оставляем вторую активацию. Нет никаких прогревов оптимизатора, его параметры не переинициализируются, но применяется косинусное расписание, где learning rate плавно уменьшается до 0.01 от своего пикового значения. Поскольку SILU и RELU похожи (одинаковые асимптоты и значение в нуле), то проблемы не возникает. Есть спайк на лоссе в момент переключения, но он быстро уходит.ω ∼ Bernoulli(p)
, так что с вероятностью p
выбирается одна функция, и 1-p
-- другая. Это, кстати, тоже напоминает дропаут активаций (хоть дропаут и для другой цели), так как получается что с заданной вероятностью мы выбираем функцию, которая занулит отрицательный аргумент.Что-то интересное
Ring-1T-preview: Deep Thinking, No Waiting
The first 1 trillion open-source thinking model
https://huggingface.co/inclusionAI/Ring-1T-preview
😥
Philosopher John Searle, well-known for his work on philosophy of mind and philosophy of language, has died.
https://dailynous.com/2025/09/28/john-searle-1932-2025/
Там вообще какая-то грустная история...
https://www.colinmcginn.net/john-searle/
Новый Клод Сонет 4.5, хорош для кода и агентов
https://www.anthropic.com/news/claude-sonnet-4-5
Какой любопытный проект!
https://zml.ai/
Написан на Zig!
Что-то интересное:
Happy to release Meta Code World Model (CWM), a 32-billion-parameter dense LLM that enables novel research on improving code generation through agentic reasoning and planning with world models.
https://ai.meta.com/research/publications/cwm
When humans plan, we imagine the possible outcomes of different actions. When we reason about code we simulate part of its execution in our head. The current generation of LLMs struggles to do this. What kind of research will an explicitly trained code world model enable? CWM allows us to study this question. Our model is trained on large amounts of coding data & bespoke Python + Bash world modeling data, allowing it to simulate Python function execution and agentic interactions in Bash environments.
The team and I can’t wait to see what new research will be enabled with a world model.
📊 Tech Report https://ai.meta.com/research/publications/cwm/
⚖️ Models weights https://ai.meta.com/resources/models-and-libraries/cwm-downloads/
🤗 On Huggingface https://huggingface.co/facebook/cwm
https://huggingface.co/facebook/cwm-sft
https://huggingface.co/facebook/cwm-pretrain
🧑💻 Inference Code https://github.com/facebookresearch/cwm
We believe CWM provides a strong testbed for research on improving code generation with world models. We performed multi-task RL, and CWM has competitive perfor mance for its size with 68.6% on LiveCodeBench v5, 76% on AIME24, and 65.8% on SweBench Verified with test time scaling.
I'm immensely proud of the work done by my cracked CodeGen team at Meta, with PhD students and veterans, for which nothing is someone else's problem.
The broader Meta AI community all pulled together for this.
I'm very thankful for the unwavering support of our whole leadership.
https://www.facebook.com/share/p/1DEqPXYp1g/
Когда же уже R2 наконец?!
DeepSeek-V3.1 → DeepSeek-V3.1-Terminus
✨ What’s improved?
🌐 Language consistency: fewer CN/EN mix-ups & no more random chars.
🤖 Agent upgrades: stronger Code Agent & Search Agent performance.
https://x.com/deepseek_ai/status/1970117808035074215?t=zuXvRjUBudH5diKElMnijg&s=19
* Самодистилляция: Ещё более удивительно, что авторы показывают, как самодистилляция (тоже упоминалась в канале не раз, один из интересных кейсов тут /channel/gonzo_ML/202) -- когда модель на 300M параметров выступает учителем для нового 300М-студента той же архитектуры -- может привести к лучшей модели. Обучая студента на смеси реальных и синтетических данных от учителя, студент превосходит своего учителя, достигая асимптоты регуляризованного рецепта без необходимости в более крупной модели на каком-либо этапе обучения. Это не просто трюк с аугментацией данных; в статье предполагается, что это можно интерпретировать как форму неявного ансамблирования, сродни объединению исходного учителя с вновь инициализированным студентом, что позволяет студенту найти лучшее решение. Это интересный механизм аугментации данных, причём ключевым моментом является необходимость подмешивать реальные данные, чтобы избежать коллапса модели.
Статья подтверждает, что эти улучшения -- не просто артефакты лосса на валидации. Выигрыш напрямую переносится на нижестоящие задачи: лучший ансамбль превосходит лучшую нерегуляризованную модель в среднем на 9% на бенчмарках PIQA, SciQ и ARC Easy.
Более того, методы оказываются высокоэффективными в сценарии continued pre-training (CPT). При применении к математическому датасету ансамбль, обученный всего на 4B токенов данных, превзошёл базовую модель, обученную на полных 73B токенов, достигнув 17.5-кратного улучшения эффективности данных.
Остаются и вопросы. Идея асимптоты опирается на экстраполяцию степенных законов, которая , может быть шумной, и результаты следует интерпретировать как приблизительные оценки. Эксперименты, хоть и обширны, проводились на моделях до 1.4B параметров, может на других масштабах что-нибудь происходит. Тем не менее, результаты интересные.
Pre-training under infinite compute
Konwoo Kim, Suhas Kotha, Percy Liang, Tatsunori Hashimoto
Статья: https://arxiv.org/abs/2509.14786
Код: https://github.com/marin-community/marin/tree/suhas/data-efficiency
Прикольная работа про законы скейлинга, разные экспоненты и пользу дистилляции и ансамблирования. Авторы задают очень интересный вопрос: в будущем, когда компьюта будет дофига, а данные кончатся, как наиболее эффективно обучать модели? Ответы интересны.
Исследование начинается с создания базового сценария, который имитирует текущую практику в условиях нехватки данных: берётся фиксированный датасет на 200М токенов, и для него либо увеличивается количество эпох обучения, либо масштабируется число параметров модели. Результаты не слишком удивляют: оба подхода в конечном итоге приводят к переобучению, когда лосс на валидации выходит на плато, а затем начинает расти. Это показывает, что простое вливание большего количества вычислений в существующие рецепты даёт убывающую и в конечном счёте отрицательную отдачу, ограничивая достижимую производительность.
Вопрос, что можно сделать по-другому?
Вместо оценки производительности при фиксированном вычислительном бюджете авторы предлагают измерять конечный потенциал рецепта обучения по асимптоте его закона масштабирования. Найдя методы, которые заставляют лосс монотонно убывать с ростом вычислений, можно аппроксимировать эту зависимость степенным законом и экстраполировать производительность при стремлении вычислений к бесконечности. Эта асимптота представляет собой наилучший возможный лосс, которого данный рецепт может достичь на фиксированном датасете, что даёт более надёжную метрику для будущего с избытком вычислительных ресурсов.
Ядро статьи заключается в поиске простых, но эффективных алгоритмических приёмов, которые обеспечивают желаемое монотонное масштабирование и приводят к более низким асимптотам лосса.
1. Агрессивная регуляризация для масштабирования параметров
Ключ к предотвращению переобучения при масштабировании параметров одной модели -- это правильная регуляризация. Авторы обнаружили, что совместный подбор скорости обучения, количества эпох и weight decay для каждого размера модели позволяет достичь чистого, монотонного убывания лосса, которое следует степенному закону. Этот результат согласуется с современной теорией машинного обучения о сверхпараметризации и «двойном спуске» (double descent, /channel/gonzo_ML/832), когда производительность очень больших моделей может ухудшиться, прежде чем снова начать улучшаться. Статья показывает, что при правильной настройке регуляризации эту проблемную область можно сгладить, получив чистый закон масштабирования.
Ключевой вывод заключается в том, что оптимальное значение затухания весов для сверхпараметризованных моделей значительно выше стандартной практики -- вплоть до 30x. Такая агрессивная регуляризация позволяет более крупным моделям продолжать улучшаться там, где их нерегуляризованные аналоги переобучились бы. Для датасета в 200M токенов этот регуляризованный рецепт следует степенному закону L̂₂₀₀ₘ,ₙ = 0.05 / N¹·⁰² + 3.43, что предсказывает наилучшую асимптоту лосса в 3.43.
2. Ансамблирование: лучший путь к масштабированию
Эта эмерджентная иерархия, отсутствующая в необученной сети, точно отражает организацию размерностей, наблюдаемую в коре млекопитающих, где ассоциативные области высшего порядка имеют более высокую размерность, чем первичные сенсорные области. Это предоставляет корреляционное свидетельство того, что HRM выучивает фундаментальный организационный принцип для гибких рассуждений общего назначения.
🧠 Пост-анализ от ARC-AGI
Организаторы конкурса проанализировали перформанс HRM (https://arcprize.org/blog/hrm-analysis) и проверили её на скрытой части своего датасета. Они подтвердили результат модели, на Semi-Private sets это 32% для ARC-AGI-1 (что по-прежнему круто для такой маленькой модели) и 2% на ARC-AGI-2.
Самая интересная часть в сделанных абляциях. Они таковы:
* Иерархичность с рекурсией не особо играет, трансформер такого же размера при прочих неизменных архитектурных факторах (но компьюта HRM жрёт всё же больше, что может влиять) даёт качество в районе +/-5%, особенно если делать только один цикл (сегмент). То есть дело не в архитектуре как таковой. Это не совсем понятно, почему Direct pred тогда имел разницу 2x?
* Outer-loop refinement process (тот самый Deep supervision с ACT и последовательным улучшением результата) добавляет очень много, особенно в training time. Особо большая разница между одним и двумя проходами, но в целом качество продолжает расти вплоть до 16 циклов. То есть Universal Transformer (/channel/gonzo_ML/90) или ALBERT (https://moocaholic.medium.com/adaptive-computation-time-act-in-neural-networks-3-3-99452b2eff18) — нашё всё?
* Cross-task transfer ограничен, большая часть перформанса из запоминания решений специфических задач
* Аугментации в претрейне критичны, но их достаточно 300, а не 1000. Аугментации при инференсе мало добавляют.
Авторы анализа говорят, что это делает подход фундаментально близким к представленному в статье “Arc-agi without pretraining”, но в статье про HRM сказано, что указанный подход даёт столько же, сколько и Direct Pred бейзлайн. Так что может фундаментально и близко, но разница в качестве почти в два раза.
🤔 Ограничения и будущее
Авторы признают несколько ограничений. Одношаговый градиент является аппроксимацией, а доказательства причинной роли эмерджентной иерархии размерностей пока что корреляционные. Связь между модулями реализована как простое поэлементное сложение, которое можно было бы улучшить с помощью более сложных механизмов гейтирования. Будущая работа включает исследование каузальной необходимости emergent-иерархии и интеграцию иерархической памяти для обработки ещё более длинных контекстов.
- Приближённый градиент
Ключевое нововведение HRM — это способность эффективно обучать такие глубокие рекуррентные процессы. Модель обходит стороной ресурсоёмкое по памяти и биологически неправдоподобное обратное распространение ошибки во времени (Backpropagation Through Time, BPTT), которое требует O(T) памяти. Вместо этого она использует одношаговую аппроксимацию градиента, теоретически обоснованную в Deep Equilibrium Models (DEQ, https://arxiv.org/abs/1909.01377).
Этот подход использует теорему о неявной функции (Implicit Function Theorem, IFT), которая позволяет вычислить градиент неподвижной точки, не разворачивая вычисления. Аппроксимируя обратную матрицу Якоби (I - J_F)⁻¹ единичной матрицей I, модель может вычислять градиенты с постоянным расходом памяти O(1). По сути, это упрощение предполагает, что каждый рекуррентный шаг является стабильным уточнением, позволяя модели вычислять градиент путём обратного распространения ошибки только через самый последний вычислительный шаг, а не разворачивая всю историю.
В итоге градиент от выхода ко входу течёт через финальное состояние H-модуля в финальное состояние L-модуля и затем уже на вход. Сходу кажется, что мы много теряем, не пропуская градиент через все финальные состояния L и соответствующие им H, но может в следующей версии.
- Deep supervision
Для дальнейшей стабилизации обучения в HRM используется глубокий супервижн (deep supervision), вдохновлённый принципом, что нейронные осцилляции регулируют обучение в мозге. Может я не до конца понял идею, но мне кажется само наличие H и L модулей уже прямая отсылка к динамике, разворачивающейся на разных частотах, со всеми этими альфа, бета, тета ритмами. Но с другой стороны этот супервижн можно рассматривать как неявный модуль ещё более высокого уровня, чем H, я бы назвал его S.
Для каждого сэмпла (x,y) делается множество forward pass HRM, каждый из которых называется сегментом. В конце каждого из них вычисляется лосс и обновляются параметры. Важно, что скрытое состояние отсоединяется от вычислительного графа перед передачей в следующий сегмент, что действует одновременно как регуляризатор и эффективный обучающий сигнал. То есть градиенты из сегмента m+1 не влияют на сегмент m. Это сильно напоминает подход с recycling в AlphaFold 2 (/channel/gonzo_ML/649), где 3D структура белка с выхода системы отправлялась снова на вход на последующее улучшение.
Количество сегментов определяется динамически через ACT.
- Adaptive computational time (ACT)
Это вообще моя любимая тема, про ACT я писал давно и много (/channel/gonzo_ML/71).
Вдохновляясь способностью мозга переключаться между быстрым, автоматическим мышлением («Система 1») и медленным, обдуманным («Система 2»), HRM интегрирует ACT. Алгоритм Q-learning решает, «остановиться» или «продолжить» вычисления после каждого сегмента, основываясь на состоянии H-модуля.
Количество сегментов с вероятностью ε
ограничивается сверху M_max (гиперпараметр) и снизу M_min (случайная величина полученная равномерным сэмплингом из множества {2, …, M_max}, и с вероятностью 1−ε
устанавливается в 1. Остановка происходит когда превысили M_max или когда Q-значение для остановки превысило Q для продолжения и мы уже превысили M_min.
Общая функция потерь объединяет стандартный лосс для задачи sequence-to-sequence с лоссом Q-обучения, позволяя модели динамически распределять вычислительные ресурсы. В целом ACT процесс позволяет достигать качества сравнимого с фиксированным прогоном M_max сегментов, тратя заметно меньше вычислительных ресурсов.
Для inference-time scaling достаточно установить повыше M_max без какого-либо обучения
Другой недавний пример использования ACT в рекурсиях -- работа про Mixture-of-Recursions (MoR, /channel/gonzo_ML_podcasts/489)
- Имплементация
Неужели мы наблюдаем возрождение эволюционных стратегий как альтернативы RL? Я помню ту работу 2017 года от OpenAI и Суцкевера в частности "Evolution Strategies as a Scalable Alternative to Reinforcement Learning" (https://arxiv.org/abs/1703.03864), где впервые ES показали себя достойной альтернативой RL. Я сам писал про это в начале 2017 года (https://moocaholic.medium.com/2017-the-year-of-neuroevolution-30e59ae8fe18). Но в мир LLM эти подходы так и не пришли, возможно потому что на миллиардах параметров оно сходу не работало. Свежая работа "Evolution Strategies at Scale: LLM Fine-Tuning Beyond Reinforcement Learning" (https://arxiv.org/abs/2509.24372) устраняет этот пробел. Реализация настолько простая, что непонятно, почему это сделали только в 2025-м...
/channel/gonzo_ML_podcasts/936
Прикольная свежая работа от Superintelligence Labs, включая Руслана Салахутдинова. Метод оптимизации ризонинга, когда части можно параллелить и синтезировать в саммари, последовательно уточняя. Получаем latency ниже, а глубину продумывания выше :)
/channel/gonzo_ML_podcasts/924
Обучают dense декодеры с GQA, RMSNorm + pre-norm, RoPE. Модели 1.5B и 3B. Оптимизатор AdamW. Токенизатор Llama3, словарь 128k + 256 зарезервированных токенов. Предобучение на 47B и 80B токенов, в основном англ тексты и код. Батч 1M токенов, контекст 8k.
Стохастическая активация даёт чуть меньший лосс на трейне по сравнению с RELU. Но и SILU тоже даёт меньший лосс, и не заметно как-то очень больших различий с ним. Без файнтюнинга на валидации всё проседает, но после него норм, но опять же, насколько я вижу, не лучше детерминированного SILU.
При использовании RELU на инференсе разреженность может превышать 90%, что по идее позволяет не тягать из памяти 90% весов. Разреженность в 90% даёт ускорение инференса на 65% на CPU. На GPU надо ещё как-то сделать вычисления достаточно предсказуемыми, чтобы балансировать нагрузку между CUDA тредами.
Вот эта часть вообще одна из самых интересных, но деталей тут не очень много. Как именно реализовали вычисления на CPU? Если боттлнек -- доступ к памяти, то всё равно ведь сначала надо прочитать, чтобы понять, что там ноль? Либо сразу делать sparse вычисления и для конкретных умножений использовать какую-то библиотеку для разреженной линейной алгебры с правильным форматом хранения. Была ли процедура конвертации dense модели в частично sparse для инференса? Упоминают хранение разных матриц по строкам или столбцам, но хочется мяса про sparse FFN.
Интересно, что при файнтюнинге, если использовать одновременно Swi+FT и StochA, то в момент переключения на RELU есть выброс на графике лосса, но далее он уходит и финальное качество модели выше, чем если бы изначально обучалась на RELU. При этом если использовать только Swi+FT, то итоговый результат хуже. И они всё равно хуже детерминированного SILU.
Другое любопытное замечание: в тест-тайм можно использовать StochA вместо RELU и без файнтюнинга (!). Оно неплохо работает, результат между RELU и SILU. Можно это использовать для генерации множественных ответов по одному промпту.
На downstream задачах похожая картина. Новые методы лучше RELU, но хуже SILU. То есть главный selling point, это потенциальное ускорение за счёт разреженности, 1.65x для CPU (а для GPU ещё надо постараться, но по идее для нвидиевских GPU нескольких последних поколений с поддержкой разреженности в тензорных ядрах должно как-то работать). Если нужно качество, то SILU лучше без вариантов. Ну или популярный SwiGLU, который SILU с гейтом. Есть ещё часто используемый GELU, хотя мне кажется от него стали уходить в SwiGLU (Себастиан подтверждает).
Наверное какие-то другие более новые функции активации тоже есть, но я не видел современного сравнения их всех по типу старого доброго для CNN (https://arxiv.org/abs/1505.00853) или исследования Ноама Шазира про трансформеры (https://arxiv.org/abs/2002.05202). Был вот ReLU^2 для разреженных LLM, где он всех побил (https://arxiv.org/abs/2402.03804). Был xIELU (https://arxiv.org/abs/2411.13010), который тоже вроде лучше SwiGLU. Ждём, когда кто-то снова сделает полномасштабное сравнение.
Наверное, здесь в очередной раз можно закончить цитатой Ноама Шазира из той работы 2020 года:
We offer no explanation as to why these architectures seem to work; we attribute their success, as all else, to divine benevolence
Вот наконец и продукт доехал
Introducing Tinker: a flexible API for fine-tuning language models.
Write training loops in Python on your laptop; we'll run them on distributed GPUs.
Private beta starts today. We can't wait to see what researchers and developers build with cutting-edge open models!
https://thinkingmachines.ai/tinker/
https://x.com/thinkymachines/status/1973447428977336578
Today we launched Tinker.
Tinker brings frontier tools to researchers, offering clean abstractions for writing experiments and training pipelines while handling distributed training complexity. It enables novel research, custom models, and solid baselines.
Excited to see what people build.
https://x.com/miramurati/status/1973498366521954774
Кстати, там продолжения в блоге пошли:
LoRA Without Regret
https://thinkingmachines.ai/blog/lora/
Modular Manifolds
https://thinkingmachines.ai/blog/modular-manifolds/
Ещё из интересного, что антропик теперь свой агентский SDK выпустил
https://www.anthropic.com/engineering/building-agents-with-the-claude-agent-sdk
Прикольная работа Parallel-R1 про параллелизацию и исследование разных независимых путей во время ризонинга:
/channel/gonzo_ML_podcasts/894
(параллелизация пока скорее только логическая, не техническая, но это логичный следующий шаг)
Ещё забавно, что это напоминает parallel scaling из “One extinction scenario” свежей книги Юдковского и Соареса ;)
Sakana опять что-то прикольное сделала.
We’re excited to introduce ShinkaEvolve: An open-source framework that evolves programs for scientific discovery with unprecedented sample-efficiency.
Blog: https://sakana.ai/shinka-evolve/
Code: https://github.com/SakanaAI/ShinkaEvolve
Paper: https://arxiv.org/abs/2509.19349
Like AlphaEvolve and its variants, our framework leverages LLMs to find state-of-the-art solutions to complex problems, but using orders of magnitude fewer resources!
Many evolutionary AI systems are powerful but act like brute-force engines, burning thousands of samples to find good solutions. This makes discovery slow and expensive. We took inspiration from the efficiency of nature.‘Shinka’ (進化) is Japanese for evolution, and we designed our system to be just as resourceful.
On the classic circle packing optimization problem, ShinkaEvolve discovered a new state-of-the-art solution using only 150 samples. This is a massive leap in efficiency compared to previous methods that required thousands of evaluations.
We applied ShinkaEvolve to a diverse set of hard problems with real-world applications:
1/ AIME Math Reasoning: It evolved sophisticated agentic scaffolds that significantly outperform strong baselines, discovering an entire Pareto frontier of solutions trading performance for efficiency.
2/ Competitive Programming: On ALE-Bench (a benchmark for NP-Hard optimization problems), ShinkaEvolve took the best existing agent's solutions and improved them, turning a 5th place solution on one task into a 2nd place leaderboard rank in a competitive programming competition.
3/ LLM Training: We even turned ShinkaEvolve inward to improve LLMs themselves. It tackled the open challenge of designing load balancing losses for Mixture-of-Experts (MoE) models. It discovered a novel loss function that leads to better expert specialization and consistently improves model performance and perplexity.
ShinkaEvolve achieves its remarkable sample-efficiency through three key innovations that work together: (1) an adaptive parent sampling strategy to balance exploration and exploitation, (2) novelty-based rejection filtering to avoid redundant work, and (3) a bandit-based LLM ensemble that dynamically picks the best model for the job.
By making ShinkaEvolve open-source and highly sample-efficient, our goal is to democratize access to advanced, open-ended discovery tools. Our vision for ShinkaEvolve is to be an easy-to-use companion tool to help scientists and engineers with their daily work. We believe that building more efficient, nature-inspired systems is key to unlocking the future of AI-driven scientific research. We are excited to see what the community builds with it!
Мы уже писали про варианты JEPA, например, JEPA для time series (/channel/gonzo_ML_podcasts/513) или для видео, типа V-JEPA (/channel/gonzo_ML/3501) и V-JEPA 2 (/channel/gonzo_ML/3953). Теперь JEPA доехала до LLM и есть LLM-JEPA!
/channel/gonzo_ML_podcasts/880
Результат интересный. Главный челлендж, как для языковых данных создавать различные view.
Хотя регуляризация решает проблему масштабирования одной модели, авторы задаются вопросом, есть ли лучший способ потратить бесконечные вычислительные ресурсы. Мы все знаем про пользу ансамблирования. Кажется, на Каггле это традиционно был универсальный рецепт -- в любой непонятной ситуации делай ансамблирование. Обучая несколько (K
) независимых моделей фиксированного размера и усредняя их логиты, они достигают значительно более низкой асимптоты лосса. Например, ансамбль моделей на 300M параметров даёт асимптоту 3.34, что лучше, чем 3.43 (цифры как назло такие, что легко перепутать), достигаемая при масштабировании одной модели до бесконечного числа параметров. Авторы объясняют это, ссылаясь на гипотезу «множественных представлений» (multi-view) от Allen-Zhu и Li (https://arxiv.org/abs/2012.09816). Идея в том, что для данного датасета может существовать много различных наборов предсказательных признаков. Одна модель часто склонна выучивать только одно из этих представлений, в то время как независимо обученные члены ансамбля с большей вероятностью выучат разные. Усреднение их выходов позволяет уловить более полный сигнал. Это, кстати, неплохо перекликается с другой недавней работой про то, как лучше выучивать хорошие фичи (/channel/gonzo_ML/4009), там тоже рецепт был в обучении нескольких моделей и их конкатенации.
Это означает, что при достаточно большом общем количестве параметров эффективнее обучать кучу небольших моделей, чем одного монолитного гиганта. Авторы также обнаружили, что оптимальные гиперпараметры для членов ансамбля (настроенные для предела K → ∞) предпочитают большее количество эпох и меньшее затухание весов по сравнению с одиночной моделью. Интуитивно это позволяет каждому члену ансамбля стать слегка переобученным «специалистом».
Объединение этих двух стратегий -- совместный рецепт масштабирования, где и количество параметров каждого члена (N
), и число членов ансамбля (K
) стремятся к бесконечности, — даёт наименьшую возможную асимптоту лосса, оценённую в 3.17 для датасета в 200M токенов. Интересно, кстати, какое место здесь занял бы MoE, он выглядит как более срединный путь.
Эти алгоритмические улучшения приводят к значительному выигрышу в эффективности использования данных. На масштабе 200M токенов совместный рецепт масштабирования оказывается в 5.17 раз более эффективным по данным, чем стандартный. Анализируя масштабирование на более крупных датасетах (до 1.6B токенов), авторы показывают, что этот прирост эффективности, по прогнозам, останется постоянным, поскольку законы масштабирования по данным для всех рецептов убывают с одинаковой скоростью.
И тут начинается особенно интересная часть.
Вычислительные затраты на обучение и запуск больших ансамблей могут показаться непрактичными. Однако статья демонстрирует, что эти улучшения производительности можно упаковать в меньшие, эффективные модели с помощью дистилляции. Про виды дистилляции мы писали много (/channel/gonzo_ML/117), поищите поиском по каналу. Здесь рассматриваются два:
* Дистилляция ансамбля: Ансамбль из 8 членов (с общим числом параметров 2.4B) был дистиллирован в одну модель-студента на 300M параметров. Этот студент, с в 8 раз меньшим бюджетом на инференс, сохранил 83% улучшения лосса ансамбля по сравнению с лучшей регуляризованной 300М-моделью и даже превзошёл асимптоту регуляризованного рецепта.
А вот и Навье-Стокс от Дипмайнда подоспел
https://deepmind.google/discover/blog/discovering-new-solutions-to-century-old-problems-in-fluid-dynamics/