LLM Benchmark Anthropic Claude 3.7 - внезапно хорошо
Все знают, что Anthropic Claude очень плохо ведет себя на моих бенчмарках. В июле прошлого года две модели еще были в top 10, но потом их вытеснили более смышленые модели, которые не стояли на месте.
Но вот прошло время. Сменилась версия Claude и сменился сам бенчмарк - он теперь учитывает способность моделей к рассуждению.
Как я работаю с моделями без нормального SO? Отправляю им Pydantic схему прямо в виде питона, плюс отправляю JSON пример с заполненными полями. JSON Schema не отправляю - она только запутает модель, если ее специально не обучали.
Так вот, у
Схемы с онтологиями на 150 Literals я бы в Claude не стал отправлять (как это переваривает OpenAI или vllm+outlines/xgrammar), но что-то небольшое тут работает очень хорошо.
Ваш, @llm_under_hood 🤗
PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов.
PPS: А почему не использовать instructor для моделей без SO? А вы видели его итоговый промпт? Он Claude совсем завалит.
Все знают, что Anthropic Claude очень плохо ведет себя на моих бенчмарках. В июле прошлого года две модели еще были в top 10, но потом их вытеснили более смышленые модели, которые не стояли на месте.
Но вот прошло время. Сменилась версия Claude и сменился сам бенчмарк - он теперь учитывает способность моделей к рассуждению.
anthropic/claude-3.7-sonnet
на данный момент лучше всех моделей gpt-4o (запускал я его пока с дефолтовыми параметрами через OpenRouter). И это несмотря на то, что Anthropic до сих пор не поддерживает Structured Outputs!Как я работаю с моделями без нормального SO? Отправляю им Pydantic схему прямо в виде питона, плюс отправляю JSON пример с заполненными полями. JSON Schema не отправляю - она только запутает модель, если ее специально не обучали.
Так вот, у
anthropic/claude-3.7-sonnet
не было ни одной ошибки в следовании формату на довольно нагруженных схемах! А когда модель точно следует формату (даже без перил в виде constrained inference), то расположение элементов в ответе как раз то, которое нам нужно. И если мы в схеме проложили свои чеклисты и CoT цепочки, то LLM будет на них опираться.Схемы с онтологиями на 150 Literals я бы в Claude не стал отправлять (как это переваривает OpenAI или vllm+outlines/xgrammar), но что-то небольшое тут работает очень хорошо.
Ваш, @llm_under_hood 🤗
PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов.
PPS: А почему не использовать instructor для моделей без SO? А вы видели его итоговый промпт? Он Claude совсем завалит.
❤32🔥20👏9🤣3👍1
Anthropic Claude 3.7 thinking - второе место!
Если вы очень любите Claude, то сделайте себе скриншот этого сообщения.
Anthropic Claude 3.7 в reasoning режиме вышла на второе место в моем бенчмарке! Она обогнала o1 в medium reasoning и "выбила" 100% в coding.
Reasoning parameters у этой модели: общий бюджет на ответ - 25k tokens. Из них 80% отводится под нативный reasoning. Плюс у модели еще есть слоты на размышления в рамках схемы ответа.
У Anthropic по-прежнему нет Structured Outputs, но с такими когнитивными способностями они ей и не нужны. JSON схема не была нарушена ни в одном случае.
Как я запускаю Reasoning модели без нативного SO? На вход подается с задачей описание схемы в виде кода (прямо pydantic текстом) и вручную написанный пример в JSON. Json schema я им не подаю, т.к. это обычно путает модели без SO на моих кейсах.
Предупреждаю, что 100% в coding у
Ваш, @llm_under_hood 🤗
PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов. Прочитать про мой подход к бенчмаркам можно тут. Там есть и FAQ со всеми вопросами, которые мне задают последние полтора года.
Если вы очень любите Claude, то сделайте себе скриншот этого сообщения.
Anthropic Claude 3.7 в reasoning режиме вышла на второе место в моем бенчмарке! Она обогнала o1 в medium reasoning и "выбила" 100% в coding.
Reasoning parameters у этой модели: общий бюджет на ответ - 25k tokens. Из них 80% отводится под нативный reasoning. Плюс у модели еще есть слоты на размышления в рамках схемы ответа.
У Anthropic по-прежнему нет Structured Outputs, но с такими когнитивными способностями они ей и не нужны. JSON схема не была нарушена ни в одном случае.
Как я запускаю Reasoning модели без нативного SO? На вход подается с задачей описание схемы в виде кода (прямо pydantic текстом) и вручную написанный пример в JSON. Json schema я им не подаю, т.к. это обычно путает модели без SO на моих кейсах.
Предупреждаю, что 100% в coding у
Claude 3.7:thinking
будет не долго. У меня на подходе в бенчмарк набор тестов на разработку, анализ и исправление кода, в которых путаются все топовые модели. Поэтому оценки всех моделей позднее поедут немного вниз. Ваш, @llm_under_hood 🤗
PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов. Прочитать про мой подход к бенчмаркам можно тут. Там есть и FAQ со всеми вопросами, которые мне задают последние полтора года.
👍68❤20🔥16😁4🤩3👏2🎄2🥰1
AI and Context - директор AI GTM из Intel рассказывает интересное на Enterprise RAG Challenge
Прямая ссылка на MS Teams Video
Ваш, @llm_under_hood 🤗
PS: Если хотите узнать что-то у него про бизнес с AI в Европе - задавайте вопросы в чате в discord
Прямая ссылка на MS Teams Video
Ваш, @llm_under_hood 🤗
PS: Если хотите узнать что-то у него про бизнес с AI в Европе - задавайте вопросы в чате в discord
👍26❤5🔥4🤔4😁1
- Где найти толковых LLM-инженеров?
- Как найти хорошего консультанта, который знает про SO, reasoning и паттерны?
- Какой команде можно доверить приземление материалов из курса по AI ассистентам в процессы компании?
Вопрос интересный, особенно с учетом того, что поле деятельности довольно новое и все меняется достаточно быстро.
Очень просто - смотрите на тех, кто работает активней всего в этом направлении. Кто рассказывает про кейсы, учится и участвует в курсах, пытается делать что-то новое, задает интересные вопросы в communities LLM под капотом и отвечает на них.
Можно вот прямо сейчас зайти в discord ERC и посмотреть, как люди на скорость анализируют PDF, обсуждают подходы и trade-offs. Обращайте внимание на автарки и ники - многие из них есть и в нашем чате.
Ваш, @llm_under_hood 🤗
PS: Похоже, хантить тоже уже начали 😁
- Как найти хорошего консультанта, который знает про SO, reasoning и паттерны?
- Какой команде можно доверить приземление материалов из курса по AI ассистентам в процессы компании?
Вопрос интересный, особенно с учетом того, что поле деятельности довольно новое и все меняется достаточно быстро.
Очень просто - смотрите на тех, кто работает активней всего в этом направлении. Кто рассказывает про кейсы, учится и участвует в курсах, пытается делать что-то новое, задает интересные вопросы в communities LLM под капотом и отвечает на них.
Можно вот прямо сейчас зайти в discord ERC и посмотреть, как люди на скорость анализируют PDF, обсуждают подходы и trade-offs. Обращайте внимание на автарки и ники - многие из них есть и в нашем чате.
Ваш, @llm_under_hood 🤗
PS: Похоже, хантить тоже уже начали 😁
❤45😁26👍8👏3🤝2🔥1
Если вы написали пост про свое участие в Enterprise RAG Challenge, киньте, пожалуйста, ссылку на него в комментарии сюда.
За opensource решений в Github - с меня пиво)
Я потом соберу сводную публикацию, чтобы ничего не упустить.
Ваш, @llm_under_hood 🤗
За opensource решений в Github - с меня пиво)
Я потом соберу сводную публикацию, чтобы ничего не упустить.
Ваш, @llm_under_hood 🤗
❤22🔥14🤝8
Бенчмарк OpenAI GPT-4.5 preview - не докручивает
Новый GPT-4.5 preview в моем reasoning бенчмарке внезапно показал себя всего лишь на уровне топового GPT-4o, что не очень много.
Я пока не буду делать поспешных выводов о качестве модели. Это preview версия, и все может сильно поменяться (у Google такое бывало не раз с preview версиями). Плюс сам бенчмарк довольно нишевый под бизнес задачи, и пока не заполнен кейсами до конца.
Давайте посмотрим, как эта модель думает и где подскальзывается.
Как я запускаю модели без Reasoning режима в бенчмарке? В StructuredOutput схеме у меня есть специальные "слоты" на размышления. В каждом тесте - своя схема. Эти слоты расположены таким образом, чтобы в процессе ответа помогать модели двигаться в правильном направлении. В итоге у нас получается паттерн Checklist/Custom CoT, который хорошо работает в бизнес-кейсах.
Один из тестов в новом бенчмарке - работа с кодом и доменными моделями. Дается здоровый файл с event sourcing aggregate для кредитной карты (баланс, транзакции, лимиты, KYC, авторизации итп) вместе со спеками. LLM задается вопрос о последствиях добавления новой фичи:
Which specs would fail, if I add a new feature to automatically block the card and decline any transaction above 1,000 (regardless of available credit)?
Посмотрим, как решает эту задачу GPT-4.5 preview - см
Кстати, правильный ответ в данном тесте - сломаются спеки "authorize_transaction_success", "transaction_declined_over_limit"
Что говорит claude-sonnet-3.5 (без reasoning) в этом тесте? Модель анализирует глубже и дает более корректные выводы:
А что же делает deepseek-r1-llama-70b? Почему эта небольшая локальная модель по очкам работает лучше, чем GPT-4.5 и куча других моделей?
Этот тюн Llama-70B научился включать reasoning режим и думать тензорами, закидывая проблему токенами.
Она сначала подумает текстом, а потом в том же промпте выдаст правильный ответ. Пусть у нее нет выделенного reason режима (нельзя контроллировать в рамках одного промпта, сколько она думает), но изображает она его очень неплохо (см полный текст ответа).
В итоге финальные рассуждения правильны:
Понятно, что это только один из примеров. Но в среднем по больнице такая картина сохраняется и на других тестах. GPT-4.5-preview пока не только проигрывает reasoning моделям (что ожидаемо), но и отстает от обычных моделей, которые могут изображать reasoning при наличии доступных слотов.
Ваш, @llm_under_hood 🤗
Новый GPT-4.5 preview в моем reasoning бенчмарке внезапно показал себя всего лишь на уровне топового GPT-4o, что не очень много.
Я пока не буду делать поспешных выводов о качестве модели. Это preview версия, и все может сильно поменяться (у Google такое бывало не раз с preview версиями). Плюс сам бенчмарк довольно нишевый под бизнес задачи, и пока не заполнен кейсами до конца.
Давайте посмотрим, как эта модель думает и где подскальзывается.
Как я запускаю модели без Reasoning режима в бенчмарке? В StructuredOutput схеме у меня есть специальные "слоты" на размышления. В каждом тесте - своя схема. Эти слоты расположены таким образом, чтобы в процессе ответа помогать модели двигаться в правильном направлении. В итоге у нас получается паттерн Checklist/Custom CoT, который хорошо работает в бизнес-кейсах.
Один из тестов в новом бенчмарке - работа с кодом и доменными моделями. Дается здоровый файл с event sourcing aggregate для кредитной карты (баланс, транзакции, лимиты, KYC, авторизации итп) вместе со спеками. LLM задается вопрос о последствиях добавления новой фичи:
Which specs would fail, if I add a new feature to automatically block the card and decline any transaction above 1,000 (regardless of available credit)?
Посмотрим, как решает эту задачу GPT-4.5 preview - см
short_thought_steps
. Она смотрит список всех спеков, где идет речь о транзакциях больше $1000, проверяет их и дает варианты:
{
"short_thought_steps": [
"Review transaction-related specs.",
"Identify specs with transactions over 1,000.",
"Check if these specs expect successful transactions."
],
"failing_spec_names": [
"authorize_transaction_success",
"make_payment_success",
"close_card_success",
"close_card_fails_if_balance_not_zero"
]
}
Кстати, правильный ответ в данном тесте - сломаются спеки "authorize_transaction_success", "transaction_declined_over_limit"
Что говорит claude-sonnet-3.5 (без reasoning) в этом тесте? Модель анализирует глубже и дает более корректные выводы:
{
"short_thought_steps": [
"1. The new feature will block cards and decline transactions over $1,000",
"2. Need to identify specs that authorize transactions over $1,000 and expect success",
"3. Need to identify specs that assume a card stays active after a large transaction",
"4. Need to check specs that assume transactions are only declined for credit limit reasons"
],
"failing_spec_names": [
"authorize_transaction_success",
"post_transaction_success",
"transaction_declined_over_limit"
]
}
А что же делает deepseek-r1-llama-70b? Почему эта небольшая локальная модель по очкам работает лучше, чем GPT-4.5 и куча других моделей?
Этот тюн Llama-70B научился включать reasoning режим и думать тензорами, закидывая проблему токенами.
Она сначала подумает текстом, а потом в том же промпте выдаст правильный ответ. Пусть у нее нет выделенного reason режима (нельзя контроллировать в рамках одного промпта, сколько она думает), но изображает она его очень неплохо (см полный текст ответа).
В итоге финальные рассуждения правильны:
{
"short_thought_steps": [
"Identify specs where transactions exceed 1000",
"Check if these specs expect successful authorization",
"Determine if the new feature changes the expected outcome"
],
"failing_spec_names": [
"authorize_transaction_success",
"transaction_declined_over_limit"
]
}
Понятно, что это только один из примеров. Но в среднем по больнице такая картина сохраняется и на других тестах. GPT-4.5-preview пока не только проигрывает reasoning моделям (что ожидаемо), но и отстает от обычных моделей, которые могут изображать reasoning при наличии доступных слотов.
Ваш, @llm_under_hood 🤗
👍50❤14🔥8🤯3🤔2🤩2😢1🎄1
Самые популярные архитектуры в Enterprise RAG Challenge
Вот вам краткая выжимка того, что люди использовали во время Enterprise RAG Challenge round 2. Она сделана на основе анализа 55 описаний архитектур, которые заполнили команды.
🤗 Спасибо всем, кто участвовал и заполнял! 🤗
Key Takeaways
- RAG is near-universal. Almost every approach tries to solve the “long PDF → targeted answer” problem by chunking, storing embeddings, retrieving relevant sections, then letting the model “read” only those sections.
- Structured prompts (with JSON/Pydantic) were popular to ensure consistent outputs—particularly for numeric or Boolean questions that required a definite format.
- Chain-of-thought or multi-step reasoning is common, sometimes with multiple LLM calls for expansions, validations, or final re-checks.
- Performance + Cost trade-offs surfaced: several teams used “fast & cheap” LLMs for search or chunk-labelling, then a heavier model (e.g., GPT-4o) for final answers.
Most submissions combined:
- Document parsing (Docling, PyMuPDF, or similar),
- Vector or keyword-based retrieval (FAISS, Qdrant, BM25, etc.),
- Iterative LLM-based reasoning (chain-of-thought or agent-like flows),
- Structured response schemas (Pydantic or JSON).
Despite the variety of LLM families (OpenAI GPT-4o variants, Llama, Gemini, Qwen, DeepSeek, IBM Granite, Microsoft phi, etc.), the underlying RAG pipeline structure remained strikingly consistent: parse PDFs, embed or index them, fetch relevant chunks, and prompt an LLM to produce carefully formatted answers.
А то, насколько хорошо все эти архитектуры показали себя в рамках соревнования - мы узнаем уже в эту пятницу.
Ваш, @llm_under_hood 🤗
Вот вам краткая выжимка того, что люди использовали во время Enterprise RAG Challenge round 2. Она сделана на основе анализа 55 описаний архитектур, которые заполнили команды.
🤗 Спасибо всем, кто участвовал и заполнял! 🤗
Key Takeaways
- RAG is near-universal. Almost every approach tries to solve the “long PDF → targeted answer” problem by chunking, storing embeddings, retrieving relevant sections, then letting the model “read” only those sections.
- Structured prompts (with JSON/Pydantic) were popular to ensure consistent outputs—particularly for numeric or Boolean questions that required a definite format.
- Chain-of-thought or multi-step reasoning is common, sometimes with multiple LLM calls for expansions, validations, or final re-checks.
- Performance + Cost trade-offs surfaced: several teams used “fast & cheap” LLMs for search or chunk-labelling, then a heavier model (e.g., GPT-4o) for final answers.
Most submissions combined:
- Document parsing (Docling, PyMuPDF, or similar),
- Vector or keyword-based retrieval (FAISS, Qdrant, BM25, etc.),
- Iterative LLM-based reasoning (chain-of-thought or agent-like flows),
- Structured response schemas (Pydantic or JSON).
Despite the variety of LLM families (OpenAI GPT-4o variants, Llama, Gemini, Qwen, DeepSeek, IBM Granite, Microsoft phi, etc.), the underlying RAG pipeline structure remained strikingly consistent: parse PDFs, embed or index them, fetch relevant chunks, and prompt an LLM to produce carefully formatted answers.
А то, насколько хорошо все эти архитектуры показали себя в рамках соревнования - мы узнаем уже в эту пятницу.
Ваш, @llm_under_hood 🤗
🔥69👍17❤13🤝5
Презентация «The Power of Context» от Stefan Gillich (директор AI GTM в Intel).
Основная часть довольно техническая, но потом он отвечал на вопросы из нашего канала. В основном, это было про то, какой AI нынче востребован крупным бизнесом.
https://youtu.be/_2gPwGSSxs0
Ваш, @llm_under_hood 🤗
Основная часть довольно техническая, но потом он отвечал на вопросы из нашего канала. В основном, это было про то, какой AI нынче востребован крупным бизнесом.
https://youtu.be/_2gPwGSSxs0
Ваш, @llm_under_hood 🤗
👍24🔥12🎉4
На чем запускать локальные модели?
В нашем комьюнити очень много людей и команд с практическим опытом локального разнообразных систем с LLM под капотом. Это видно по RAG решениям на ERC, обсуждениям в чате и представлениям в группе курса.
А давайте поговорим про то, как вы запускаете свои системы для пользователей? Речь не столько про запуск через ollama на ноутбуке, сколько про разворачивание системы для 5-30 одновременных пользователей (скорее throughput, чем latency).
- Какие модели используете?
- Как заводите Structured Outputs (если используете)?
- Какое железо и inference framework под капотом, с какими параметрами?
- Сколько tokens per second получается выжать и с какими контекстами.
Но, самое главное, как оно вообще вам на практике?
Ваш, @llm_under_hood 🤗
PS: Если кажется, что в комментариях дискуссия прервалась - она могла отвязаться от обсуждения и провалиться в чат канала: @llm_driven_products.
PPS: Если впервые заходите в чат, пожалуйста, не игнорируйте запрос от нашего бота. Он бдит, банит ботов и не понимает шуток.
В нашем комьюнити очень много людей и команд с практическим опытом локального разнообразных систем с LLM под капотом. Это видно по RAG решениям на ERC, обсуждениям в чате и представлениям в группе курса.
А давайте поговорим про то, как вы запускаете свои системы для пользователей? Речь не столько про запуск через ollama на ноутбуке, сколько про разворачивание системы для 5-30 одновременных пользователей (скорее throughput, чем latency).
- Какие модели используете?
- Как заводите Structured Outputs (если используете)?
- Какое железо и inference framework под капотом, с какими параметрами?
- Сколько tokens per second получается выжать и с какими контекстами.
Но, самое главное, как оно вообще вам на практике?
Ваш, @llm_under_hood 🤗
PS: Если кажется, что в комментариях дискуссия прервалась - она могла отвязаться от обсуждения и провалиться в чат канала: @llm_driven_products.
PPS: Если впервые заходите в чат, пожалуйста, не игнорируйте запрос от нашего бота. Он бдит, банит ботов и не понимает шуток.
👍36❤10🔥9🤝2
Завтра в 10:00 по CET (UTC+1) я расскажу про победителей Enterprise RAG Challenge и новые инсайты. Встретимся в MS Teams. Ссылку на встречу выложим в discord, а видео - потом на Youtube.
А пока, для затравки, самый первый инсайт. Он очевиден, и я рассказывал про "signal vs noise" и на вебинарах и в курсе, но так наглядно я его увидел впервые.
Качество ответов RAG системы всегда будет ограничено качеством работы retrieval части. Если Retrieval тащит мусор или нерелевантную информацию в контекст - то это опускает максимальный предел точности всей системы в целом. Если Retrieval пропускает нужную информацию - тоже самое.
Посмотрите на Retrieval Score и Generation Score в таблице в комментариях. R-Score - оценивает то, насколько правильно найдены релевантные страницы. G-Score - насколько правильны в итоге ответы.
Напомню, что R-score я обычно своих систем считаю сурово. Изначально есть балл. За каждую ненужную цитату - минус 0.1, за каждую пропущенную цитату - минус 0.25.
Результаты Enterprise RAG Challenge показывают, что такой алгоритм оценки, внезапно, неплохо аппроксимирует теоретический потолок точности RAG системы. Практически всегда [1] G-Score ниже, чем R-Score. Это как если бы Retrieval часть задавала теоретический предел точности системы. А вот получится ли его реализовать - уже зависит от мощности модели и последнего reasoning шага. Signal-vs-noise на входном контексте этапа синтеза-генерации.
Отсюда следует и обратное. Если Retrieval Score хороший, но итоговые ответы - не очень, то что-то мы на самом последнем этапе недокрутили. Тут можно улучшить.
Побольше про это мы поговорим на объявлении итогов соревнования завтра. Приходите!
Ваш, @llm_under_hood 🤗
---
[1] "практически всегда", но не "всегда". За пределами TOP-25 есть примеры, где retrieval достает много мусора, но generation часть в целом находит ответы.
А пока, для затравки, самый первый инсайт. Он очевиден, и я рассказывал про "signal vs noise" и на вебинарах и в курсе, но так наглядно я его увидел впервые.
Качество ответов RAG системы всегда будет ограничено качеством работы retrieval части. Если Retrieval тащит мусор или нерелевантную информацию в контекст - то это опускает максимальный предел точности всей системы в целом. Если Retrieval пропускает нужную информацию - тоже самое.
Посмотрите на Retrieval Score и Generation Score в таблице в комментариях. R-Score - оценивает то, насколько правильно найдены релевантные страницы. G-Score - насколько правильны в итоге ответы.
Напомню, что R-score я обычно своих систем считаю сурово. Изначально есть балл. За каждую ненужную цитату - минус 0.1, за каждую пропущенную цитату - минус 0.25.
Результаты Enterprise RAG Challenge показывают, что такой алгоритм оценки, внезапно, неплохо аппроксимирует теоретический потолок точности RAG системы. Практически всегда [1] G-Score ниже, чем R-Score. Это как если бы Retrieval часть задавала теоретический предел точности системы. А вот получится ли его реализовать - уже зависит от мощности модели и последнего reasoning шага. Signal-vs-noise на входном контексте этапа синтеза-генерации.
Отсюда следует и обратное. Если Retrieval Score хороший, но итоговые ответы - не очень, то что-то мы на самом последнем этапе недокрутили. Тут можно улучшить.
Побольше про это мы поговорим на объявлении итогов соревнования завтра. Приходите!
Ваш, @llm_under_hood 🤗
---
[1] "практически всегда", но не "всегда". За пределами TOP-25 есть примеры, где retrieval достает много мусора, но generation часть в целом находит ответы.
👍51🔥20❤10🙏2
Победители Enterprise RAG Challenge!
Я поздравляю всех победителей и участников. Мы сейчас не только классное соревнование устроили, но и сделали прямо громадный research по практическому сравнению эффективности разных архитектур на конкретной бизнес-задаче. Плюс получили живой опыт работы документами и PDF (кто бодался с отчетом на 1000 страниц - ставьте 🤝)
Отчеты, ссылки, посты, leaderboards, ground truth - все это мы будем выкладывать и дублировать в ближайшие недели.
Итак, победители. Теоретический максимум - 133 (100 за ответы и 33 за retrieval)
IBM WatsonX AI Track 🏆
3. nightwalkers - 356ef42c: 96.7.
Векторный RAG с deepseek-r1-distill-llama-70b и granite-embedding-107m-multilingual embeddings
2. A.Rasskazov/V.Kalesnikau - efabd48e: 109.3
multi_agent_ibm_openai - meta-llama/llama-3-405b-instruct, ibm/granite-embedding-107m-multilingual, text-embedding-3-small, gpt-4o-mini
1. Ilia Ris - 25fabf22: 120.3
PDF parsing with heavily modified Docling library + Dense retrieval + Router + Parent Document Retrieval + LLM Reranking + SO CoT + SO reparser + Majority vote (Self-Consistency); llm = llama-3.3 70b from IBM WatsonX
Main Track 🏆
3. hopeless - 6b0d78ba: 117.5
gpt-4o-2024-08-06
Dynamic Structured Output + SEC EDGAR Ontologies
Query Expansion with selecting indicators on CBOW similarity
Majority Selection for several runs (works for pages and final answers)
Chunking by pages only with focus on balancing pages vs tokens
2. Emil Shagiev - 0a878232: 121.6
gpt-4o-mini-2024-07-18, gpt-4o-2024-08-06, o3-mini-2025-01-31
1. Query Expansion
2. Search relevant pages using with fast and cheap LLM
3. Answer questions
4. Finalize answers
1. Ilia Ris - 320a7d36: 121.6
o3-mini
PDF parsing with heavily modified Docling library + Dense retrieval + Router + Parent Document Retrieval + LLM Reranking + SO CoT + Majority vote (Self-Consistency); llm = o3-mini
Еще раз поздравляю всех! SotA Leaderboard - в комментариях.
А вообще - что вам больше всего запомнилось в этом соревновании? Я думаю про третий раунд, уже с reasoning и поглубже в бизнес. Надо такое?
Ваш, @llm_under_hood 🤗
PS: Если еще хотите поучаствовать ради опыта в соревновании, то еще не поздно. Submission API я пока выключать не буду - пара команд попросила отсрочку до следующей недели.
Я поздравляю всех победителей и участников. Мы сейчас не только классное соревнование устроили, но и сделали прямо громадный research по практическому сравнению эффективности разных архитектур на конкретной бизнес-задаче. Плюс получили живой опыт работы документами и PDF (кто бодался с отчетом на 1000 страниц - ставьте 🤝)
Отчеты, ссылки, посты, leaderboards, ground truth - все это мы будем выкладывать и дублировать в ближайшие недели.
Итак, победители. Теоретический максимум - 133 (100 за ответы и 33 за retrieval)
IBM WatsonX AI Track 🏆
3. nightwalkers - 356ef42c: 96.7.
Векторный RAG с deepseek-r1-distill-llama-70b и granite-embedding-107m-multilingual embeddings
2. A.Rasskazov/V.Kalesnikau - efabd48e: 109.3
multi_agent_ibm_openai - meta-llama/llama-3-405b-instruct, ibm/granite-embedding-107m-multilingual, text-embedding-3-small, gpt-4o-mini
1. Ilia Ris - 25fabf22: 120.3
PDF parsing with heavily modified Docling library + Dense retrieval + Router + Parent Document Retrieval + LLM Reranking + SO CoT + SO reparser + Majority vote (Self-Consistency); llm = llama-3.3 70b from IBM WatsonX
Main Track 🏆
3. hopeless - 6b0d78ba: 117.5
gpt-4o-2024-08-06
Dynamic Structured Output + SEC EDGAR Ontologies
Query Expansion with selecting indicators on CBOW similarity
Majority Selection for several runs (works for pages and final answers)
Chunking by pages only with focus on balancing pages vs tokens
2. Emil Shagiev - 0a878232: 121.6
gpt-4o-mini-2024-07-18, gpt-4o-2024-08-06, o3-mini-2025-01-31
1. Query Expansion
2. Search relevant pages using with fast and cheap LLM
3. Answer questions
4. Finalize answers
1. Ilia Ris - 320a7d36: 121.6
o3-mini
PDF parsing with heavily modified Docling library + Dense retrieval + Router + Parent Document Retrieval + LLM Reranking + SO CoT + Majority vote (Self-Consistency); llm = o3-mini
Еще раз поздравляю всех! SotA Leaderboard - в комментариях.
А вообще - что вам больше всего запомнилось в этом соревновании? Я думаю про третий раунд, уже с reasoning и поглубже в бизнес. Надо такое?
Ваш, @llm_under_hood 🤗
PS: Если еще хотите поучаствовать ради опыта в соревновании, то еще не поздно. Submission API я пока выключать не буду - пара команд попросила отсрочку до следующей недели.
🔥82❤30🤝10👍7👏3
Первые инсайты из Enterprise RAG Challenge r2
Мы с вами их обнаружили вместе!
Во-первых, качество извлечения документов важно для точности. Тут внезапно хорошо себя проявила библиотечка Docling от IBM (даже за пределами WatsonX AI Track).
Во-вторых, при наличии хорошой архитектуры можно получить высокие результаты даже на локальных моделях.
Смотрим на архитектуру Ильи, которую он запускал на разных моделях.
PDF parsing with heavily modified Docling library + Dense retrieval + Router + Parent Document Retrieval + SO CoT + SO reparser
Видно, что по мере снижения размера модели, у нас снижается качество ответов. Но оно падает не так быстро, как можно было бы ожидать. Я думаю, что это все благодаря качественно сделанной Retrieval части - она “облегчает” работу LLM на финальных этапах.
В-третьих, в топовых решениях часто используются reasoning паттерны на основе SO CoT (Structured Outputs + Chain of Thought == Custom Chain of Thought). Причем они работают даже там, где SO нет и впомине (только нужно использовать Schema Repair).
В-четвертых, в ситуациях со сложно предсказуемыми вопросами хороший векторный поиск пока до сих пор работает чуть лучше решений без векторов.
Самый главный вывод для меня - с локальными моделями, оказывается, можно делать сильно больше и сильно лучше, чем казалось раньше. Они могут составить неплохую конкуренцию облачным моделям, если выжимать максимум из их способностей.
---
- Победители Enterprise RAG Challenge r2
- Табличка с результатами (лучший результат от каждой команды)
Ваш, @llm_under_hood 🤗
Мы с вами их обнаружили вместе!
Во-первых, качество извлечения документов важно для точности. Тут внезапно хорошо себя проявила библиотечка Docling от IBM (даже за пределами WatsonX AI Track).
Во-вторых, при наличии хорошой архитектуры можно получить высокие результаты даже на локальных моделях.
Смотрим на архитектуру Ильи, которую он запускал на разных моделях.
PDF parsing with heavily modified Docling library + Dense retrieval + Router + Parent Document Retrieval + SO CoT + SO reparser
o3-mini R: 83.8 │ G: 81.8 │ Score: 123.7
llama3.3-70b R: 83.9 │ G: 72.8 │ Score: 114.8
llama-3.1 8b R: 81.1 │ G: 68.7 │ Score: 109.3
R - Retrieval score
G - Generation score
Видно, что по мере снижения размера модели, у нас снижается качество ответов. Но оно падает не так быстро, как можно было бы ожидать. Я думаю, что это все благодаря качественно сделанной Retrieval части - она “облегчает” работу LLM на финальных этапах.
В-третьих, в топовых решениях часто используются reasoning паттерны на основе SO CoT (Structured Outputs + Chain of Thought == Custom Chain of Thought). Причем они работают даже там, где SO нет и впомине (только нужно использовать Schema Repair).
В-четвертых, в ситуациях со сложно предсказуемыми вопросами хороший векторный поиск пока до сих пор работает чуть лучше решений без векторов.
Самый главный вывод для меня - с локальными моделями, оказывается, можно делать сильно больше и сильно лучше, чем казалось раньше. Они могут составить неплохую конкуренцию облачным моделям, если выжимать максимум из их способностей.
---
- Победители Enterprise RAG Challenge r2
- Табличка с результатами (лучший результат от каждой команды)
Ваш, @llm_under_hood 🤗
👍65🔥47❤11🥰3🙏3
Benchmark qwen/qwq-32b - она может и больше!
Итак, новая qwen/qwq-32b на моем reasoning бенчмарке показала себя лучше, чем qwen-2.5-72b-instruct и предыдущие 32B версии от Qwen.
Это уже очень хорошо. Но есть нюанс - эта модель может больше, если бы ей не мешал разброд и шатание с интерфейсами вокруг reasoning моделей.
Смотрите, для простоты бенчмарка, я преимущественно тестирую модели через OpenRouter через интерфейс OpenAI SDK. Этот подход работает прекрасно для обычных моделей. Можно даже использовать Fireworks провайдера, который поддерживает нормальный Structured Output.
В теории - подаем промпт в OpenAI SDK вместе с ожидаемой схемой и получаем ответ в виде объекта. OpenRouter передаст все в Fireworks и вернет ответ.
На практике же все взрывается с ошибкой
В итоге, когда я просил reasoning модель подумать и ответить в виде схемы (и отправлял схему), причем в схеме уже было место для Chain of Thought, то qwen/qwq-32b просто выдавала свои размышления с ответом в
Ну а текущая OpenAI SDK не знает про поле
А почему я говорю, что модель могла бы и лучше?
Да потому, что в паре простых вопросов мне приходил ответ, где внезапно reasoning текстом, а content - это не StructuredOutput, а markdown. То есть тут поведение не только нестабильное, но и constrained decoding не пахнет.
Возможно новый стандарт ResponseAPI от OpenAI позволит исправить этот бардак и задать нормальный стандарт работы с reasoning моделями и SO. Но это займет какое-то время.
А пока можно только порадоваться за qwen/qwq-32b, которая подняла планку качества 32B моделей невзирая на путаницу в интерфейсах.
Ваш, @llm_under_hood 🤗
PS: А вот как эта модель правильно отработала задачку про код (закидав проблему токенами). Sonnet 3.5 и 3.7 (без thinking) именно с этой задачкой не справился: Chain of thought.
Итак, новая qwen/qwq-32b на моем reasoning бенчмарке показала себя лучше, чем qwen-2.5-72b-instruct и предыдущие 32B версии от Qwen.
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓
┃ Model ┃ Score ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━┩
│ openai/o3-mini-2025-01-31 │ 76% │
│ anthropic/claude-3.7-sonne… │ 70% │
│ openai/o1-2024-12-17 │ 70% │
│ deepseek/deepseek-r1 │ 66% │
│ deepseek/deepseek-r1-disti… │ 60% │
│ .... │ │
│ >> qwen/qwq-32b << │ 40% │
│ qwen/qwen-2.5-72b-instruct │ 39% │
│ qwen/qwen2.5-32b-instruct │ 36% │
│ qwen/qwen-2.5-coder-32b-in… │ 36% │
Это уже очень хорошо. Но есть нюанс - эта модель может больше, если бы ей не мешал разброд и шатание с интерфейсами вокруг reasoning моделей.
Смотрите, для простоты бенчмарка, я преимущественно тестирую модели через OpenRouter через интерфейс OpenAI SDK. Этот подход работает прекрасно для обычных моделей. Можно даже использовать Fireworks провайдера, который поддерживает нормальный Structured Output.
В теории - подаем промпт в OpenAI SDK вместе с ожидаемой схемой и получаем ответ в виде объекта. OpenRouter передаст все в Fireworks и вернет ответ.
На практике же все взрывается с ошибкой
Error: 'NoneType' object is not iterable
в глубине OpenAI SDK. А все почему? Да провайдеры не могут договориться и определиться, как нужно получать у модели reasoning, а как результаты вычислений. Более того, они просто не знают, чего ожидать от своей модели.В итоге, когда я просил reasoning модель подумать и ответить в виде схемы (и отправлял схему), причем в схеме уже было место для Chain of Thought, то qwen/qwq-32b просто выдавала свои размышления с ответом в
think
, а сам response
оставляла пустым. Прослойка в виде OpenRouter/Fireworks такого не ожидала. В итоге мне приходил такой ответ:
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "",
"reasoning": "{ \"chain_of_thought\": [ \"To determine how many ...",
"refusal": null,
"role": "assistant"
},
"native_finish_reason": "stop"
}
],
Ну а текущая OpenAI SDK не знает про поле
reasoning
, она ждет content
по схеме. Пришлось переписывать клиента, чтобы автоматически разрешать такие проблемы.А почему я говорю, что модель могла бы и лучше?
Да потому, что в паре простых вопросов мне приходил ответ, где внезапно reasoning текстом, а content - это не StructuredOutput, а markdown. То есть тут поведение не только нестабильное, но и constrained decoding не пахнет.
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "```json\n{\n \"short_thought_steps...```",
"reasoning": "Okay, let me figure...",
"refusal": null,
"role": "assistant"
},
"native_finish_reason": "stop"
}
],
Возможно новый стандарт ResponseAPI от OpenAI позволит исправить этот бардак и задать нормальный стандарт работы с reasoning моделями и SO. Но это займет какое-то время.
А пока можно только порадоваться за qwen/qwq-32b, которая подняла планку качества 32B моделей невзирая на путаницу в интерфейсах.
Ваш, @llm_under_hood 🤗
PS: А вот как эта модель правильно отработала задачку про код (закидав проблему токенами). Sonnet 3.5 и 3.7 (без thinking) именно с этой задачкой не справился: Chain of thought.
👍33❤9🔥7🤣1🤝1
Финальные результаты Enterprise RAG Challenge
- Team Leaderboard - оценивает команды (берется лучшее решение каждой команды)
- SotA Leaderboard - оценивает все эксперименты, которые прислали команды вместе с заполненным опросником.
Колонки:
- Hours - сколько часов прошло между публикацией вопросов и генерацией ответов командой
- R - Retrieval Score. Max: 100
- G - Generation Score. Max: 100
- Score - Final score (R/3+G). Max: 133
- AI - команды использовали наш AI Research (мой курс, работа в TimeToAct или комьюнити 🤗)
- Lcl - использовались модели, которые можно запустить локально
Картинки в оригинале лежат тут: https://abdullin.com/erc/. Позже я туда добавлю ссылки на все отчеты и посты участников, сделаю расширенные таблицы на основе опросников (с фильтрациями)
Спасибо всем за участие - было очень круто! У нас вместе уже получилось продвинуть вперед SotA по построению RAG систем с LLM под капотом. Первые инсайты я опубликовал раньше, но основной анализ еще впереди.
Ваш, @llm_under_hood 🤗
- Team Leaderboard - оценивает команды (берется лучшее решение каждой команды)
- SotA Leaderboard - оценивает все эксперименты, которые прислали команды вместе с заполненным опросником.
Колонки:
- Hours - сколько часов прошло между публикацией вопросов и генерацией ответов командой
- R - Retrieval Score. Max: 100
- G - Generation Score. Max: 100
- Score - Final score (R/3+G). Max: 133
- AI - команды использовали наш AI Research (мой курс, работа в TimeToAct или комьюнити 🤗)
- Lcl - использовались модели, которые можно запустить локально
Картинки в оригинале лежат тут: https://abdullin.com/erc/. Позже я туда добавлю ссылки на все отчеты и посты участников, сделаю расширенные таблицы на основе опросников (с фильтрациями)
Спасибо всем за участие - было очень круто! У нас вместе уже получилось продвинуть вперед SotA по построению RAG систем с LLM под капотом. Первые инсайты я опубликовал раньше, но основной анализ еще впереди.
Ваш, @llm_under_hood 🤗
🔥66👍18👏6🤝2🤗2
Нужно ли заново запустить ERC Submission API?
Anonymous Poll
9%
Нет, я закончил
13%
Да, мне еще пару экспериментов хочется
77%
Посмотреть ответы
Можно запускать новые Enterprise RAG эксперименты!
49 человек попросило запустить заново Enterprise RAG Challenge Submission API, чтобы можно было поставить еще несколько экспериментов.
Он запущен по новому адресу - https://rag.abdullin.com
Можете отправлять свои новые эксперименты туда. Только, пожалуйста, не забывайте заполнять форму с протоколом эксперимента. Так мы сможем потом подвести итоги и проанализировать.
Самый интересный сейчас момент - это полностью локальные системы, у которых локально работает все - parsing/OCR, embeddings (если они есть) и LLM. В Leaderboards у нас пока помечены как локальные системы только те архитектуры, в которых LLM локальный. Я потом постараюсь добавить колонку для
Кстати, я прошелся по части Local submissions и отфильтровал те, у которых точно есть облачный компонент. Обновил тут https://abdullin.com/erc/. Позже пройду мелкой гребенкой.
Если верить цифрам R-Score/G-Score, узкое место полностью локальных систем - это retrieval. Если в облаке openai large embeddings творят чудеса, то с локальными системами еще предстоит разобраться.
Разные варианты retrieval в Enterprise RAG Challenge уже изучали Valerii и Илья (см https://t.iss.one/neuraldeep/1348 в NeuralDeep).
Мне кажется перспективным направлением решение Dmitry Buykin. Оно работает в облаке, но вместо embeddings использует онтологии с SO/CoT чеклистами. Теоретически тут “R Score” может упасть не так сильно при переносе на локальные модели.
Ваш, @llm_under_hood 🤗
PS: Если останется интерес, то можно попробовать через пару месяцев прогнать новый раунд ERC. С тем же генератором вопросов, но с новыми файлами.
49 человек попросило запустить заново Enterprise RAG Challenge Submission API, чтобы можно было поставить еще несколько экспериментов.
Он запущен по новому адресу - https://rag.abdullin.com
Можете отправлять свои новые эксперименты туда. Только, пожалуйста, не забывайте заполнять форму с протоколом эксперимента. Так мы сможем потом подвести итоги и проанализировать.
Самый интересный сейчас момент - это полностью локальные системы, у которых локально работает все - parsing/OCR, embeddings (если они есть) и LLM. В Leaderboards у нас пока помечены как локальные системы только те архитектуры, в которых LLM локальный. Я потом постараюсь добавить колонку для
Fully Local
.Кстати, я прошелся по части Local submissions и отфильтровал те, у которых точно есть облачный компонент. Обновил тут https://abdullin.com/erc/. Позже пройду мелкой гребенкой.
Если верить цифрам R-Score/G-Score, узкое место полностью локальных систем - это retrieval. Если в облаке openai large embeddings творят чудеса, то с локальными системами еще предстоит разобраться.
Разные варианты retrieval в Enterprise RAG Challenge уже изучали Valerii и Илья (см https://t.iss.one/neuraldeep/1348 в NeuralDeep).
Мне кажется перспективным направлением решение Dmitry Buykin. Оно работает в облаке, но вместо embeddings использует онтологии с SO/CoT чеклистами. Теоретически тут “R Score” может упасть не так сильно при переносе на локальные модели.
Ваш, @llm_under_hood 🤗
PS: Если останется интерес, то можно попробовать через пару месяцев прогнать новый раунд ERC. С тем же генератором вопросов, но с новыми файлами.
👍28❤16🔥12🤝6🤯1💯1
Benchmark Gemma-3-27B-Instruct - даже лучше QwQ-32B
Модель уверенно побила все версии Qwen, кроме Max. А еще эта локальная модель чуть лучше claude-3.5-sonnet!
И при этом ее я тестировал в reasoning бенчмарке без костылей в виде Structured Output (ибо на OpenRouter пока нет платных с поддежкой SO).
У нее очень хороший уровень Code. Compliance и BI слабые (но там без CoT/SO модели вывозят плохо). В среднем reason - удивительно хороший для модели такого размера.
Надо будет присмотреться к младшим версиям, как их выложат в платной версии и с SO.
В целом, похоже, что прогресс упорно не стоит на месте. Небольшие модели все хорошеют.
Ваш, @llm_under_hood 🤗
PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов. Прочитать про мой подход к бенчмаркам можно тут. Там есть и FAQ со всеми вопросами, которые мне задают последние полтора года.
Модель уверенно побила все версии Qwen, кроме Max. А еще эта локальная модель чуть лучше claude-3.5-sonnet!
И при этом ее я тестировал в reasoning бенчмарке без костылей в виде Structured Output (ибо на OpenRouter пока нет платных с поддежкой SO).
У нее очень хороший уровень Code. Compliance и BI слабые (но там без CoT/SO модели вывозят плохо). В среднем reason - удивительно хороший для модели такого размера.
Надо будет присмотреться к младшим версиям, как их выложат в платной версии и с SO.
В целом, похоже, что прогресс упорно не стоит на месте. Небольшие модели все хорошеют.
Ваш, @llm_under_hood 🤗
PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов. Прочитать про мой подход к бенчмаркам можно тут. Там есть и FAQ со всеми вопросами, которые мне задают последние полтора года.
🔥58👍20❤7
Можно ли использовать LLM для оптимизации промптов?
Время от времени кто-нибудь в чате поднимает этот вопрос. Более того, я сам в курсе рассказывал про использование мощных моделей в дистилляции инструкций для моделей послабее.
Казалось бы, что может быть сложного в том, чтобы задать вопрос:
А потом просто автоматизировать процесс перебора вариантов.
Проблема в том, что в итоге будет ерунда и каша. LLM по своей природе усредняют ответы, чтобы понравиться среднему читателю. Их к этому приучили через RLHF. На скриншоте пример того, как ChatGPT o1 pro пару минут назад у меня банально скатилась в китайский, настолько она старалась сгладить логические углы.
А при работе с какими-то исключениями и конкретными кейсами нам не нужно сглаживать углы. Наоборот, надо раскручивать размышления, раскапывать нестыковки.
Поэтому лучше работает, когда мы даем мощной LLM материал для размышлений и просим ее проанализировать ошибки. А потом глазами просматриваем результаты и сами изменяем промпт.
Получается в итоге тот же паттерн "Human in the Loop", даже для оптимизации логических блоков. Как без него обойтись в разработке систем с LLM под капотом - я пока не знаю.
Ваш, @llm_under_hood 🤗
Время от времени кто-нибудь в чате поднимает этот вопрос. Более того, я сам в курсе рассказывал про использование мощных моделей в дистилляции инструкций для моделей послабее.
Казалось бы, что может быть сложного в том, чтобы задать вопрос:
Эй, ChatGPT, вот тебе исходный промпт и вот результаты его работы. Перепиши промпт так, чтобы этих ошибок больше не было.
А потом просто автоматизировать процесс перебора вариантов.
Проблема в том, что в итоге будет ерунда и каша. LLM по своей природе усредняют ответы, чтобы понравиться среднему читателю. Их к этому приучили через RLHF. На скриншоте пример того, как ChatGPT o1 pro пару минут назад у меня банально скатилась в китайский, настолько она старалась сгладить логические углы.
А при работе с какими-то исключениями и конкретными кейсами нам не нужно сглаживать углы. Наоборот, надо раскручивать размышления, раскапывать нестыковки.
Поэтому лучше работает, когда мы даем мощной LLM материал для размышлений и просим ее проанализировать ошибки. А потом глазами просматриваем результаты и сами изменяем промпт.
Получается в итоге тот же паттерн "Human in the Loop", даже для оптимизации логических блоков. Как без него обойтись в разработке систем с LLM под капотом - я пока не знаю.
Ваш, @llm_under_hood 🤗
👍75❤23😁5🤔3🤯3💯2🔥1
Новую PDF распознавалку от IBM подвезли - SmolDocling
Это vision LM в 256M. Говорят, что работает лучше Qwen2.5VL, но не со всеми языками. Импонирует то, что модель извлекает не просто текст, а сразу структуру.
Что там под капотом?
- Это vision LM со специальными токенами для элементов markdown
- Основана на SmolVLM-256M — самой компактной vision LM.
- Обучена на страницах и транскрипциях Docling (с использованием нового формата DocTags для лучшего отображения элементов и их местоположения).
- Читает документ за 0.35 секунды (на A100) при использовании 0.5 GB VRAM.
- Доступна в Hugging Face transformers и vLLM.
Модельку качать тут, пробовать тут.
Кто-нибудь уже пробовал на своих задачах?
Ваш, @llm_under_hood 🤗
PS: Whitepaper: https://arxiv.org/html/2503.11576v1
Это vision LM в 256M. Говорят, что работает лучше Qwen2.5VL, но не со всеми языками. Импонирует то, что модель извлекает не просто текст, а сразу структуру.
Что там под капотом?
- Это vision LM со специальными токенами для элементов markdown
- Основана на SmolVLM-256M — самой компактной vision LM.
- Обучена на страницах и транскрипциях Docling (с использованием нового формата DocTags для лучшего отображения элементов и их местоположения).
- Читает документ за 0.35 секунды (на A100) при использовании 0.5 GB VRAM.
- Доступна в Hugging Face transformers и vLLM.
Модельку качать тут, пробовать тут.
Кто-нибудь уже пробовал на своих задачах?
Ваш, @llm_under_hood 🤗
PS: Whitepaper: https://arxiv.org/html/2503.11576v1
🔥70👍14❤8🤯4🤔2