experimentality
104 subscribers
22 photos
2 videos
118 links
The quality of being experimental.
Download Telegram
Мне очень понравилась заметка про gradient hacking у claude 3.5, я поискал и нашёл статью на эту тему. Оказывается, что если описать функцию награды в промпте, то после обучения модель показывает заметно более хорошие результаты. При этом эффект консистентный и проявляется на нескольких бенчах, то есть это не просто оптимизационный шум. Более того, в статье проведён хороший ablation, поэтому вопросов к результатам исследования у меня нет никаких.

Более того, я бы пошёл дальше, и описал в том числе алгоритм, который используется для оптимизации, но пока не могу придумать какой-то адекватный эксперимент, чтобы это проверить. Обращаюсь к вам: помогите мне придумать такой эксперимент или какой-то сетап, в котором модель будет выигрывать от осознания того, что её тренируют, по сравнению с обычной версией. Может статьи какие-то знаете, тоже буду признателен. Спасибо!

Источник: https://www.arxiv.org/abs/2506.18485.
🎉3👍2❤1
Ребята из tencent дают советы о том, как обучать efficient размышляющие модели (то есть размер блока размышлений ограничен минимально необходимым). Проверили на большом наборе разных квенов и задач, так что кажется можно верить (квен конечно не показатель, но в целом результаты соответствуют ожиданиям).

1. Лучше тренироваться на более простых задачах, так как на них будут оптимальные размены exploration/exploitation.
2. Больше rollouts (N) в одном батче — лучше. Хотя есть работы про то, что GRPO работает даже с N=2, очевидно, что больше роллаутов дают больше exploration и более стабильное обучение.
3. Оптимальная награда — корректность помноженная на индикатор того, что rollout получился не слишком длинный.

Источник: https://www.arxiv.org/abs/2602.20945.

@experimentality
❤3👍2🔥2
Constrined decoding и разные его аналоги и виды позволяют делать из LLM продукты за пределами чат-ботов, обеспечивая какой-то единый контракт на выходе из модели, но при этом они ухудшают качество. Для борьбы с этим предлагается сначала генерировать ответ в свободной форме, а потом на его основе генерировать уже structured output. Но стоит ли этот прирост качества 2x замедления?

Источник: https://www.arxiv.org/abs/2603.03305

@experimentality
👍2🏆1
пока я справляюсь с внезапно навалившимися невзгодами вот вам идея для полезного продукта. Вопрос только в том, как бы автоматизировать первый этап, а то на него уж больно много времени ушло
Forwarded from Max Fofanov
roman lisov
Мне интересно, как сейчас действуют студенты
буквально сейчас к пересдаче готовлюсь по такой схеме:
• совместно с claude написал дебильник (claude написал каркас) + я руками поправил по записям лекций
• далее прошу клода спрашивать меня по дебильнику и вести прогресс в отдельном файлике, чтобы он спрашивал меня то, что я плохо знаю и я мог трекать свой прогресс

Обернуть в интерфейс, взять модельку подешевле и можно продавать подороже
🔥7❤1
Hacker News
Show HN: How I Topped the HuggingFace Open LLM Leaderboard on Two Gaming GPUs (Score: 151+ in 5 hours) Link: https://readhacker.news/s/6Pudz Comments: https://readhacker.news/c/6Pudz
интересная статья про попытки менять слои в трансформере местами, дублировать их и всякое такое в поисках инкремента по качеству. Как говорится, не мерджингом единым выжимать качество. Автор обещает интересные результаты на новых квенах, лично я в предвкушении 🙏
🙏2👍1
Скучали по статьям про efficient reasoning ?

В этот раз исследователи из Huawei предлагают делать из обычных reasoning-моделей эффективные с помощью вычисления steering вектора перехода от состояния overthinking к underthinking и наоборот на небольшом калибровочном датасете.

В качестве сигнала для включения контроля используется уверенность модели и производные от неё метрики, например то как она изменяется во времени (confidence variance): если замечен, overthinking то включается режим перехода к ответу, для underthinking наоборот режим exploration. Естественно метрики от такого растут, при этом количество токенов падает, то есть растёт та самая эффективность™.

Вообще я такое видел в формате форсирования ответа например с помощью вставки final answer, или наоборот попытки продолжить размышления с помощью wait, но очевидно, что интервенции в латентном пространстве будут более эффективными, так как они обеспечивают более плавный, сбалансированный переход между двумя критическими состояниями.

Источник: https://www.arxiv.org/abs/2603.12372.

