3,583 papers
arXiv:2605.24799 75 24 мая 2026 г. FREE

DCI (Divide-and-Conquer Inference): турнирный отбор вместо выбора из сотни вариантов сразу

КЛЮЧЕВАЯ СУТЬ
Обнаружено: та же модель, тот же вопрос — с 10 вариантами точность 80-90%, с 1000 вариантами — случайное угадывание. Это не глупость и не лень. Это физика архитектуры. DCI даёт возможность выбирать лучшее из сотен кандидатов — через серию коротких «отборочных раундов» вместо одного перегруженного запроса. Разбей 100 вариантов на группы по 8, возьми победителя каждой группы, устрой финал — и точность возвращается с нуля обратно к человеческому уровню.
Адаптировать под запрос

TL;DR

Когда даёшь языковой модели слишком длинный список вариантов и просишь выбрать лучший — точность падает катастрофически. Не потому что модель «не старается», а потому что внимание буквально размывается: чем больше вариантов в одном запросе, тем меньше «веса» достаётся каждому. При 1000 вариантов точность падает до уровня случайного угадывания.

Проблема знакома каждому: дал AI 40 идей для названия, просишь выбрать лучшее — и получаешь размытый, нерешительный ответ. Или: загрузил таблицу с 80 кандидатами на задачу, попросил ранжировать — модель соглашается с тем, что было в начале. Это не галлюцинация и не лень. Это архитектурное ограничение: при росте списка сигнал правильного варианта тонет в шуме остальных.

DCI решает это через турнирную структуру: вместо одного запроса «выбери из 100» — серия запросов «выбери из 10», потом «выбери из оставшихся», снова и снова, пока не останется победитель. Каждый раунд — маленький список, высокое внимание, чёткий сигнал.


🔬

Схема метода

ШАГ 1 (РАЗДЕЛИТЬ): Разбить N вариантов на группы по K штук
        → M групп, каждая ≤ K элементов

ШАГ 2 (ОТОБРАТЬ): Отдельный запрос на каждую группу:
        "Какой из этих K вариантов подходит лучше всего? Если ни один — ответь 'нет'"
        → Финалист группы или "нет"

ШАГ 3 (ОТФИЛЬТРОВАТЬ): Убрать группы с ответом "нет"
        → Новый список только из финалистов

ШАГ 4 (ПОВТОРИТЬ): Если финалистов больше K — вернуться к Шагу 1
        → Продолжать пока не останется ≤ K кандидатов

ШАГ 5 (ФИНАЛ): Финальный запрос с оставшимися → Победитель

Все шаги — отдельные запросы. Шаги 1-4 повторяются рекурсивно.

🚀

Пример применения

Задача: Основатель стартапа просит ChatGPT выбрать лучшее название для сервиса доставки здоровой еды в офисы. У него накопилось 30 вариантов после брейншторма.

Промпт (Раунд 1, группа 1 из 5):

Я выбираю название для сервиса здоровой офисной еды. 
Вот 6 вариантов:

1. ЗелёныйЛанч
2. ФрешДеск
3. БизнесТарелка
4. ОфисЕда
5. ВитаМил
6. ПравильноПоел

Критерий: название должно легко запоминаться, 
звучать современно и отражать здоровое питание.

Какой вариант подходит лучше всего? 
Если ни один не подходит по критерию — ответь "нет".
Только название, без объяснений.

(Повторяешь для каждой из 5 групп по 6 названий)

Промпт (Раунд 2, финалисты):

Из 30 названий осталось 4 финалиста:
ФрешДеск, ВитаМил, ЗелёныйЛанч, БодрыйБокс

Тот же критерий: легко запоминается, 
звучит современно, отражает здоровое питание.

Какое лучшее? Только название.

Результат: Вместо размытого «все варианты по-своему хороши» — чёткий выбор на каждом шаге. В раундах с 6 вариантами модель уверенно выберет одного финалиста или скажет «нет». Финальный раунд из 4-5 имён даст однозначного победителя с высокой уверенностью.


