gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Вчера на NeurIPS анонсировали победителей NeurIPS 2025 Best Paper Awards. Начинаем постить разборы статей-призёров. Сегодня про иллюзию разнообразия моделей.

Artificial Hivemind: The Open-Ended Homogeneity of Language Models (and Beyond)

Liwei Jiang, Yuanjun Chai, Margaret Li, Mickel Liu, Raymond Fok, Nouha Dziri, Yulia Tsvetkov, Maarten Sap, Yejin Choi
Статья: https://arxiv.org/abs/2510.22954
Код: https://github.com/liweijiang/artificial-hivemind
Датасеты: https://huggingface.co/collections/liweijiang/artificial-hivemind-6826e108da3260c02a1a2ec0
Ревью: https://arxiviq.substack.com/p/neurips-2025-artificial-hivemind

# TL;DR

ЧТО сделали? Авторы представили INFINITY-CHAT — датасет из 26 тысяч реальных открытых (open-ended) запросов, чтобы проверить разнообразие ответов у 70+ SOTA LLM. Они обнаружили эффект «Искусственного Роевого Разума» (Artificial Hivemind): модели демонстрируют жесткий mode collapse (схлопывание мод). Они не только повторяются сами (intra-model), но и выдают пугающе похожие ответы, даже если это модели от совершенно разных разработчиков (inter-model).

ПОЧЕМУ это важно? Это ломает стереотип, что для разнообразия достаточно поднять температуру или собрать ансамбль моделей. Исследование показывает, что современные методы RLHF и instruction tuning настолько «причесали» латентное пространство, что DeepSeek и GPT-4 в креативных задачах ведут себя как клоны. А текущие Reward Models не справляются с плюрализмом мнений и занижают оценки валидным, но нестандартным ответам.

Подробнее: https://news.1rj.ru/str/gonzo_ML_podcasts/1468
👍257🔥3😁1👌1
1🔥63😁324🤮4👍1
Следующая (в алфавитном порядке) работа с NeurIPS 2025 Best Paper Award. Теперь про архитектуры.

Мультипликативные взаимодействия рулят, гейтированные функции активации тоже.

Gated Attention for Large Language Models: Non-linearity, Sparsity, and Attention-Sink-Free

Zihan Qiu, Zekun Wang, Bo Zheng, Zeyu Huang, Kaiyue Wen, Songlin Yang, Rui Men, Le Yu, Fei Huang, Suozhi Huang, Dayiheng Liu, Jingren Zhou, Junyang Lin (Qwen Team)
Статья: https://arxiv.org/abs/2505.06708, https://openreview.net/forum?id=1b7whO4SfY
Код: https://github.com/qiuzh20/gated_attention
Модель: https://huggingface.co/collections/Qwen/qwen3-next
Ревью: https://arxiviq.substack.com/p/neurips-2025-gated-attention-for

# TL;DR

Что сделали: Авторы представляют Gated Attention — механизм, добавляющий обучаемый зависимый от входа сигмоидный гейт сразу после выхода Scaled Dot-Product Attention (SDPA). Модулируя выход Y гейтом σ(XW_θ), метод вносит поэлементную разреженность и нелинейность перед финальной проекцией.

Зачем это нужно: Это простое архитектурное изменение даёт улучшенную стабильность при обучении больших моделей (убирает выбросы лосса) и стабильно улучшает перплексию на 15B MoE и 1.7B dense моделях. Главное — это механистически устраняет феномен "Attention Sink" и "Massive Activations" без всяких эвристических костылей типа "sink tokens", значительно улучшая экстраполяцию на длинный контекст.

Подробнее: https://news.1rj.ru/str/gonzo_ML_podcasts/1481
👍31
👍35🔥197❤‍🔥2
Следующая статья с NeurIPS 2025 Best Paper Award. Сделали глубокий RL и это помогло.

1000 Layer Networks for Self-Supervised RL: Scaling Depth Can Enable New Goal-Reaching Capabilities
Kevin Wang, Ishaan Javali, Michał Bortkiewicz, Tomasz Trzciński, Benjamin Eysenbach
Статья: https://openreview.net/forum?id=s0JVsx3bx1
Код: https://wang-kevin3290.github.io/scaling-crl/
Ревью: https://arxiviq.substack.com/p/neurips-2025-1000-layer-networks

# TL;DR

ЧТО сделали: Авторы успешно масштабировали политики обучения с подкреплением (RL) со стандартных 2–5 слоёв до 1000+ слоёв. Для этого использовали самообучение (Self-Supervised Learning), а конкретно Contrastive RL, в сочетании с современным архитектурным "обвесом": Residual connections, LayerNorm и активациями Swish.