@experimentality
❤4👍3🙏1
Вообще мне кажется, что efficient reasoning это очень недооценённая тема. На моих задачках (агенты, text2sql) небольшие ризонинг модельки развернутые локально сравнимы с крупными не думающими аналогами. Но и по времени работы сравнимы тоже))) Кажется логичным следующим шагом перейти на efficient reasoners. Но такие модельки как будто бы сложнее дообучать под задачу, так как по идее способности к размышлениям будут деградировать от sft на парах вопрос-ответ, а RL сложно заводится и не ко всем задачам применим.

Поделитесь пожалуйста, кто-то использует размышляющие модели в своих проектах или на работе? Что вы с ними делаете? Как получается? Может быть мы с вами придумаем какую-нибудь интересную задачу, кроме математики и кода на которой можно будет попробовать steering.

@experimentality
❤5
Это мне кажется гениальная работа. Задним умом механизм настолько простой и логичный, что непонятно, почему его не сделали раньше. Это как переход от обычных encoder-decoder к encoder-decoder с вниманием в RNN. Супер логично ведь, что можно не тупо суммировать все резидуалы, а смотреть на них тем же механизмом внимания, что и по длине последовательности.

Заодно устраняет проблему с накоплением больших активаций в residual канале, недавние работы (см. https://t.me/gonzo_ML/4949) эту проблему решали с другой стороны.

Attention Residuals

Guangyu Chen, Yu Zhang, Jianlin Su, Weixin Xu, Siyuan Pan, Yaoyu Wang, Yucheng Wang, Guanduo Chen, Bohong Yin, Yutian Chen, Junjie Yan, Ming Wei, Y. Zhang, Fanqing Meng, Chao Hong, Xiaotong Xie, Shaowei Liu, Enzhe Lu, Yunpeng Tai, Yanru Chen, Xin Men, Haiqing Guo, Y. Charles, Haoyu Lu, Lin Sui, Jinguo Zhu, Zaida Zhou, Weiran He, Weixiao Huang, Xinran Xu, Yuzhi Wang, Guokun Lai, Yulun Du, Yuxin Wu, Zhilin Yang, Xinyu Zhou
Статья: https://arxiv.org/abs/2603.15031
Репа: https://github.com/MoonshotAI/Attention-Residuals
Ревью: https://arxiviq.substack.com/p/attention-residuals

# TL;DR

ЧТО сделали: Авторы из от Kimi Team заменяют привычное аддитивное residual-соединение на механизм Attention Residuals — выучиваемое поканальное (depth-wise) внимание с софтмаксом для агрегации репрезентаций из всех предыдущих слоёв. Чтобы масштабировать это для больших моделей, они предлагают поблочный вариант с кастомным кешированием для пайплайн-параллелизма и двухфазной оптимизацией инференса.

ПОЧЕМУ это важно: Стандартные residual-слои равномерно накапливают выходы, что приводит к неограниченному росту скрытых состояний и размытию информации из ранних слоёв. Переход к content-aware механизму маршрутизации (retrieval) по глубине сети позволяет жёстко ограничить магнитуды репрезентаций, выровнять поток градиентов и значительно повысить качество на задачах на рассуждение при том же объёме вычислений (выигрыш в вычислительной эффективности — 1.25x).

Обратить внимание на residuals тут: https://t.me/gonzo_ML_podcasts/2806
🔥4❤2
Hyperagents

Если вы устали писать агентов на работе, то ничего страшного, в meta* на основе Darwin-Goedel machine придумали придумали DGM-H. Это кодовый агент, который может как сам писать агентов под какие-то задачи, так и модифицировать себя самого.

Флоу стандартный: написали какого-то агента, если он скомпилился и может выдать сабмит — забенчмаркали сабмит, если там что-то разумное — добавили в пул кандидатов. Обычно в этом месте идёт анализ фидбека и новая итерация, но здесь дополнительно агент может, проанализировав результаты предыдущих итераций, понять, что, например, хочется из результатов бенчмаркинга извлекать побольше полезной информации и переписать сам себя или дописать себе какой-то тул.

В качестве итогового "продукта" получается код мета-агента, который в процессе "работы" должен научиться сам неплохо писать агентов, при чём произвольной природы, а не как до этого под конкретную задачу. Будет ли это когда-нибудь использоваться в проде? Думаю нет. Можно ли с помощью этой штуки генерировать синту для обучения следующих поколений кодящих моделей? Yes, please!

Источник: https://www.arxiv.org/abs/2603.19461.

@experimentality

*запрещённая в России террористическая организация
🔥4
experimentality
Оказывается, что можно по заданной цепочке размышлений определить вероятность того, насколько правильным будет ответ, к которому она ведёт. Чтобы это сделать — нужно посчитать отношение количества так называемых deep thinking tokens к длине последовательности.…
Развитие идеи с deep thinking tokens.

Ребята посмотрели на трейсы и увидели, что некоторые токены "сходятся" быстрее других, а значит не для каждого токена нужно гонять полный трансформер, кому-то достаточно и первых N слоёв. Обучили маленькую MLP-шку распознавать такие токены (калибровка занимает 3 минуты) и получили ускорение. Проверено на нескольких моделях и множестве разных задач.

Источник: https://arxiv.org/abs/2603.21365

@experimentality
❤4🔥1
experimentality
обсуждаем 300 страниц репорт по кодовым агентам, часть 1, часть 2 про данные и обучение часть 3 Финальные мысли После достаточно подробного обсуждения процесса обучения и сбора данных, хочется чуть более поверхностно обсудить какие-то общие выводы из работы…
Увидел у замечательного коллеги @aostrikov_ai_agents классный курс по code agents в виде гитхаб репо. Модельки учить конечно хорошо, но понимать как работает agent loop и все обвязки вокруг него (а равно и уметь такое написать) никогда не будет лишним.

Курс покрывает всё что нужно чтобы написать свой аналог claude code: agent loop, tools, skills, subagents и context engineering (и всё остальное о чём вы подумали услышав слова claude code или codex). Сам сел проходить и вам советую!

@experimentality
👍5🔥3🤝1
Emberrassingly Simple Self-Distillation

Ребята из лаборатории Apple показывают просто какие-то чудеса и запросто улучшают кучу моделей на генерации кода с помощью этого одного простого трюка...

Если чуть подробнее, то берут уже обученную кодить модель, датасет кодинг-задач и генерируют решения с определенными гиперпараметрами, а затем дообучают модель на сгенерированных решениях, при чём даже не проверяя корректность синтаксиса или запускаемость кода! Фишка тут в гиперпараметрах: температура для разнообразных генераций, top_k и top_p для отсечения мусора.

Авторы утверждают, что это работает потому, что код делится на два типа: locks (места где критично важно выбрать единственно правильный токен, например открвающую скобку, то есть важен exploitation) и forks (места, где может быть несколько правильных вариантов и где важен exploration). Гиперпараметры SSD как раз таки и обеспечивают желаемое поведение на обоих типах кода: на lock желаемый токен будет иметь большую часть вероятности и остальное будет отсечено по top_p, а в forks мы уже получим несколько наиболее вероятных токенов, но мусор не пропустит top_k.

Метод проверили на 5 моделях разных размеров и везде он работает и даёт прирост, при этом просто с помощью подбора гиперпараметров добиться такого роста качества не получается, ablation в статье короче солидный. При этом сам метод кажется достаточно простым, так что грех не попробовать, не знаю только куда такое может зайти, кажется нужны какие-то задачи которые решаются с помощью написания кода (типа text2sql) или хотя бы просто чего-то достаточно структурированного.

Источник: https://www.arxiv.org/abs/2604.01193

@experimentality
🔥6
Claude ощущает эмоции???

Тут у Anthropic вышло исследование на тему эмоций у LLM-ок, оказалось, что в модели действительно есть устойчивые паттерны активаций отвечающие за ту или иную эмоцию. Но в общем-то поиск каких-то фичей с помощью SAE внутри LLM уже это не новость, интересно тут другое: как эти эмоции влияют на работу модели?

Оказывается, что напрямую. Например в процессе agentic loop с каждой неудачной попыткой решить задачу отчаяние модели (desperation) растёт и в какой-то момент, когда оно достигает критических значений — модель начинает жульничать, писать ерунду и так далее. Очевидно, что мы можем искусственно уменьшать desperation с помощью интервенций и получать более усредные модели. Также уменьшение вектора спокойствия приводит к тому, что модель чаще перепроверяет себя, что, как мы знаем из работ представленных в этом канале, приводит к улучшению качества на сложных задачах требующих глубоких размышлений.

Короче steering это круто, уже очень много работ про это, жду не дождусь увидеть кейс применения этой техники на практике. Кажется, что в отличии от других примеров, кейс именно с эмоциями действительно много где можно применить. Не даром же hr стараются создавать в компании обстановку, в которой работникам будет хорошо, может пора начать делать тоже самое для моделей?

Источник: https://www.anthropic.com/research/emotion-concepts-function.

@experimentality
🔥7👍3
Скандалы, интриги, расследования! Cursor Composer 2 оказался дообученной Kimi K2.5!

На связи ваш любимый канал с разборами новостей из мира кодовых агентов, давайте сегодня разберём их техрепорт. Модель хоть и инициализирована весами Kimi, но на самом деле прошла достаточно серьёзное дообучение в две стадии: continued pretraining и large scale RL.

Про первую фазу рассказывать особо нечего, берут уже неплохую в кодинге all-purpose большую модель и дообучают её на большом датасете постепенно повышая размер контекстного окна сначала до 32к токенов, а потом и до 256к. При этом из интересного отмечают явную зависимость между размером этого дополнительного претрейна и качеством последующего RL (больше — лучше). Также на этом этапе дообучают голову для MTP, так что модель становится быстрее на инференсе.

С RL интереснее, тут они пытаются создать такой датасет, чтобы распределение задач соответствовало реальному распределению задач в production, топ-5 тут: улучшить фичу, дебаггинг сессия, имплементировать фичу с нуля, рефакторинг, ответ на вопрос по коду — данные взяты из логов cursor, так что можно верить! По деталям обучения приводят следующие интересные штуки.

Обучают одну эпоху, то есть модель видит каждую задачу лишь один раз, увеличивает генерализацию. На multi-turn задачах периодически используют вместо настоящего полного контекста суммаризацию от самой модели, тут модель учится понимать что важно, а что нет. Помимо основной награды (корректность) так же используют дополнительные награды специфичные для кодинг агента, например пенальти за незакрытые тудушки в плане или lenght-penalty, чтобы модель не считала ворон на простых задачах.

Но самое важное наверно то, что обучают модель в том же сетапе (harness), который она видит в курсоре, то есть Composer-2 должен быть особенно хорош именно в своей родной обертке. По результатам замеров увеличивается как среднее качество, так и best-of-K, что может говорить о реальной генерализации.

Пользуется кто-то Composer в курсоре? Как вам? Вроде он дешевый и должен, по идее, быть неплох?

@experimentality
❤4👍3🔥1🤯1
Прочитал блогпост openai, главный посыл — при работе с кодинг агентом не забывайте давать ему как можно больше контекста в прямой доступ, а сам этот контекст структурируйте чтобы окно не переполнялось и модели было понятно где что подсмотреть.
👍4🔥1
Think Anywhere in Code Generation.

На связи главный на Руси обзорщик всего связанного с генерацией кода, сегодня попалась интересная статья, про встройку thinking прямо в процесс генерации.

Обычно ведь как? Модель подумала, потом сгенерировала какой-то код с помощью edit_file_tool, ещё подумала, ещё что-нибудь сгенерировала, возможно поправила себя и так далее. Такой подход работает (и надо вам сказать работает хорошо), но тратит много токенов. Здесь же предлагается кое-что поинтереснее. LLM обучают при любой необходимости вставлять спец-токен <think-anywhere> и брать время на подумать в сложном месте, а затем, когда после размышлений энтропия падает, продолжать генерацию. При этом спец-блоки размышлений удаляются с помощью пост-процессинга и всё работает и компилируется как надо.

На практике это даёт как прирост качества, так и сокращает количество токенов по сравнению с CoT и GRPO, при чём модель не спамит блоками размышлений где не попадя, а использует их в местах, где действительно нужно подумать. Из минусов, модель для такого требуется, собственно, дообучать (cold start sft + RL на correctness и формат, наличие хотя бы одного токена <think-anywhere> в ответе). Не уверен, что этот подход приживётся, но это точно сильно ближе к тому, как я пишу (писал) код руками, возможно более масштабные эксперименты в будущем покажут, что это необходимый скилл для следующего поколения coding-агентов 🤗.

Источник: https://www.arxiv.org/abs/2603.29957.

@experimentality
🔥5
Вышел сиквел моей любимой модели
❤2🔥2
У вашего агента амнезия и вот как это исправить.

Вашему вниманию предлагается self-hosted memory. Работает на уровне компьютера, а не на уровне диалога или даже отдельного проекта, то есть знает о вас вообще всё. Подключается к любому популярному агенту в качестве MCP и предоставляет ему следующий набору тулов: remember, recall, forget, consolidate, query_facts, relationships, goals, hypotheses и другие, всего 28 штук.

Сама память разделена на несколько уровней: Episodes —> Facts —> Relationships —> Patterns / Goals / Failures / Hypotheses. Эпизоды — сырые наблюдения, факты LLM периодически обобщает из эпизодов, строит граф знаний (relationships) и пытается находить взаимосвязи между фактами, периодически устраивая сеансы рефлексии. Сама память организована в виде иерархии namespaces и чем-то напоминает файловую систему — это сделано для того, чтобы факты не смешивались. Отдельная папка у модели с заметками про себя и свои ошибки, что в какой-то момент не получилось и можно было бы улучшить.

При этом работает всё локально на стеке Postgres + pgvector, api ключи вы предоставляете сами, проект полностью в opensource, то есть можно при желании поменять что-то под себя. Пользы от этого примерно столько же, сколько от памяти в chagpt: модель сразу в контексте и отвечает точнее, знает кто вы, над чем вы работаете, что любите, ваш стиль и тд. Поставил, попробую использовать вместе с codex, посмотрим, что из этого выйдет.

Источник: https://alash3al.github.io/stash/.
Github: https://github.com/alash3al/stash.

@experimentality
🔥4