🧠

Почему это работает

Слабость LLM: Механизм внимания распределяет «вес» равномерно между всеми элементами в запросе. Когда вариантов 100 — каждый получает ≈1% внимания. Правильный ответ буквально не выделяется. Авторы математически доказали: при росте числа вариантов точность стремится к случайному угадыванию, это не баг — это физика архитектуры.

Сильная сторона LLM: При малом числе вариантов (5-10 штук) модель работает отлично. На 10 классах та же модель, которая угадывает 0.5% из 1000, даёт 80-90% точности. Маленький список = высокая концентрация внимания = чёткий сигнал.

Как DCI использует это: Превращает одну сложную задачу («выбери из 100») в серию лёгких («выбери из 8»). Каждый раунд решается уверенно. Финалисты конкурируют только между собой — список снова маленький, внимание снова высокое.

Рычаги управления: - Размер группы K → меньше (4-6) = точнее, но больше раундов. Больше (10-15) = быстрее, но хуже различение похожих вариантов - Критерий → чем конкретнее формулировка, тем лучше фильтрация на каждом шаге - «Ни один не подходит» → оставь эту опцию всегда. Без неё модель выберет лучшего из плохих - Число раундов → для 20-30 вариантов хватает 2 раундов. Для 100+ нужно 3


📋

Шаблон промпта

Я выбираю {что_выбираю}.
Вот {K} вариантов:

{список_вариантов_с_нумерацией}

Критерий выбора: {критерий}.

Какой вариант подходит лучше всего по этому критерию?
Если ни один не соответствует критерию — ответь "нет".
Только название/номер варианта, без объяснений.

Плейсхолдеры: - {что_выбираю} — название/стратегию/идею/кандидата/... - {K} — размер группы (рекомендуется 6-10) - {список_вариантов_с_нумерацией} — твои варианты пронумерованные - {критерий} — конкретное условие отбора (не "хорошее", а "запоминается и отражает суть")

Логика работы: 1. Раздели N вариантов на группы по K 2. Запусти промпт для каждой группы → собери финалистов 3. Если финалистов > K → сформируй новые группы и повтори 4. Финальный раунд из ≤ K финалистов → победитель


🚀 Быстрый старт — вставь в чат:

Вот шаблон турнирного отбора вариантов. 
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить шаблон.

[вставить шаблон выше]

LLM спросит количество вариантов и критерий отбора — потому что размер группы K и формулировка критерия напрямую влияют на качество каждого раунда. Она сама разобьёт процесс на нужное число итераций.


🧠

Почему это работает (глубже)

Что происходит «под капотом»: В трансформерной архитектуре есть механизм softmax-внимания. Условно: каждый токен «спрашивает» другие токены насколько они релевантны. Ответы нормализуются: сумма всех весов = 1. При 10 вариантах правильный может получить 30-40% веса. При 1000 вариантах — максимум 0.1%, не отличимо от шума.

Почему это не очевидно без исследования: Кажется, что умная модель «поймёт что важно». Но нет — это математическое следствие архитектуры, не отсутствие интеллекта. Авторы строго доказали это через теорию информации: разрыв между «нужной информацией» (растёт логарифмически) и «доступной пропускной способностью» (константа) неизбежно приводит к коллапсу.

Принцип переносится за пределы картинок: Любая задача выбора/классификации из большого числа вариантов — тексты, идеи, кандидаты, категории, теги — подчиняется той же механике. Турнирный подход работает везде, где нужно «найти лучшее из многих».


📄

Оригинал из исследования

Please answer the question below:
Q: There are {K} categories, [{','.join(candidates)}].
Which category does the image belong to?
A:

