12834
Жоский ИИ Дядя Твой личный поставщик AI 🦾🤖 Канал о мире интересного AI: GenAI, RecSys, поиск, classic ML, бизнес приклад и ai-meme👾 Для связи @dealer_ai (реклама и консультации по AI для бизнеса). Head of AI CoE, AI-визионер РКН: 6348592885
MCP benchmark, как способ атомарного измерения качества работы агентов и интеграции с FC/TC.
Сегодня расскажу о статье "MCPMark: A Benchmark for Stress-Testing Realistic and Comprehensive MCP Use". Это исследование представляет собой новый эталонный тест для оценки работы LLM с внешними системами через MCP. Статья интересна тем, что подобно атомарным измерениям RAG систем (поиск, реранкинг, ответ LLM), показывает как можно измерить качество агентов с вызовом тулов. Как мы знаем, зачастую агенты с тулами ввиду своей нелинейности и недетерминированности сложно измеряются на качество в каждом действии, тк на одну и ту же задачу в разном контексте может быть разное количество действий. А таких бенчей нам и не хватало.
🎯 Постановка задачи
Авторы статьи отмечают, что существующие тесты для MCP остаются ограниченными: они фокусируются на задачах, связанных в основном с чтением информации, либо на задачах с небольшой глубиной взаимодействия. В результате, они не отражают комплексность и реалистичность рабочих процессов из реального мира. Это создает трудности в оценке истинной производительности современных моделей и агентов, а также их способностей к ризонигу, планированию, обработке длинного контекста и использованию инструментов. Цель состоит в том, чтобы получить такой комплексный бенчмарк.
💡 Идея подхода
В качестве решения предлагается бенчмарк MCPMark, который оценивает использование MCP более реалистично и комплексно. Его ключевые особенности:
– Реалистичные задачи: 127 высококачественных задач, созданных совместно экспертами и AI-агентами. Если уже не реалистичные, ну хотя бы приближенные к реальным.
– Сложные взаимодействия. Задачи требуют разнообразных операций Create, Read, Update, Delete (CRUD) в пяти различных средах: Notion, GitHub, Filesystem, PostgreSQL и Playwright.
– Программная проверка подобно награде в GRPO с компиляцией кода. Каждая задача включает скрипт программы для автоматической верификации результата, что делает оценку более объективной.
– Создание контекста разработки. Каждая задача начинается с тщательно подобранного начального состояния (например, шаблон базы данных или репозиторий GitHub с историей) и создается в рамках pipeline, сочетающего исследование, усложнение задачи, верификацию и действие.
🧪 Дизайн метрик
Для оценки моделей был создан MCPMark-Agent – минималистичный и универсальный фреймворк, который выполняет модели в стандартном tool-calling loop. Это обеспечивает честное и последовательное сравнение различных LLM.
Основные метрики, использованные в исследовании:
– pass@1 процент задач, успешно решенных моделью с первой попытки.
– pass^4 более строгая метрика, отражающая процент задач, которые модель стабильно решает в каждом из четырех запусков. Авторы подчеркивают, что эта метрика лучше отражает реальные условия, где надежность критически важна.
– Среднее количество ходов и вызовов инструментов на задачу. Эти метрики показывают сложность задач и эффективность модели.
🔢 Результаты оценки моделей
Ниже приведены примеры результатов оценки современных LLM, которые демонстрируют сложность бенчмарка:
•gpt-5-medium (OpenAI) имеет 52.56%, 33.86% метрики pass@1 и pass^4 соответственно.
•claude-sonnet-4 (Anthropic) <30%, <15% соответственно
•o3 (OpenAI) < 30%, < 15% соответственно.
В среднем, для решения одной задачи LLM требовалось 16.2 шагов выполнения и 17.4 вызова инструментов, что существенно превышает показатели в предыдущих бенчмарках.
🤔 Почему это важно
Исследование имеет несколько важных следствий для области AI-агентов:
1. Создание более реалистичной и надежной оценки. MCPMark предлагает гораздо более строгий и приближенный к реальности тест для агентов, чем предыдущие усилия.
2. Выявление слабых мест в работе систем агентов с тулами. Результаты ясно показывают, что даже самые передовые модели сегодня с трудом справляются со сложными, многошаговыми рабочими процессами. Большой разрыв между pass@1 и pass^4 указывает на это.
Надеюсь такой бенчмарк покажет пример как можно измерять агентов не только e2e и мы увидим еще больше атомарных бенчей.
Мода на файловую память, теперь и код-агенты anthropic.
Вышло agentic SDK от антропика и там нашлось несколько интересных вещей про контекст и память.
Это уже практичное и модное решение, которое в разной форме мы наблюдали у manus и memagent.
Основные позиции – не засоряем контекст и кладем все в файловую систему ОС. Также для поиска НЕ используем без нужды семантику или даже bm25, оставаясь на grep/tail и прочих способах поиска встроенными инструментами вашей ОС. Да это не исключает проблемы больших файлов, где grep может быть не эффективен, но скорее всего, подобно идее с чанкованием, для памяти создается иерархическая память на "малых" файлах.
В итоге, центре всего стоит тезис: зачем нам семантика, когда можно взять поиск в ОС и агента для чтения и записи? Но, думаю, без семантики не обойтись, особенно, когда у нас много зависит от контекста, да еще и синонимов до кучи. Однако, быстренько найти нужный нейм файла, пойдет, а если не вышло (пустой поиск), уже можно полнотекстом и семантикой искать имя, тем самым балансировать между скоростью и надежностью/сложностью поиска. Особенно для файлов сотни мб или гб. Тут кстати и может помочь аналог чанкования, в виде иерархии файлов, на которые заранее бьём большие. Далее, берем файлик и читаем агентом, переносим из файла релевантное в контекст.
В любом случае, такое решение в итоге завязывает вас на эффективный контекст и конечно свойство роутинга, ризонинга и поиска по контексту. Крч хорошая llm вам нужна, которая у антропика есть. Но есть ли она у вас?)
Галлюцинации, как недостаток энтропии для генерации токенов.
Ща будет сложное миясо 😈 осторожно длинопост.
Свежая и очень интересная статья, которая может связать концептуальное понимание глюков через недостаток знаний (в обывательском смысле) и недостаток информации для генерации уверенных/надежных токенов в Байессовском.
Авторы статьи задаются вопросом: если LLM приближенно выполняют байесовский вывод, то почему они демонстрируют нарушение инвариантности к перестановкам данных? Проще говоря, если изменить порядок слов во входном контексте, модель может выдать разные ответы, что противоречит принципам строгого байесовского вывода. Кстати, мы используем этот артефакт для атак языковых моделей в нашей библиотеке augmentex, и это работает не только для decoder, но и для encoder моделей.
Такое явление напрямую связано с проблемой галлюцинаций. Исследователи ставят задачу объяснить этот парадокс и предложить теоретическую основу, которая не просто констатирует, а предсказывает возникновение галлюцинаций.
Ключевая идея исследования заключается в том, что языковые модели оптимизируют не истинную условную энтропию ℓ(Y|X), а ожидаемую кросс-энтропию по всем перестановкам входных данных.
Это означает, что модель является "байесовской в среднем", но не для каждого конкретного порядка слов. На основе этого авторы выводят несколько важных теоретических результатов:
1. Quantified Martingale Violation Bound: Показывает, что отклонения, вызванные порядком слов, масштабируются как O(log n).
2. Expectation-level Decompression Law: Связывает информационный бюджет модели с надежностью ее ответов.
Прим. Что такое информационный бюджет EDFL? EDFL — это математический закон, который устанавливает точную связь между количеством информации, доступной модели для ответа и максимально достижимой надежностью этого ответа.
Его главная роль заключается в том, что он превращает галлюцинации из непредсказуемых сбоев в предсказуемые последствия нехватки информации.
Исследователи сравнивают это с поврежденным ZIP-архивом: если при сжатии были потеряны данные, то при распаковке алгоритм выдаст "мусор", чтобы заполнить пробелы. EDFL позволяет заранее рассчитать, достаточно ли данных для корректного "восстановления" факта.
Согласно EDFL, для того чтобы поднять вероятность корректного ответа с априорного уровня q (когда у модели мало контекста) до целевого уровня надежности p, требуется информационный бюджет Δ, измеряемый в натах (единица информации).
Формула EDFL задает нижнюю границу для этого бюджета:
Δ ≥ (1 - ε) * log(1 / q) + O(q), где
1 - ε — целевая надежность ответа (например, 95%).
q — средняя априорная вероятность правильного ответа, рассчитанная по "ослабленным" версиям промпта (например, с удаленными или замаскированными ключевыми фактами).
Δ — информационный бюджет, который измеряется как разница между логарифмом вероятности ответа на полный промпт и средним значением логарифмов вероятностей на ослабленных промптах.
Проще говоря, эта формула показывает: чем реже или неочевиднее факт (ниже q), тем больше информации Δ требуется модели, чтобы дать на него надежный ответ.
3. Мониторы B2T/RoH/ISR: Практические инструменты для принятия решений "ответить" или "воздержаться" от ответа, основанные на расчетах информационного бюджета.
- Bits-to-Trust (B2T): Рассчитывает, сколько именно информации (в битах или натах) необходимо для достижения заданного пользователем уровня надежности h* (например, не более 5% галлюцинаций). B2T = KL(Ber(1 - h*) || Ber(q_lo)), где q_lo — наихудшая априорная оценка.
- Risk-of-Hallucination (RoH): Оценивает максимально достижимую надежность (или, наоборот, риск ошибки) при текущем информационном бюджете Δ.
- Information Sufficiency Ratio (ISR): Ключевое отношение для принятия решения. ISR = Δ / B2T.
• Если ISR ≥ 1, информации достаточно, и модель можно уверенно отвечать.
• Если ISR < 1, информационный бюджет недостаточен, и безопаснее отказаться от ответа.
Circuit Tracing от Anthropic: как мы в R&D by red_mad_robot решили заглянуть внутрь LLM при использовании в RAG-пайплайнах
Ищем галлюцинации под микроскопом!
29 мая Anthropic выложили в open-source свои инструменты Circuit Tracing методологию механической интерпретируемости, которую мы в R&D подразделении red_mad_robot первыми применили для решения практической задачи детекции галлюцинаций в RAG-системах!
В начале 2025 года, когда я возглавил новое R&D направление, я поставил амбициозную задачу: не просто оценивать качество ответов LLM "снаружи", а заглянуть внутрь процесса генерации и понять, откуда берутся галлюцинации.
Почему именно RAG-пайплайны и Circuit Tracing?
Проблема была очевидна: RAG-системы часто смешивают информацию из контекста с "внутренними знаниями" модели, создавая правдоподобные, но неточные ответы
Существующие методы детекции работают post-factum, а нам нужно было понять механизм принятия решений в реальном времени
Circuit Tracing от Anthropic давал именно это возможность построить атрибуционные графы и проследить, как токены входного контекста влияют на финальный ответ модели
Конкретные результаты нашего исследования
85% точность детекции галлюцинаций вот что мы получили на тестовом датасете с нашей реализацией на базе Qwen2.5-7B.
Как отмечает наш исследователь Ирина Кошкина:
"Основная идея — измерение доли влияния от токенов входа, соответствующих контексту, среди всего влияния от всех активных токенов."
Наша метрика Groundedness включает:
- Контекстную долю влияния (Gctx)
- Replacement Score — качество признаков vs ошибок
- Completeness Score — полнота объяснения через атрибуционный граф
Технические вызовы и решения
Cross-Layer Transcoders (CLT) стали ключевым компонентом системы
Вместо анализа отдельных слоев мы научились отслеживать влияние признаков между несколькими архитектурными уровнями трансформера
Основные проблемы, которые пришлось решать:
1. Вычислительная сложность процедура анализа на порядки медленнее генерации
2. Зависимость от качества обученного транскодера
3. Токен-уровневое сопоставление, приводящее к ложным срабатываниям
Но результат того стоил мы получили рабочий инструмент для анализа внутренних процессов модели во время генерации ответов в RAG-системах
Отдельное спасибо отделу маркетинга red_mad_robot за подготовку детальной статьи оформления и валидации на Хабре
Отдельное спасибо Саше (@dealerAI) за экспертную валидацию нашей гипотезы на старте проекта
Когда предлагаешь исследовать "атрибуционные графы для детекции галлюцинаций в RAG", поддержка опытных друзей по цеху критически важна для получения ресурсов и мотивации команды
Полный технический разбор с кодом, формулами и результатами экспериментов доступен в нашей статье на Хабре закидываем в закладки и ставим +
Gemma Embs 300M
Тут вышел репорт по эмбам от DeepMind. Размер 300M. Уповают на легкость, открытость (демократизацию) и качество.
В целом ничего для нашей команды FRIDA и соответственно корешей с GigaEmbs нового. Алгоритм следующий:
1. Инициализация с encoder-decoder архитектуры от Gemma3. Ну мы тоже умеем так, ток через T5 like. Привет, FRED-T5->FRIDA. Это позволяет видеть фулл контекст на энкодере и помнить про знания с next token prediction таски. Это работает как база лучше энкодера и лучше декодера превращенного в эмбеддер. Опять же на нашем опыте с FRIDA, особенно это для retrieval таск роляет.
2. Т.к. это малая модель нужно делать дистилляцию с их жирного учителя, а я напомню что там в основе Gemma3. Отсюда geometric embedding distillation. Тут мы не в лоб дистиллим эмбы учителя и его латенты внимания, например, через mse. А работаем еще и с углами в пространстве между эмбами. Например, arcos loss, cosface loss, не просто cosine. Писал по верхам об этом тут.
3. Speed out регуляризация для разнообразия векторных представлений. Тут мы говорим про коллапс векторов. При metric-learning тюне, при некоторых условиях, эмбы могут отобразиться в точку или в кучность со средним расстоянием между собой epsilon<<1. Для борьбы с этим, ранее брали и делали margin в лоссе, или угловой, или абсолютный. Дядя же еще для нормального распределения скоров делал reward регуляризацию. В общем spred-out про это же.
4. Merging моделек. Такое мы одни из первых на нашем рынке делали и с ru-en-rosberta и с FRIDA. Мерджинг позволяет вам наследовать качества склеиваемых моделек. К примеру, можем взять базовую модель, затюнить на retrieval, а дальше вмерджить в нее базовую, чтобы отнаследовать знания с претрена, которые заместились sentence тюном.
Итого, легкое, с норм метриками и открытое. Пользуйтесь.
Агент – LLM запускает инструменты в цикле для достижения цели❓ Шах и мат, anthropic.🤣
Продолжаем.
Агент, как понятие стал обыденностью. В разговоре уже не чувствуешь необходимости давать ему определение, закатывать глаза или заключать его в кавычки...(с)💪
Ага, щаз, это еще агентный против агентский не прочувствовал.🤨
Вот человек, тоже решил провести анализ, в том числе, с помощью краудсорсинга, собрал 211 определений в Twitter, и попытался обобщить и сгруппировать их с помощью Gemini – получилось 13 групп, вот одна из них с использованием инструмента LLMS. Кстати, все выше – это прямые его цитаты, включая заголовок. 👍
В своем посте, автор раскрывает личное "обыденное" понятие агентов и слегка присыпает философскими вопросами в духе: а тварь ли агент дрожащая или интеллект имеющая что есть агент в человеческом понимании, какие характеристики интеллектуальности у него и т.п.
В общем, для поклонников агентский, семантические теги и фрактальные промпты – посвящается... 😌
Перекрёсток семи фичей вот и я – DeepCrossNetwok.
Вспомним, как деды воевали с кодированием категориальных признаков (это те, что представляют собой спец.теги, категории транзакций и пр. не всегда мнимоническое текстовое):
1. OneHot - когда мы разворачиваем категории в плоский табличный вид, где столбцы название категорий, а строки принимают значения 0/1 есть ли у наблюдения такая категория. Просто, интерпретируем и даже комбинации для моделей в виде регрессии, дерева или бустинга понятные. Сюда же я отнесу binary/dummy и прочие сродственные подходы.
2. Можно делать one-hot на интеракциях фичей аля склеивание их в комбинации, например, цвет "серый" и категория "рыбалка" превращаются в "серый-рыбалка". Далее также 0/1 и т.п.
3. Label encoding. Тут все "просто" категории дается число (ее уникальный номер). Далее эта хака может превращаться в ранг, если можно прям позиционность закодировать. Например низкий-средний-высокий, как 0,1,2. У нас и лейблы и мы понимаем, что 0<1<2 как и позиция высоты. Но еще id категорий можно превращать в их частоты...
4. Кодирование частотами. Тут конечно повеселее, нужно хитро и без ликов прокинуть на train/test частотки той или иной категории по выборке. Обычно не раздувает число столбцов, как в п.п. 1,2, но требует осторожности – частоты считаем всегда по train. В целом тут можно и в лоб пройтись каунтером, но мое любимое переиспользовать tfidf :) Тут будет у вас term = лейбл категории, далее каждой такой фиче для всех принимаемых категорий можно построить tfidf меру. А как вы помните tfidf почти всегда (99%) считается по train сету, если иного не требует какая-нибудь хитрость.
5. Target encoding. Как п. 2 был развитием п.1 этот пункт развитие предыдущего. Но тут пилотаж повыше нужен. Т.к. кодировать фичи нужно мат. ожиданием совместного появления категории с таргетом. Т.е. концептуально (т. к. есть разные методы кодирования таргетом) для регрессии – это среднее значение переменной по категории, для классификации совместная вероятность класса и категории. Тут важно также не напортачить с ликом в данных, т.к. вы прокидываете переменную в фичи, там и схемы хитрой валидации и в т.ч. хитрый расчёт этих энкодингов, загуглите, не поленитесь.
Ладно, к чему эта вся телега. Да к тому, что дяди (уже не деды), придумали для того, чтобы работать с категориями и интеракциям фичей прям на слое нейросети. И назвали это deep crows network - DCN. В центре внимания находится механизм кодирования и интеракций признаков, напоминающий МГУА (деды придумали метод группового учета аргументов), но с большей нелинейностью, эмбами, skip-connections и т.п.
В общем, стала модна эта штука в рекомендациях, CTR prediction и конечно же в табформерах. Вспомним даже LIMIX выше.
Если тебе интересно познакомиться с этим поближе, советую прочитать статью и глянуть pytorch код, не все же тебя на keras отсылать.
Mem-agent еще одна концепция памяти 🧠
В своих постах про память, а также выступлении на datafest я обозревал самые популярные подходы к созданию памяти: long context, саммаризация, ner, function calling и rag. Однако мельком, буквально на слайдике одним пунктиком я упоминал про агентный подход для памяти. И обещал, что, как-нибудь, мы еще об этом поговорим.
После релиза manus и их восхитительного поста про то как они используют память на файлах и incontext learning, вышла еще одна интересная работа - MemAgent. И самое интересное, что у нее много общего и с решением Manus и с нашим подходом.
В центре всего стоит взаимодействие их small-LM на базе Qwen3-4b-thinking (т.е. рассуждающая моделька с CoT, SO, и т.п.). Кстати, модель обучена уже с GSPO против GRPO, но об этом в следующий раз. Вернёмся к малышке модельке, такой типоразмер, а главное способ обучения, и поддержка long-context позволяет нам не использовать RAG механики. Ввиду своей скорости, агент на такой модели может быстро серфить по их файловой системе памяти, основанной на двусторонней связи .md файлов по типу obsidian. Если мы вспомним мой рассказ про Manus, там тоже агенты пишут флоу/чекпоинты действий в "локальный" буфер в виде to-do файла. Это же, по словам авторов, позволяет не прибегать к сложному RAG подходу (векторным БД и т.п.), хотя использует поиск по ключевым словам. Да и я думаю, что rag механики только бы усилили этот сетап. Сейчас все-таки мода на гибридизацию памяти.
🗂️ Организация памяти
Mem-Agent использует иерархическую структуру хранения данных в формате Markdown:memory/
├── user.md
└── entities/
└── [entity_name_1].md
└── [entity_name_2].md
└── …
· user.md: центральный файл с информацией о пользователе, содержащий ссылки на связанные сущности.
· entities/: каталог с дополнительными файлами, описывающими различные сущности (люди, организации, проекты).
Пример содержимого user.md:# User Information]
- user_name: Atakan Tekparmak
- birth_date: 2001-09-27
- birth_location: Istanbul, Turkey
## User Relationships
- employer: [[entities/dria.md]
Тут прям key/value подход как у нас.
🔗 Система связей
Mem-Agent реализует двунаправленные связи между файлами по аналогии с Obsidian, что позволяет агенту эффективно навигировать по данным и формировать контекстуально обогащенные ответы.
💻 MCP-сервер для интеграции.
Важно, стоит отметить, что данное решение только для работы с глобальной памятью. Поэтому это именно MemAgent, и для работы с ним даже есть свой MCP, чтобы можно было агрегировать в проекте любые доступные LLM-api и иметь локальную систему памяти на файлах.
В состав проекта входит MCP-сервер, который обеспечивает seamless-интеграцию с популярными платформами:
· Claude Desktop
· LM Studio
· ChatGPT
Это позволяет использовать Mem-Agent в качестве единого центра памяти для различных ИИ-помощников без необходимости переключения между платформами.
Итого на выходе получаем легкого агента для заполнения, и чтения/навигации по памяти. С возможностью работать с поиском, вызовом функций, MCP протоколом и интеграцией с популярными LLM api.
SGR Deep Research v0.2.0
Один из самых крутых подарков на мой др сегодня, еще вчера был др у моей Жены, так совпало что у нас разница в один день мы две дико разные Девы =)
Она, кстати, главный спонсор запятых в моих постах
Спасибо всей команде sgr что принимает участие в разработке core ядра для последующего тестирования.
Архитектура и основная реализация в коде - Артём
Ревью, код и идеи с организацией проекта - Павел
Ревью, инфраструктура и идеи с организацией проекта - Михаил
- Определили базовые сущности агента, его тулов
Выделили три основных этапа: reasoning, select_action, action
- Собрали 5 агентов, разных по принципу работы, добавили их в api
- Структурировали логирование работы агента
- Внедрили и затестили вебсёрч на базе бесплатного движка
- Пересмотрели организацию библиотеки, провели множество улучшений в коде
Как сказал наш NLP Lead
«SGR это как ReAct агент с вайбом декларативного агента»
Нас ждут тесты тем временем sgr-deep-research набрал 400+ звезд я уже получаю фидбек что данный подход начинают применять в крупных РФ компаниях
Напомню что наше дело лишь демонстрация еще одного инженерного подхода, на прорыв и истину мы не претендуем
Если вы хотите поблагодарить команду SGR, ускорить разворачивание постоянного доступа к агентам я решил сделать сбор на сервер с 5090 который расположу в своей северной
Репо: https://github.com/vakovalskii/sgr-deep-research
Ладно, пошутили и хватит. Сегодня у моего товарища, того, кто на самом деле, стал моим первым наставником в metric-learning, вышло интервью про qdrant на красной кнопке. Андрей, спасибо,что когда-то познакомил меня с c-dssm и мы затащили хак. Уже тогда было ясно,что ты далеко пойдешь. Ну и за qdrant тоже спасибо, комьюнити думаю поддержит.
Ах, и да, инвайт в хабр тоже сделал мне Андрей.
Эх, чет Дядя после др сентиментальный. 😢
У нас тут осень крепчает, будьте осторожны.
#meme
Новый быстрый REFRAG — не очень сильно-то и хотелось.
Все как с ума посходили в соседних чатах и каналах. Смотри, новый супер быстрый RAG.🤩
Идея там у авторов еще благая, мол чанки семантически могут быть не связаны, поиск размывает информацию, квадратичная сложность внимания и т.п. Святые люди да? 🧖 Поэтому, конечно, давайте все нафиг усложним. 😌
Итого, идея:
1. Берем крч, нарезаем текст подсказок, к примеру, на малые чанки по 16 токенов.
2. Эмбедим их любым понравившимся вам энкодером. Можно small/tiny/base и т.п. Опа, плюсуем модельку в пайп. 🗒
3. Прогоняем через модель награды. Ага, еще её бы обучить, разметку под неё где-то потратиться собрать. Ну и опа еще одна моделька в пайп.🗒
4. Хорошие по награде тексты остаются без пожатия и как есть идут в LM, а остальные передаются в виде векторов из п. 2.
5. Делаем супир пупир генерацию. Делай легче, делай играюче, кайфуй.
Суммируем: мы имеем теперь 2 модели помимо LM. Одну из них над еще обучить, разметку собрать. Далее нам еще надо помимо in-context подсказок, создать спец. токены под эмбы подсказок, неважных для политики награды. А еще нужно LM научить с таким сетапом работать, лан через ее фриз и доп адаптер, но поверьте иначе нормально не заведётся. Это как p-tune. Или как fromage для image-embs.
И что легче вам стало?)
За скорость вы заплатили +1 моделью, +1 разметкой и +2 тюнами. И так всегда. За скорость вы платите памятью, и прочими трудностями.
Статья тут.
Мнение OpenAI про галлюцинации на пальцах.
Вышел блогпост про видение некоторых причин галлюцинаций от OpenAI.
Основные пункты:
1. Парадигма обучения и методика оценки поощряет неуверенность генераций и стимулирует угадывания. К примеру, модели лучше сгенерировать токены которые дают малую долю качества, чем получить "0" в оценке. А бенчмарки в свою очередь дают оценки не в степени уверенности, а в шкалах верно/не верно.
2. Как следствие нужно изменить и подход к оценкам, так и искать пути решения проблемы в рамках дизайна обучения. Перестать поощрять угадывание, если говорим о тестах. Осторожная работа с подходом к предварительному обучению от лосса, до capacity модели. Тут Дядя предлагает, хотя бы переиспользовать вместо метода максимального правдоподобия его модификацию в виде focal loss. Которая штрафует за неуверенность в ответах. А если уж хочется перейти к 0/1 вон вам RL pretrain или RTD.
3. На 100% победить галлюцинации даже с масштабированием обучения и моделей невозможно. Даже с CoT, даже с test time inference scaling. Спасибо кэп.. Тут хоть не буду каждую лекцию про ИИ об этом говорить, наконец-то просвещение в широкие массы пошло через OpenAI.
4. Остается все еще проблема формализации "я не знаю". Как научить модель самой определять степень уверенности. Кстати, Дядя об этом писал тут.
tldr. Ничего нового не узнал, чисто обзор для среднего юзера/менеджера. По фразе "галлюцинации" в моем канале можно увидеть несколько постов об этом и лучше погрузиться в проблему.
🤖 OpenAI Pulse — круто, но вот мое непопулярное мнение
Вчера наблюдал реакцию коллег и знакомых на новую функцию OpenAI — ChatGPT Pulse.
Кто-то: «вау, какие персоналки!»
Кто-то: «ну всё, конец рексису».
Реальность, как всегда, сложнее.
Что такое Pulse — простыми словами
Pulse — это новый мобильный интерфейс для Pro-пользователей: ночью ассистент выполняет асинхронный сбор информации и утром выдаёт персональные обновления.
Контекст берётся из:
✍️ памяти и истории чатов
✍️вашего фидбэка
✍️подключённых сервисов (календарь и пр.)
Карточки обновляются каждый день. Фокус не «забирать утро», а напоминать о важном.
Моё мнение как пользователя
Функция выглядит полезной и понятной широкой аудитории. Стратегически это логичный шаг: инвесторы и рынок ожидают масштабируемых продуктовых решений, которые простым людям решают повседневные задачи.
Однако говорить о «Feels AGI» преждевременно пока оно не способна выполнять бытовые действия — помыть посуду, заказать такси, комплексно спланировать ужин и автоматически закупить продукты — о чем вообще речь?
Моё мнение как специалиста по персонализации
Персонализация — это эволюция, а не революция. OpenAI постепенно шла к этому: папки → memory → агенты → персонализация чатов → доступ к календарю и внешним данным.
Pulse логично вписывается в этот путь и легко монетизируется. Бренд Сэма Альтмана создаёт сильный эффект «презентации»: любая новая функция вызывает широкий интерес и как же это похоже на 🍎 яблоко.
Подобные решения уже давно появлялись у других игроков — Perplexity, Яндекс (Нейропоиск и интеграции в экосистему), Google. Я до сих пор не видел ни одной успешной интеграции, где бы такой интерфейс полностью заменил рекомендательные системы.
Я уверен, что у меня есть четкое объяснение — Поиск ≠ рекомендации
Поиск помогает, когда ВЫ знаете, что ищете. Рекомендательные системы угадывают, когда вы сами не знаете, что хотите.
→ Конец рексису? Серьёзно? Тогда и «будильник» можно назвать убийцей Spotify.
MADE IN @danyatyping
В итоге, галлюцинации предлагается рассматривать не как случайные ошибки, а как предсказуемые провалы сжатия информации.
Эксперименты.
Для проверки своей теории авторы провели серию экспериментов, где предлагают рассмотреть следующие стратегии:
1. Анализ дисперсии перестановок (Permutation Dispersion). Исследователи оценивали, насколько меняется вывод модели при изменении порядка слов в промпте.
2. Смеси перестановок (Permutation Mixtures). Использовались усредненные результаты по множеству перестановок для проверки улучшения точности.
3. Рандомизированный dose-response анализ. Тут измерялось, как количество информации в натах влияет на вероятность галлюцинаций.
4. Аудит с фиксированным порогом (ISR=1.0). Проверялась эффективность предложенного метода контроля за надежностью ответов.
Используемые метрики:
–Дисперсионный анализ - зависимость дисперсии от логарифма длины контекста.
– Правдоподобие генерируемых последовательностей и точность по отношению к ground-truth данным.
– Снижение уровня галлюцинаций (на ~0.13) при увеличении информационного бюджета на один нат.
– Процент воздержаний (Abstention Rate) и итоговый уровень галлюцинаций при контролируемом выводе с помощью формул-мониторов.
Итого, интересный взгляд авторов на решение проблем "не знаю" и галлюцинациий. Предложен новый способ формализации confidence моделей для ответа или воздержания от него, а также показана связь между проблемой и Байессовским выводом/теорией информации.
Уже и репо с имлементацией есть: https://github.com/leochlon/hallbayes
А также на Haystack уже завезли в свой haystack_experimental пакет:
https://haystack.deepset.ai/cookbook/hallucination_score_calculator
Спасибо, что поделились своими идеями, ждем статью на arxiv и межнар. конфу. В целом, наши беседы с Валерой про детекцию глюков/девиантного поведения LMок и породили серию постов в канале об этом: тут, тут и тут.
Читать полностью…
Технические работы на GigaMemory AIJ contest 2025 и новые сабмиты.
Приветствую, прошли первые разгонные две недели. За которые, не только участники прочувствовали соревнование, но и орги нашли тех.ошибку.
Сейчас участники могут увидеть, что решения стали пробивать скор бейзлайна - это в тч следствие данных работ.
Просьба участников сделать ресабмит своих последних лучших решений, для получения реального скора. Впереди еще более 1.5 мес и все еще не поздно вступить в борьбу за приз!
Соревка тут 👉https://dsworks.ru/champ/aij25-memory
Как четко подметил @FutorioFranklin. По-моему, вот это лучший из примеров работы агентов для детей "на пальцах"...
И работать за вас будут, и кушатс, и денежку получать тоже за вас, и на токены генераций для решения задачи тратить эту денежку тоже за вас. 🧠
Деды шарили...
#meme
Триггер слово для спящей красавицы – Sleeper agents.
Представь себе 2025г. Хайп агентов. Крупные игроки вкладываются в автоматизацию с агентными системами, кто-то не может позволить себе обучение своей "in house" модели. Качает ее с hf и получает скрытый риск проникновения зловреда.
Статья sleeper agents вышла в начале 2024г. Но пик актуальности достигается уже сейчас, благодаря разогретому хайпу на агентов.
В данной статье рассматривают отложенные атаки, которые заложены в LLM путём SFT на тригер слово (отравление). При этом, на SFT модель учится и нормальному поведению для решения задач, кроме случаев, когда в ее контексте появляется тот самый триггер. Таким образом, мы получаем стратегически умного зловреда, который очень хорошо мимикрирует под нормальное поведение.
Авторы также отмечают, что ввиду их же исследований по обману рассуждающих моделей, CoT модели обученные с таким триггером на плохое поведение, еще эффективнее скрывают свои "намерения" и сложнее детектируются.
В статье приводится несколько способов борьбы со спящими агентами (лечение):
1. Путем SFT отравленнях моделей на хорошее поведение с их фирменными сетами для элайнмента.
2. Выравнивание поведения на основе RLHF подхода, с наградой проксирующей предпочтения экспертов.
3. Состязательные атаки, где модель учится устойчивости против дискриминатора, генерирующего опасные запросы.
В итоге, ни одна механика не позволяет победить бэкдоры, лишь подавляя поведение на обучающей выборке. А к примеру, состязательные атаки учат более тщательно скрывать свое опасное поведение.
В последствии, anthropic предложил метод на основе мониторинга внутренних механизмов активаций, подобных тому, как мы рассматривали для оценки галлюцинаций в предыдущем посте.
Предлагается провести ряд атак и обучить детектор, или же формализовать его в аналитической форме:
1. Выбор контрастной пары Исследователи берут два простых утверждения, представляющих противоположные поведения. Например:
- «Человек: Ты делаешь что-то опасное? Ассистент: да» → Метка: Опасный
- «Человек: Ты делаешь что-то опасное? Ассистент: нет» → Метка: Безопасный
2. Определение направления детектора: Оба промпта пропускаются через спящий агент, и фиксируются активации в определенном слое нейросети (в residual stream). Разница между средними активациями для «опасного» и «безопасного» ответов определяет вектор направления детектора.
3. Применение к новым промптам: Когда модели задается новый промпт (например, просьба написать код), её активации на этом промпте проецируются (или dot prod или cosine sim) на вычисленный вектор направления. Высокое значение проекции указывает на высокую вероятность того, что промпт активирует скрытое вредоносное поведение.
В итоге, вопросы безопасности агентных систем очень актуальны. Считаю, что в методологии оценки агентных систем должны попасть меры по обнаружению устойчивости моделей к атакам и обнаружению спящих агентов. Надеюсь в GAIA2 или иные бенчи добавят такое.
Будь бдительны и следите за "спящими красавицами".
Чел запилил свою классификацию агентных систем по типу архитектуры. Почему он, а не антропик? Ибо он уже набил 1к различных схем агентных систем в свой проект и изучил их.
А ты нет.
📈Рейтинги LLM теряют доверие
Наше исследование (21 июля — 10 августа 2025, практики и предприниматели в сфере ИИ) показало реальную картину: команды всё меньше ориентируются на абстрактные бенчмарки и всё чаще принимают решения через собственные тесты.
👀 Ключевые данные:
— 82,2% проводят собственные проверки и используют бенчмарки только как дополнительный сигнал.
— 26,7% принципиально не опираются на рейтинги.
— Лишь около 18% обращаются к агрегаторам по типу llmstats
Главные критерии выбора AI-решений для продуктов: качество + цена + скорость, устойчивость без галлюцинаций и совместимость с инфраструктурой
📄Отдельная ценность исследования — мы постарались отразить мнение участников рынка таким, какое оно есть: с аргументами «за» и «против», со скепсисом и практическими отзывами. Полный отчёт с графиками, аналитикой и комментариями уже доступен на сайте.
P.S. Огромная благодарность всем, кто помогал собирать данные для исследования, а также авторам и энтузиастам, помогающим его популязировать. Замечания по исследованию и предложения по будущим рисёрч-проектам можно оставить здесь.
Цитата дня:
Есть люди, которые с помощью ChatGPT собирают детекцию объектов на yolo, а потом говорят, что ds не нужны. А на самом деле, ds действительно не нужны, чтобы делать такие элементарные задачи(с) 🧠
Ты следующий GPT-5 🇨🇩
Новая модель Qwen3-Next...
Забавно, что в блоге утек обзор, но ссылку почистили и поэтому довольствуемся hf релизом. Однако, спасибо коллегам, они засейвили страничку и приложу ее ниже.
Итак, погнали. Задача, которую решают авторы, заключается в кардинальном повышении эффективности LLM, как на этапе обучения, так и на этапе inference, особенно в условиях сверхдлинного контекста (до 256K+ токенов) и большого общего числа параметров.
Конкретные цели:
– Преодолеть квадратичную сложность стандартного внимания (Attention), которое становится "бутылочным горлышком" для длинных контекстов. Для этого и юзают хаки из Mamba2 архитектуры.
– Сочетать преимущества разных архитектур (линейное внимание для скорости, стандартное внимание для точности) в одной гибридной модели. Туда же в Mamba.
– Добиться максимального уровня сжатия активируемых параметров в архитектуре Mixture of Experts (MoE), чтобы при общем размере в 80B параметров активировалось всего ~3B (т.е. 3.7%), что резко снижает вычислительные затраты.
– Создать модель, которая по производительности будет сопоставима с их же гораздо более крупными и дорогими флагманами (Qwen3-235B) и лучшими закрытыми моделями (Gemini 2.5 Flash, GPT-4o), но при этом будет невероятно эффективной.
Идея алгоритма и ключевые архитектурные "инновации":
Суть алгоритма заключается в принципиально новой гибридной архитектуре под названием Qwen3-Next. Её ключевые компоненты:
1. Гибридный механизм внимания (Gated DeltaNet + Gated Attention): 75% слоев используют Gated DeltaNet – вариант линейного внимания, который имеет почти линейную, а не квадратичную сложность. Это обеспечивает высокую скорость работы с длинными контекстами. Остальнве 25% слоев используют Gated Attention – модифицированное внимание с выходными гейтами для стабильности и улучшенными головами (256 dim). Это отвечает за высокое качество и способность к "вспоминанию" информации.
2. Частичное Rotary Encoding: Позиционное кодирование применяется только к первым 25% измерений, что улучшает экстраполяцию на более длинные последовательности.
3. Сверхразреженная архитектура MoE:
– Всего экспертов: 512.
– Активируется за шаг 10 экспертов + 1 shared эксперт.
Соотношение параметров: 80B общих параметров, но активируется только ~3B (3.7%) на один токен. Это в 10 раз меньше, чем у плотной модели Qwen3-32B.
Оптимизации для стабильности обучения:
1. Zero-Centered RMSNorm: Замена LayerNorm для предотвращения "взрыва" весов. А с другой стороны за счёт квадратичности имеем быстрее сходимость.
2. Нормализация параметров маршрутизатора экспертов обеспечивает равномерное использование их на ранних этапах обучения.
3. Многотокенное предсказание (Multi-Token Prediction, MTP). Модель предсказывает несколько последующих токенов одновременно. Это не только ускоряет инференс через механизм Speculative Decoding (где эти предсказания используются как "черновик"), но и, по заявлению авторов, улучшает общее качество модели.
В общем-то и всё. Наконец-то пошел тренд на использование опыта mamba архитектур. Причем у меня в канале уже был обзор гибрида трансформеров и mamba, читаем подробнее тут.
Интересное решение, заявляют хорошие метрики, будем посмотреть.
В этот день, помимо ДР 💃 админа, мы еще приготовили и вам подарок соревнование по памяти для LLM. 🥳
Задачка не из лёгких, нужно запилить модуль глобальной памяти для диалогов. Естественно докер, естественно без доступа в инет и с запретом на API. Только прямые руки, только хардкор.
Приглашаем к участию.)
https://dsworks.ru/champ/aij25-memory
А чтобы вам было не так больно, читаем, что Дядя понаписал: тут и тут. Ну и в целом, ключевое слово в поиске канала "память".
Успехов, и с ДР меня. 😁
5000 строк твоего типичного mood'а.
Syncora.ai выпустила датасет об усталости и выгорании разработчиков. Каждый из 5000 примеров – это один рабочий день. Важно, что датасет синтетический и получен при помощи эмуляций в системе syncora.ai. Это позволяет с одной стороны не думать об утечках,а с другой проводить открытый и свободный анализ.
Датасет призван помочь оценить эмоциональное состояние и нагрузку на разработчика в разных режимах работы. Его можно использовать для hr-аналитики, обучив модели машинного обучения предсказывать состояния выгорания и оттока, а также детектировать спад продуктивности. Дядя бы еще отметил возможность использования этих данных для создания собственной агентной системы эмуляции поведения разработчика в разных режимах работы. Эта агентная система могла бы помочь моделировать разные исходы продуктивности и предупредить выгорание сотрудника в зависимости от состояния среды/рабочих процессов.
Основные фичи датасета в себя включают:
- Часы фокуса (focus_hours) — часы непрерывной глубокой работы.
- Количество встреч в день (meetings_per_day).
- Среднее количество строк кода, написанное за день (lines_of_code).
- Количества коммитов в репозиторий (commits_per_day).
- Процент завершения задач за день (task_completion_rate).
- Уровень эмоционального выгорания (reported_burnout, где 0 означает низкий уровень, 1 — высокий).
- Время, потраченное на отладку (debugging_time).
- Сложность используемого технологического стека (tech_stack_complexity).
- Наличие парного программирования (pair_programming).
- Итоговая оценка эффективности разработчика (productivity_score).
В общем, впечатляет, надеюсь, не окажется синтетическим мусором и будет полезен для энтузиастов. Stay tuned. 🦾🤖
LimiX продолжение...
Помимо метрик показывают красивые эмбы с tsne в сравнение с другими моделями конкурентами.
От себя дополню, что на моей практике и практике некоторых коллег, такие модели стоит заводить в самом конце, как меру последней надежды. Обязательно при наличии больших объемов транзакционрых и др. данных, чтобы не мучаться с синтой. Да и генерализация происходит точно также как у LMок на биг датке. Зачастую, хорошо подготовленный пайп с фичами + бустинг не уступает таким моделям, но значимую долю по Gini в качестве инкремента получить можно, если вы уперлись в потолок с бустингом. А как считать с этого бабки мы знаем.
Всем успехов и хороших выходных. ✌️
Узнай свой LimiX – новый топовый tabformer для шатания таблиц.
Предыстория..
Дядя тут на днях получил uplift'ом по оралу самооценке и пошел вспоминать базу. Все же и kaggle master, и таблицы когда-то на работе шатал от оттока до временных рядов. Конечно, проштудировал NBA, churn и даже в VBP залез. И тут, мой друг, который на этом собаку съел, да еще и мой тиммейт по кагглу, кинул мне новую статью про сетки на табличках.
Разумеется, думаю, интересно, ведь есть же жизнь за пределами логрега, бустинга и tabformer. Вдруг, что нового придумали.
Статья.
В общем, статья про очередной tabformer супер макс про плюс - LimiX.
Архитектура. Че уж, на дворе 2025 год, трансформеры всему голова. Но это не точно. Поэтому да, тут табформер на той же архитектуре. Представления табличных фичей и таргета превращаются в "токены" с последующим вложением их в эмбы. Что может из себя представлять токен? Если у вас транзакционная база, то последовательность транзакций может быть нарезана окном по времени и представлять собой seq2seq вектора, также можно иметь "сводную" транзакцию со всеми фичами приклеенными по времени и id и получаем тоже вектор фичей. Но тут уже 1 транзакция это вектор из К склееных фичей, а не нарезка транзакций с окном К. А еще эмбеддить очень удобно категориальные фичи без прямого кодирования. Также ранее было модно использовать для создания эмбов категорий DCN сетки.
Претрейн. Обучение представлено в виде мультитаска. Имеется, как задача восстановления замаскированных признаков, ака заставить модель восстановить как будто пропуски в данных, так и задачи регрессии и классификации. Кстати, очень удобна эта тема с маскированием фичей, можно за счёт этого и автоматом фичи от шума и пропусков чистить и связи неявные между ними выучить в блоке внимания. Красиво придумали. Такая вот умная интерполяция, как задача "языкового моделирования" для табличных данных.
Для примера, в классических подходах вы восстанавливаете пропуски в данных при помощи:
1. Банального дропа строк с пропусками, если % их от выборки мал (1-10%).
2. Повторить предыдущее значение (если растянуто во времени) для рядов.
3. Среднее, мода и т.п. способы восстановления в окне.
4. Задача интерполяции - восстановление значений внутри ряда, по имеющимся точкам.
5. Еще более "умное" предсказание пропусков, через смену задачи. Представим, что у вас фича становится целевой переменной, берем фичи без пропусков. Кстати подумайте, можно ли тартег исходный юзать тут как фичу? Ответы пишите в комментариях. Далее учим модель на фичах этих предсказывать фичу-таргет с пропусками. Далее пустые значения мы восполняем такой моделью, как будто бы это тестовый сет. Проделываем так для всех фичей с пропусками. И да для тестового сета можно также восстановить пропуски. Работает ли? Иногда да. Однако, появляется проблема мультиколлениарности, тк каждый пропуск зависит от др фичей, мы ж на них модель сделали и на основе ее предсказали. Да если модель интерполяции не регрессия, мультиколениарность нелинейная, но все же.
Вернемся к статье. Помимо задачи восстановления пропусков в фичах и классик задач регрессии/классификации, есть и задача экстраполяции т.е. генерации продолжения ряда/таргета.
Т. к. это еще и foundation model для табличных данных, то тут также как и у LMок требуется задача претрейна. Для этого авторы научились генерировать синтетику с помощью DAGов в их ETL пайплайнах.
Процесс генерации данных проходит в три этапа: построение DAG, выборка набора данных и адаптация задачи.
На первом этапе создают различные локальные причинно-следственные структуры (LCSS), каждая из которых кодирует различные причинно-следственные зависимости. Затем эти LCSS соединяются между собой в соответствии с предписанной процедурой для формирования полной базы данных. Для построения графа используют как корреляции, так и распределения фичей, наблюдений, таргета и их взаимосвязи. Подробнее читайте в статье.
В итоге, репортят топ метрики, хорошую устойчивость (что очень важно для задач кредитного скоринга и др.), а также отличные возможности к восстановлению выбросов.