Forwarded from Data Secrets
Крошечная модель на 7 миллионов параметров превзошла DeepSeek-R1, Gemini 2.5 Pro и o3-mini на ARG-AGI 1 и ARC-AGI 2
Сегодня разбираем самую громкую статью последних дней: "Less is More: Recursive Reasoning with Tiny Networks" от Samsung. В работе, кстати, всего один автор (большая редкость, особенно для корпоративных исследований).
Итак, главный вопрос: как это вообще возможно, чтобы модель в 10 000 раз меньше была настолько умнее?
Ответ: рекурсия. Модель (Tiny Recursive Model, TRM) многократко думает над своим ответом, пересматривает его и исправляет, прежде чем выдать окончательное решение. Выглядит процесс примерно так:
1. Модель получает условия задачки и сразу генерирует какой-то грубый набросок решения. Он не обязательно должен быть правильным, это просто быстрая догадка.
2. Дальше система создает "мысленный блокнот" – scratchpad. Туда она записывает всё, что думает о задаче и своём черновике: где ошибки, что можно улучшить, как проверить гипотезу. При этом важно понимать, что scratchpad – это не поток токенов, как в обычном ризонинге. Это внутреннее скрытое состояние, то есть матрица или вектор, который постепенно обновляется. Другими словами, TRM умеет думает молча.
3. Модель в несколько проходов обновляет это внутреннее состояние, каждый раз сверяясь с (а) задачей и (б) исходным наброском. Она как бы думает: согласуется ли текущий черновик с условием, где противоречия, что улучшить. После N-ого количества итераций модель переписывает исходный черновик, опираясь на свой сформированный scratchpad. Но это не все. Этот процесс (сначала подумай → потом исправь) повторяется несколько раз. И вот только после этого мы получаем финальный ответ.
Результаты, конечно, поражают. Метрики на ARC-AGI-1 / ARC-AGI-2 – 44.6% / 7.8%. Для сравнения, у o3-mini-high – 34.5% / 3.0%. Также модель отлично решает судоку и лабиринты.
Единственная честная оговорка: это не языковая модель, она предназначена только для алгоритмов и текстом отвечать не умеет. Тем не менее, идея блестящая. Много раз пройтись одной и той же крохотной сеткой по scratchpad – это буквально как эмулировать глубину большой модели без большой модели. Отличный пример алгоритмического преимущества.
Крайне советуем почитать статью полностью тут. К слову, они там много ссылаются на августовскую работу про Hierarchical Reasoning Model (HRM). Если захотите освежить память по этому исследованию, то вот тут – наш разбор.
Сегодня разбираем самую громкую статью последних дней: "Less is More: Recursive Reasoning with Tiny Networks" от Samsung. В работе, кстати, всего один автор (большая редкость, особенно для корпоративных исследований).
Итак, главный вопрос: как это вообще возможно, чтобы модель в 10 000 раз меньше была настолько умнее?
Ответ: рекурсия. Модель (Tiny Recursive Model, TRM) многократко думает над своим ответом, пересматривает его и исправляет, прежде чем выдать окончательное решение. Выглядит процесс примерно так:
1. Модель получает условия задачки и сразу генерирует какой-то грубый набросок решения. Он не обязательно должен быть правильным, это просто быстрая догадка.
2. Дальше система создает "мысленный блокнот" – scratchpad. Туда она записывает всё, что думает о задаче и своём черновике: где ошибки, что можно улучшить, как проверить гипотезу. При этом важно понимать, что scratchpad – это не поток токенов, как в обычном ризонинге. Это внутреннее скрытое состояние, то есть матрица или вектор, который постепенно обновляется. Другими словами, TRM умеет думает молча.
3. Модель в несколько проходов обновляет это внутреннее состояние, каждый раз сверяясь с (а) задачей и (б) исходным наброском. Она как бы думает: согласуется ли текущий черновик с условием, где противоречия, что улучшить. После N-ого количества итераций модель переписывает исходный черновик, опираясь на свой сформированный scratchpad. Но это не все. Этот процесс (сначала подумай → потом исправь) повторяется несколько раз. И вот только после этого мы получаем финальный ответ.
Результаты, конечно, поражают. Метрики на ARC-AGI-1 / ARC-AGI-2 – 44.6% / 7.8%. Для сравнения, у o3-mini-high – 34.5% / 3.0%. Также модель отлично решает судоку и лабиринты.
Единственная честная оговорка: это не языковая модель, она предназначена только для алгоритмов и текстом отвечать не умеет. Тем не менее, идея блестящая. Много раз пройтись одной и той же крохотной сеткой по scratchpad – это буквально как эмулировать глубину большой модели без большой модели. Отличный пример алгоритмического преимущества.
Крайне советуем почитать статью полностью тут. К слову, они там много ссылаются на августовскую работу про Hierarchical Reasoning Model (HRM). Если захотите освежить память по этому исследованию, то вот тут – наш разбор.
🔥10👍1
Когда сеть старается, худеет, но ты понимаешь, что это уже давно анорексия и срочно пора оставновиться...
Простите за этот шитпостинг на выходных, Столько всего важного и серьёзного недоделано, а сколько ещё надо недоделать....
Простите за этот шитпостинг на выходных, Столько всего важного и серьёзного недоделано, а сколько ещё надо недоделать....
😁6💯2
А вот из интересных наблюдений:
Если слишком усердно мешать сети переобучиться на ранних этапах, то и деградировать она начнёт гораздо раньше. Конечно с одной стороны может показаться не таким уж важным на x75 или на х120 вас начинает уносить, но если вспомнить, что 90 тысяч весов я предположил как минимальный вес модели для данного датасета, то приходится признавать, что он мало зависит от размеров сети, но заметно зависит от режимов обучения.
P.S. Зато если помешал сети улететь к звёздам, можно остановиться в любой момент, не обязательно дожидаться пока она придет в форму.
P.P.S. На сибирском датафесте буду кое что из этого показывать с комментариями...
Если слишком усердно мешать сети переобучиться на ранних этапах, то и деградировать она начнёт гораздо раньше. Конечно с одной стороны может показаться не таким уж важным на x75 или на х120 вас начинает уносить, но если вспомнить, что 90 тысяч весов я предположил как минимальный вес модели для данного датасета, то приходится признавать, что он мало зависит от размеров сети, но заметно зависит от режимов обучения.
P.S. Зато если помешал сети улететь к звёздам, можно остановиться в любой момент, не обязательно дожидаться пока она придет в форму.
P.P.S. На сибирском датафесте буду кое что из этого показывать с комментариями...
👍5❤2🤔1
Поправочка, я прошлый раз говорил, что если у задачи на которой я гоняю гроккинг взять не простой модуль, например 95 вместо 97 получается каша.
На самом деле картинка менее запутанная, вместо привычной получается как на втором кадре. Все ещё логичная и упорядоченная, но в отместку за пропуски некоторых значений некоторые встречаются в нескольких разных вариантах:
[[ 0, 5, 19],
[ 0, 5, 0],
[ 0, 5, 57],
[ 0, 5, 76],
[ 0, 5, 38]]
Но да, так даже интереснее...
P.S. В прошлый раз я рисовал без учёта пропущеных и дублирующихся значений, забыл подумать, в общем, и получил ошибочку.
На самом деле картинка менее запутанная, вместо привычной получается как на втором кадре. Все ещё логичная и упорядоченная, но в отместку за пропуски некоторых значений некоторые встречаются в нескольких разных вариантах:
[[ 0, 5, 19],
[ 0, 5, 0],
[ 0, 5, 57],
[ 0, 5, 76],
[ 0, 5, 38]]
Но да, так даже интереснее...
P.S. В прошлый раз я рисовал без учёта пропущеных и дублирующихся значений, забыл подумать, в общем, и получил ошибочку.
🤔3
5_Влад_Голощапов,_DF_Siberia_2025,_Второй_род_гроккинга_и_суперсжатые.pdf
1.1 MB
Презенташка с прошедшего ODS DataFest Siberia. Полное видео будет где-то скорее ближе к новому году, но слайды у меня, как обычно, с достаточно подробными подписями. По крайней мере по моим меркам подробными. :)
🔥8👍5🤝1🫡1
Как я упоминал выше, гроккинг на синтетическом датасете это прекрасно, но что если датасет не на столько прекрасный? Очевидно, что добиться 100% на таком датасете невозможно даже на трейне, просто потому что одна и та же задача в датасете имеет несколько разных ответов, и это, кстати, реально так в языковых датасетах, где фраза "Есть закурить?" может иметь радикально различающиеся продолжения, но хотя бы давайте посмотрим границы возможного! Посмотрим типичную схему обучения до гроккинга на датасетах с не простыми делителями: 95, 94, 96.
Ну что тут сказать, с одной стороны это строго говоря гроккинг, то есть генерализация после оверфита. Но с другой стороны границы возможного здорово напоминают здесь тюрьму. Если вы хотите продумать алгоритмы для гроккинга на неоднозначно размеченных данных, то вот вам модельная задача - кушайте, как говорится, не обляпайтесь.
Ну что тут сказать, с одной стороны это строго говоря гроккинг, то есть генерализация после оверфита. Но с другой стороны границы возможного здорово напоминают здесь тюрьму. Если вы хотите продумать алгоритмы для гроккинга на неоднозначно размеченных данных, то вот вам модельная задача - кушайте, как говорится, не обляпайтесь.
Какое офигенное открытие совершили в OpenAI, я просто не могу удержаться от того чтобы не вспомнить по этому своей статьи 2015-ого года: https://habr.com/ru/articles/249031/ в которой это, в общем-то показываю, хоть и на других примерах. :) Желающие самостоятельно поискать какие конкретно веса отвечают, например, за то чтобы после имени говорящего персонажа, но до его фразы могут взять снапшот прореженной в 150 раз сети обученной на пьессах Шекспира и самостоятельно посмотреть, домашнего компа вам вполне хватит.
P.S. Не то чтобы я претендовал на лавры Шмитхуббера, но что-то прекрасное в этом, согласитесь, есть. :)
P.S. Не то чтобы я претендовал на лавры Шмитхуббера, но что-то прекрасное в этом, согласитесь, есть. :)
Хабр
Ансамбль синапсов – структурная единица нейронной сети
В мае прошлого года сотрудники лаборатории глубокого обучения Гугла и учёные из двух американских университетов опубликовали исследование « Intriguing properties of neural networks ». Статья о нём...
😁3🔥2
Forwarded from Data Secrets
OpenAI выпустили довольно интересную статью про интерпретируемость моделей
Сейчас модельки уже во всю помогают принимать решения в медицине, в науке, образовании и тд. Но интерпретировать их ответы мы так и не научились, к сожалению. Многие уповают на интерпретацию через CoT, но это дело очень хрупкое и ненадежное.
OpenAI утверждают: проблема в том, что мы пытаемся распутывать внутренности модели постфактум, когда это уже почти невозможно. Во время обучения модели подбирают миллиарды весов, из которых в итоге получается очень плотная сеть. В итоге поведение модели размазано по массе параметров, и структурировать эту паутину, мягко говоря, сложно.
Вместо этого они предлагают сразу обучать структурно более простую разреженную сетку.
На практике исследователи берут архитектуру, похожую на GPT-2 и ограничивают веса так, чтобы подавляющее большинство было равно нулю. То есть если в обычной плотной сети каждый нейрон связан со всеми из следующего слоя, то здесь остаются связи только с несколькими. Сеть становится более чистой и читаемой.
Это первый шаг. Такая структура сети позволяет для конкретной задачи брать и находить маленькую часть модели, отвечающую за ее решение. В статье это называется circuit. Формально, – минимальный поднабор весов, обладающий необходимостью и достаточностью: то есть если выкинуть все, кроме него, задача все еще будет решаться; а если выкинуть только его, а остальную сеть оставить – нет.
Ну а затем в этом маленьком наборе весов уже можно копаться и непосредственно анализировать поведение сети.
В статье приведен пример с простенькой задачей закрытия кавычки. Модели надо запомнить тип открывающейся кавычки и в конце последовательности поставить такую же. И вот оказывается, что делает она это по определенному логическому алгоритму, заложенному в 5 residual-каналах, двух MLP-слоях и 1 канале аттеншена. На картинке можете посмотреть, как это работает.
Представьте: если за маленькой задачкой скрывается что-то такое, то что можно найти, если посмотреть, как модель решает сложную математику или пишет код?
Короче, подход интересный. И есть даже занятный практический результат, в который нужно вдуматься: чем больше модель и чем более она разреженная, тем проще становятся схемы, реализующие одни те же способности. Make sense.
Тем не менее, не факт, что если это работает для таких игрушечных моделек, заработает и для больших. К тому же обучать разреженные модельки только ради интерпретируемости никто не будет: слишком дорого и неэффективно.
Но вот если в OpenAI научатся извлекать что-то подобное из уже обученных dense-моделей, будет совсем другой разговор.
openai.com/index/understanding-neural-networks-through-sparse-circuits/
Сейчас модельки уже во всю помогают принимать решения в медицине, в науке, образовании и тд. Но интерпретировать их ответы мы так и не научились, к сожалению. Многие уповают на интерпретацию через CoT, но это дело очень хрупкое и ненадежное.
OpenAI утверждают: проблема в том, что мы пытаемся распутывать внутренности модели постфактум, когда это уже почти невозможно. Во время обучения модели подбирают миллиарды весов, из которых в итоге получается очень плотная сеть. В итоге поведение модели размазано по массе параметров, и структурировать эту паутину, мягко говоря, сложно.
Вместо этого они предлагают сразу обучать структурно более простую разреженную сетку.
На практике исследователи берут архитектуру, похожую на GPT-2 и ограничивают веса так, чтобы подавляющее большинство было равно нулю. То есть если в обычной плотной сети каждый нейрон связан со всеми из следующего слоя, то здесь остаются связи только с несколькими. Сеть становится более чистой и читаемой.
Это первый шаг. Такая структура сети позволяет для конкретной задачи брать и находить маленькую часть модели, отвечающую за ее решение. В статье это называется circuit. Формально, – минимальный поднабор весов, обладающий необходимостью и достаточностью: то есть если выкинуть все, кроме него, задача все еще будет решаться; а если выкинуть только его, а остальную сеть оставить – нет.
Ну а затем в этом маленьком наборе весов уже можно копаться и непосредственно анализировать поведение сети.
В статье приведен пример с простенькой задачей закрытия кавычки. Модели надо запомнить тип открывающейся кавычки и в конце последовательности поставить такую же. И вот оказывается, что делает она это по определенному логическому алгоритму, заложенному в 5 residual-каналах, двух MLP-слоях и 1 канале аттеншена. На картинке можете посмотреть, как это работает.
Представьте: если за маленькой задачкой скрывается что-то такое, то что можно найти, если посмотреть, как модель решает сложную математику или пишет код?
Короче, подход интересный. И есть даже занятный практический результат, в который нужно вдуматься: чем больше модель и чем более она разреженная, тем проще становятся схемы, реализующие одни те же способности. Make sense.
Тем не менее, не факт, что если это работает для таких игрушечных моделек, заработает и для больших. К тому же обучать разреженные модельки только ради интерпретируемости никто не будет: слишком дорого и неэффективно.
Но вот если в OpenAI научатся извлекать что-то подобное из уже обученных dense-моделей, будет совсем другой разговор.
openai.com/index/understanding-neural-networks-through-sparse-circuits/
🔥2
https://rutube.ru/video/f2b7903fc2e38422e980a329ef9e6f3b/
Оказывается моё выступление на сибирском датафесте давно выложено в сеть, а я то и не знал и не поделился.
Оказывается моё выступление на сибирском датафесте давно выложено в сеть, а я то и не знал и не поделился.
👀7🔥6