Контекст: Это базовый промпт для каждой подгруппы на каждом раунде DCI. Подаётся одновременно с изображением. Если модель отвечает категорией из списка — она проходит в следующий раунд. Если отвечает вне списка — отфильтровывается. Ключевая деталь: количество категорий {K} указывается явно — это помогает модели «знать границы поиска».


💡

Адаптации и экстраполяции

📌

💡 Адаптация для найма: отбор резюме

Вместо того чтобы просить AI «оцени все 40 резюме», загружаешь батчами по 6-8 и просишь выбрать тех, кто точнее соответствует вакансии. Финалисты из каждой группы — во второй раунд.

Я нанимаю {роль}. Вот {K} кандидатов:

{список_кандидатов_с_кратким_описанием}

Требования: {ключевые_требования}.

Кто из них ближе всего соответствует требованиям?
Если никто не подходит — ответь "нет".
Только имя, без объяснений.

📌

🔧 Техника: добавление объяснения в финальном раунде

В промежуточных раундах — только имя/номер победителя (быстро, чисто). В финальном раунде — убери "без объяснений" и добавь "объясни почему". Получаешь и победителя, и аргументацию.

[финальный раунд]
Кто из них лучший? 
Назови победителя и объясни в 2 предложениях почему.

📋

🔧 Техника: явное число вариантов в начале промпта

Добавь "Вот ровно {K} вариантов:" перед списком — как в оригинальном исследовании. Это ограничивает поле поиска для модели и немного улучшает точность, особенно когда варианты похожи друг на друга.


⚠️

Ограничения

⚠️ Ручное применение трудоёмко при N > 100: При 30-50 вариантах метод удобен вручную (3-6 запросов). При 200+ — нужна автоматизация через код или API. Без этого становится рутиной.

⚠️ Для изображений нужна модель с vision: Оригинальный метод — про классификацию картинок. Для текстовых задач адаптация работает без vision-модели.

⚠️ Порядок вариантов в группах немного влияет на результат: Авторы обнаружили небольшой bias к элементам в начале/конце списка. Если задача критичная — стоит перемешать варианты перед разбивкой на группы.

⚠️ Не работает для открытого выбора: Метод предполагает, что правильный ответ точно есть в списке. Если ни один вариант не подходит — модель всё равно выберет «наименее плохой» в финальном раунде.


🔍

Как исследовали

Команда из четырёх китайских университетов начала с простого наблюдения: взяли ImageNet-1K (1000 категорий изображений) и проверили несколько топовых мультимодальных моделей. Сначала давали 10 категорий на выбор, потом 20, 100, 200, 500, 1000. Результат оказался шокирующим: LlaMA 3.2-11B при 20 классах давала 88.6% точности, при 1000 классах — 0.53%. Та же модель, та же задача, просто длиннее список.

Они не остановились на "ну бывает" — вывели математическое доказательство через теорию информации (неравенство Фано + энтропия Шеннона), что этот коллапс неизбежен для любой трансформерной архитектуры при плоском инференсе. Это не особенность конкретной модели — это фундаментальное ограничение архитектуры.

DCI проверяли на пяти разных бенчмарках (включая ImageNet-21K с 21 000 классами) и семи разных моделях. Интересный результат: маленький open-source Qwen3-VL-8B с DCI конкурировал с GPT-4 без DCI на задачах классификации — то есть умный протокол запросов компенсировал разницу в размере модели в сотни раз.


🔗

Ресурсы

Название работы: Divide-and-Conquer Inference for Large-Scale Visual Recognition with Multimodal Large Language Models

Код: https://github.com/FourierAI/DCI

Авторы: Zhipeng Ye, Jiaqi Huang, Feng Jiang, Qiufeng Wang, Yikang Duan, Dawei Wang, Xihang Zhou, Qian Qiao

Организации: Taizhou Institute of Science and Technology / Nanjing University of Science and Technology; Xi'an Jiaotong-Liverpool University; Soochow University; University of Toronto


📋 Дайджест исследования

Ключевая суть