ПОЧЕМУ это важно: Работа разрушает догму о том, что RL не выигрывает от глубины сетей. В то время как стандартные алгоритмы вроде SAC (https://arxiv.org/abs/1801.01290) деградируют или выходят на плато при углублении, Contrastive RL позволяет производительности расти вместе с глубиной (прирост в 20x–50x). Это даёт агентам возможность решать задачи с длинным горизонтом и развивать эмерджентные навыки локомоции без сложного инжиниринга наград.

Подробнее: https://news.1rj.ru/str/gonzo_ML_podcasts/1488
🔥16
Интересный результат про скейлинг по размеру батча
Крепитесь! Скоро наиграюсь 😁
😁100🤮12👍107
Следующая работа с NeurIPS 2025 Best Paper Award. Про динамику обучения диффузионок.

Why Diffusion Models Don’t Memorize: The Role of Implicit Dynamical Regularization in Training
Tony Bonnaire, Raphaël Urfin, Giulio Biroli, Marc Mézard
Статья: https://openreview.net/forum?id=BSZqpqgqM0, https://arxiv.org/abs/2505.17638
Код: https://github.com/tbonnair/Why-Diffusion-Models-Don-t-Memorize
Ревью: https://arxiviq.substack.com/p/neurips-2025-why-diffusion-models

# TL;DR

ЧТО сделали: Авторы провели теоретический и эмпирический анализ динамики обучения score-based диффузионных моделей. Понимая, что модели в конечном итоге могут переобучиться, исследователи выделили два различных временных масштаба: tau_gen, когда модель учится генерировать валидные сэмплы, и tau_mem, когда она начинает запоминать конкретные примеры из обучения. Работа получила Best Paper Award на NeurIPS 2025.

ПОЧЕМУ это важно: Статья разрешает парадокс: почему перепараметризованные диффузионные модели обладают хорошей обобщающей способностью, хотя имеют ёмкость для идеального запоминания обучающих данных. Доказав, что время начала запоминания tau_mem растёт линейно с размером датасета n, а время обучения генерации tau_gen остаётся константой, авторы утверждают: "ранняя остановка" (early stopping) — это не просто эвристика, а структурная необходимость, обусловленная неявной динамической регуляризацией. Это объясняет, почему увеличение датасетов расширяет "безопасное окно" для обучения, позволяя огромным моделям надёжно обобщать данные.

Подробнее: https://news.1rj.ru/str/gonzo_ML_podcasts/1504
👍6🤔3
👍23😁155👎2🤮2🥴1
Закончили с призёрами NeurIPS, теперь финалисты. Статья про RLVR, который на самом деле не находит ничего нового.

Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?
Yang Yue, Zhiqi Chen, Rui Lu, Andrew Zhao, Zhaokai Wang, Yang Yue, Shiji Song, Gao Huang
Статья: https://arxiv.org/abs/2504.13837, https://openreview.net/forum?id=4OsgYD7em5
Код: https://limit-of-rlvr.github.io
Ревью: https://arxiviq.substack.com/p/neurips-2025-does-reinforcement-learning

# TL;DR

ЧТО сделали? В этой работе, прошедшей в финал (Best Paper Runner-Up) на NeurIPS 2025, авторы систематически исследовали границы возможностей рассуждающих моделей (reasoning models), обученных с помощью RLVR (Reinforcement Learning with Verifiable Rewards). Используя несмещённую метрику pass@k на задачах по математике, кодингу и визуальному мышлению, они сравнили базовые модели с их RL-версиями, чтобы выяснить: генерирует ли RLVR принципиально новые паттерны мышления или лишь усиливает существующие.

ПОЧЕМУ это важно? Результаты разрушают популярный миф о том, что RLVR позволяет моделям автономно открывать "сверхчеловеческие" стратегии подобно AlphaGo. Исследование показывает: RLVR радикально улучшает *эффективность сэмплирования* (правильные ответы выпадают чаще), но не расширяет фундаментальные границы возможностей модели. На больших значениях k базовые модели часто решают *больше* уникальных задач, чем их RL-версии, что говорит об ограниченности текущих методов RL прайорами предобучения.

Подробнее: https://news.1rj.ru/str/gonzo_ML_podcasts/1513
👍12🤔43
🔥17👍8🤔5😁2
Зарисовки на тему программирования с моделями.

Ещё совсем недавно я пользовался AI лишь в режиме умного саджеста, а потом генерации кода по запросу в чате и копипасту туда-сюда. Теперь ради интереса пробую более автономные агентские режимы типа Cursor 2.0 или свежего Antigravity.

Мой вывод на сегодня -- модели далеки от рабочей автономности, но всё же сделали огромный шаг вперёд за последние полгода. Они могут быстро делать туеву хучу полезной работы, но постоянно плодят ошибки и упущения. От банальных типа использования переменной до её объявления (странно, конечно, что такое просачивается, но обычно оно не при первой генерации появляется, а уже после редактирования) или забытого параметра при вызове функции, к более сложному незнанию особенностей текущей версии библиотеки (должно лечиться в том числе и правильным RAG или скорее уже context engineering) и до порой логически очень противных косяков, которые можно было бы списать на невнимательность в случае человека, но от модели с большим контекстом ожидаешь иного.

На днях я игрался с запуском сетки новой архитектуры. У меня уже был код на PyTorch (полученный таким же вайбкодингом из другого кода на PyTorch), который как-то работал. Надо сказать, собирать это в Курсоре было очень удобно -- модель быстро писала код, можно было давать ей примеры статей (прямо ссылками на arxiv) и объяснять, что именно ты хочешь оттуда перенять, и она в целом справлялась. Да, тоже приходилось итерироваться на ошибках запуска, но тот процесс я в целом прошёл довольно быстро.

К сожалению, в прошлый раз у меня кончились кредиты на GPU чтобы продолжить эти эксперименты. Теперь зато появилось сколько-то кредитов на TPU и соответственно я хотел портировать этот код на TPU, а заодно попробовать свежий Antigravity. С этим всем оказалось сложнее. Сначала я хотел переписать код на PyTorch/XLA, модель в первом приближении это сделала, но потом начались проблемы с задействованием всех ядер TPU на одной машине и модель застряла в синхронизациях и race conditions.

Ещё я по ошибке сначала выбрал не ту версию системы (образ с последним из доступных там PyTorch), где PyTorch и питон оказались слишком старыми, чтобы поддерживать код, собранный на nightly build или хотя бы на 2.9, так что часть новых фич пришлось переписать на старые. Надо было, конечно, сразу на новый образ перейти, а не страдать фигнёй. Выбирайте в таком случае последнюю убунту, а не все эти предсобранные образы.

В какой-то момент я решил, что проще и интереснее не бороться с PyTorch/XLA, а переписать сразу на JAX/NNX и не мучиться. Antigravity довольно резво переписал (составил себе многошаговый план и прошёлся по нему), потом я сколько-то поитерировался с довольно глупыми банальными ошибками и наконец модель типа заработала. Но были раскиданы грабли.

Из топа моих находок:

1. Модель написала код, который технически работал и обучение модели новой архитектуры как-то шло. Но мне не нравилась скорость обучения и в частности динамика уменьшения лосса. Я наблюдал эту динамику в старом коде на пайторче, здесь же лосс уменьшался сильно медленнее. Я несколько раз просил модель внимательно пройтись по коду и найти расхождения с оригинальной версией, она по мелочи что-то находила, но не то, и убеждала меня, что всё замечательно обучается, надо просто подождать. Предлагала также архитектурные изменения, но это было ни к чему, явно что-то не так было с кодом. В итоге раз на пятый я от неё добился более подробного анализа и она нашла прекрасную ошибку -- градиенты считались верно, но затем они не вычитались из весов модели, а просто их перезаписывали. Удивительно вообще, что оно ещё и обучалось, надо будет копнуть, что там на самом деле происходило, тоже интересный эффект. Напоминает старый анекдот про кота, оставленного на неделю полуслепому соседу, у которого кот ел "неохотно" — по ошибке вместо кошачьего корма тот сыпал коту кофейные зёрна.
19👍8👏7😁3👌1
2. В другом примере качество по одной из метрик снова стагнировало на плато, я попросил модель разобраться. Она обнаружила, что в дропауте используется всегда один и тот же random seed (потому что в JAX функции работы со случайными числами требуют передачи сида в виде ключа извне -- чтобы быть функционально чистыми -- а в коде оно не передавалось и использовалось какое-то дефолтное из одного места). Это конечно странный косяк, хорошо бы чтобы модель знала как верно использовать разные функции. Но ещё более интересный косяк в том, что в модели не было дропаута вообще, ни в оригинальной, ни в переписанной. То, что она там нашла и предлагала пофиксить, было галлюцинацией галлюцинации. В итоге "пришёл муж и переделал всё по-своему".

И я ещё не знаю, сколько там других скользких мест в коде, я его внимательно не валидировал. Надо по-хорошему, но этот эксперимент я гоняю в условиях отсутствия свободного времени, так что получается лишь несколько раз в день заглянуть и дать новые рекомендации. Как альтернатива здесь только не сделать этот эксперимент ни в каком виде вообще. Так что по чистому затраченному времени не знаю был бы выигрыш или нет, но по суммарному эффекту он точно есть -- без (в данном случае) Antigravity я бы просто не сделал это совсем, потому что не нашёл бы времени.

В целом, конечно, весёлая деятельность -- сам накосячил, сам исправил. Постоянная занятость! Хорошо хоть сам отлаживать теперь умеет без постоянного копипаста туда-сюда. Если разрешить запускать скрипты самостоятельно, то вполне сносно уже получается, модель идёт по плану, включающему до 60 шагов -- создаёт проверочные скрипты, тестовые датасеты, запускает, анализирует ошибки и прочее. No more copy-paste!

Но этого всего пока недостаточно. Это в конечном счёте твой зоркий глаз должен найти проблему!

Я активно использую модели для перевода постов в блог, а теперь ещё и для автоматической генерации ревью. У меня огромный массив автоматических проверок и своя конституция aka гайд про то, что должно быть в посте и чего там не должно быть, какие проверки сделать, какие из них сделать дважды или трижды. Но я всё равно потом вычитываю пост вручную (вглазную), чтобы убедиться, что всё верно. Каких-то радикальных проблем я за несколько месяцев не нашёл, но несколько неточных формулировок за это время исправил, а также гору просочившихся галлюцинаций, в основном по части ссылок. Но если блог-пост я ещё могу прочитать, и подкаст худо-бедно тоже могу прослушать, то вот на большую сгенерённую кодовую базу требуется сильно больше времени, которого обычно нет.

Для кода явно нужны свои промпты с принципами, и наверняка кто-то их уже собирает (поделитесь, если нашли для себя что-то рабочее). Нужно, чтобы модель создавала документацию. Не столько для человека, сколько для самой же себя, когда будешь новый чат или агента запускать. Нужны обязательно тесты и прочие автоматические проверочные сценарии, условно всё то же, что могло бы пригодиться для RLVR. Но в отличие от классических юнит-, интеграционных и иногда присутствующих перформанс-тестов, нужно явно больше, особенно если вы кодите что-то в области около ML -- различные проверки качества и детекция аномалий в обучающем процессе.

С вайбкодингом нужны ещё и постоянные security аудиты. Хотя эта часть, по идее, должна на модель лучше ложиться, чем на людей. Среднему человеку анрил следить за всеми актуальными уязвимостями, да и даже держать постоянно в голове десятки практик секьюрного программирования тоже задача не для слабых. В этом смысле, я бы ожидал, что хорошая с точки зрения безопасности кода модель + система, реализующая полноценный SSDLC, была бы одним из наиболее полезных решений. Есть уже какой-то стартап с таким фокусом? Не знаю, насколько текущие копайлоты, курсоры и прочие хороши с этой точки зрения, наверняка уже проводились какие-то сравнения, но мимо меня не пролетали пока. Поделитесь, если видели хорошие.
👍114😁2
При этом я не могу сказать, что вся эта генерация контента и кода -- это плохо. Это хорошо, потому что без неё, я бы сделал вдесятеро меньше (а в некоторых местах не сделал бы вообще ничего). Но доверять сгенерённому коду я по-прежнему не могу, пока не проревьюил всё сам, да и после этого тоже не могу, но уже в меньшей степени -- лучше всё же, когда больше одного человека сделали такое ревью. Все классические практики software engineering обретают в новом мире десятикратно большую значимость -- код ревью, тесты, документация, проверки типов, контроль версий, … -- жить без этого в эпоху вайбкодинга просто опасно для здоровья. И разные языки для этого тоже явно не одинаково хороши, ждём куда эволюция вырулит.

Автономность таких решений продолжает расти. Будет всё как с генерацией картинок. Два года назад мы все смеялись над лишними пальцами, а теперь видите ли уже фактология сгенерённой картинки не совсем исторически точная для промпта со всего лишь точкой во времени-пространстве. Прогресс в последнее время быстр, так же будет и с кодом. Раз в год, наверное, буду постить эту свою старую статью 2017 года на Форбс (https://www.forbes.ru/tehnologii/341535-mashiny-vmesto-inzhenerov-pochemu-iskusstvennyy-intellekt-doberetsya-i-do) и пытаться понять, где мы уже на этом пути. В 2017-м я думал, что продвинемся быстрее, но в последние пару лет мы наконец начали прямо бежать.
🔥13🤔54