Обнаружено: та же модель, тот же вопрос — с 10 вариантами точность 80-90%, с 1000 вариантами — случайное угадывание. Это не глупость и не лень. Это физика архитектуры. DCI даёт возможность выбирать лучшее из сотен кандидатов — через серию коротких «отборочных раундов» вместо одного перегруженного запроса. Разбей 100 вариантов на группы по 8, возьми победителя каждой группы, устрой финал — и точность возвращается с нуля обратно к человеческому уровню.

Принцип работы

Не вали всё в одну кучу — гони через сетку. Делишь N вариантов на группы по K штук (K = 6-10). Каждой группе — отдельный запрос: «Вот 8 кандидатов, критерий такой-то — кто победил? Если никто не подходит — скажи нет». Победители каждой группы выходят в следующий раунд — и так до финала из 5-8 штук, которые разыгрывают первое место. Опция «ни один» обязательна: без неё модель выберет лучшего из плохих, даже когда правильного ответа нет вообще.

Почему работает

В трансформере есть механизм softmax-внимания. Грубо: каждый элемент списка тянет одеяло на себя, а сумма всех весов = 1. Правильный вариант из 10 может получить 30-40% внимания — отчётливый сигнал. Тот же вариант из 1000 получает максимум 0.1% — неотличимо от шума. Авторы доказали это через теорию информации: нужная для выбора информация растёт с числом вариантов, а пропускная способность внимания — константа. При большом списке разрыв неизбежен — это не баг конкретной модели, это математическое следствие архитектуры трансформера. DCI обходит это, удерживая список коротким на каждом шаге.

Когда применять

Любая задача выбора из большого числа вариантов: названия бренда (10+ идей из брейншторма), ранжирование кандидатов (40+ резюме), классификация из длинного каталога товаров или тегов, поиск лучшей идеи продукта. Особенно когда вариантов больше 15 и нужен чёткий победитель — а не «все хороши по-своему». НЕ подходит для задач, где критерий слишком размытый или верного ответа нет в принципе: тогда проблема не в длине списка, а в неопределённости самой задачи.

Мини-рецепт

1. Сформулируй критерий: конкретно, не «хорошее название», а «запоминается за 5 секунд и отражает суть продукта». От этого зависит качество каждого раунда.
2. Раздели варианты на группы по 6-8 штук. 30 вариантов → 4-5 групп.
3. Для каждой группы запусти отдельный запрос: Я выбираю [что]. Вот [K] вариантов: [список с нумерацией]. Критерий: [критерий]. Какой лучший по этому критерию? Если ни один не подходит — ответь «нет». Только одно название, без объяснений.
4. Собери победителей всех групп. Если их вышло больше 8 — проведи ещё один раунд с теми же правилами.
5. Финальный запрос: те же правила, только с финалистами. Один победитель.

Примеры

[ПЛОХО] : Вот 40 названий для моего стартапа. Выбери лучшее: [список]
[ХОРОШО] : Раунд 1, группа 1 из 5 — Я выбираю название для сервиса доставки здоровой еды в офисы. Вот 8 вариантов: 1. ЗелёныйЛанч 2. ФрешДеск 3. БизнесТарелка 4. ОфисЕда 5. ВитаМил 6. ПравильноПоел 7. БодрыйБокс 8. СвежийОбед. Критерий: легко запомнить, звучит современно, отражает здоровое питание. Какое лучшее? Если ни одно не подходит — ответь «нет». Только название. — повторить для каждой из пяти групп, затем финальный запрос с победителями раундов.
Источник: Divide-and-Conquer Inference for Large-Scale Visual Recognition with Multimodal Large Language Models
ArXiv ID: 2605.24799 | Сгенерировано: 2026-05-26 07:32

Проблемы LLM

ПроблемаСутьКак обойти
Точность выбора падает при длинных списках вариантовПросишь выбрать лучшее из 50+ вариантов. Модель даёт размытый или случайный ответ. Причина — механизм внимания делит вес равномерно между всеми элементами. Чем длиннее список, тем меньше "веса" достаётся каждому варианту. При 1000 вариантах правильный ответ неотличим от шума. Это не лень и не галлюцинация — это физика архитектурыРазбей список на маленькие группы (6–10 штук). Спроси "лучший в этой группе или никто". Собери победителей — и снова разбей. Повторяй до финала. 2–3 раунда хватает для большинства задач

Методы

МетодСуть
Турнирный отбор — точный выбор из большого спискаРазбей N вариантов на группы по K штук (рекомендуется 6–10). Для каждой группы отдельный запрос: "Какой из этих K вариантов лучше всего подходит по критерию {критерий}? Если ни один — ответь «нет»." Собери победителей. Если их больше K — снова разбей и повтори. Финальный запрос из K финалистов. Почему работает: маленький список = высокое внимание = чёткий сигнал на каждый элемент. Задача "выбери из 100" распадается на серию лёгких задач "выбери из 8". Обязательно: оставляй вариант "нет" — иначе модель выберет лучшего из плохих. Когда применять: выбор названия, идеи, кандидата, тега, стратегии из 20+ вариантов. Когда не нужен: список до 10 штук — одного запроса хватит
📖 Простыми словами

Divide-and-Conquer Inference forLarge-Scale Visual Recognition with MultimodalLargeLanguageModels

arXiv: 2605.24799

Суть проблемы в том, что современные нейронки — это не всезнающие оракулы, а скорее очень внимательные, но быстро устающие секретари. Когда ты вываливаешь на модель огромный список вариантов и просишь выбрать один правильный, её механизм внимания просто «размазывается» тонким слоем по всему тексту. Для модели каждый новый вариант в списке — это лишний шум, который крадет ценные ресурсы у правильного ответа. В итоге, если вариантов становится слишком много, точность падает до уровня случайного угадывания, и модель начинает просто тыкать пальцем в небо.

Это как если бы ты пришел в ресторан, где в меню три тысячи блюд, и официант заставил бы тебя прочитать их все вслух перед заказом. К середине списка ты забудешь, что было в начале, а к концу — проклянешь этот ресторан и выберешь первое попавшееся название, лишь бы это закончилось. Модель чувствует себя так же: при 1000 вариантов в одном запросе она физически не может сфокусироваться на деталях, и правильный ответ тонет в океане мусора.

Чтобы это починить, исследователи предлагают метод разделяй и властвуй (Divide-and-Conquer). Вместо того чтобы скармливать модели всё скопом, список рубят на мелкие части, заставляя нейронку выбирать лучших в «групповых этапах», а потом сталкивать победителей в финале. Это позволяет сохранить концентрацию на каждом конкретном сравнении. Математика проста: когда вариантов всего пять, модель отдает каждому 20% внимания, и этого достаточно, чтобы заметить нюансы, которые теряются при размытии на 1%.

Хотя метод тестировали на распознавании изображений с тысячами категорий, принцип универсален для любой работы с текстом. Если ты просишь ChatGPT выбрать лучшее название для стартапа из списка в 50 штук или отсеять лишние резюме из пачки в сотню листов — ты получишь херню на выходе. Модель пропустит бриллиант просто потому, что он стоял сорок вторым в очереди. Правильный подход — подавать данные порциями, имитируя турнирную сетку, где в каждом раунде у модели есть шанс реально вчитаться в текст.

Короче: не пытайся запихнуть невпихуемое в один промпт, надеясь на «мощь» нейронки. Длинный контекст — это ловушка, которая убивает качество логических выводов. Если хочешь адекватный результат на больших данных, дроби задачу на этапы и заставляй модель выбирать между 3–5 кандидатами за раз. Либо ты тратишь время на структурирование запросов, либо получаешь рандомный мусор, который выглядит как умный ответ.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с