3,583 papers
arXiv:2510.04048 88 5 окт. 2025 г. FREE

Voting Ensembles: повышение надёжности LLM через голосование множественных ответов

КЛЮЧЕВАЯ СУТЬ
Парадокс: Один вопрос → 50 ответов → меньше галлюцинаций. LLM генерирует вероятностно, и на обманчивых вопросах разброс ответов выдаёт неуверенность модели. Voting Ensembles позволяет отличать уверенные ответы от галлюцинаций – критично для юридических, медицинских, финансовых решений. Модель отвечает N раз независимо, считается частота каждого ответа. Если доминирующий ответ набрал порог k (например, 40 из 50) – принимаешь. Если нет – система говорит 'нет консенсуса' вместо уверенной галлюцинации. Доверие выросло с 61% до 88% на арифметике, с 70% до 93% на клинических данных.
Адаптировать под запрос

TL;DR

Voting Ensembles — техника, при которой модель отвечает на вопрос несколько раз независимо, после чего выбирается ответ по принципу голосования. Если достаточное число ответов совпадает (достигнут порог голосования k), это считается консенсусом. Если консенсуса нет — система выдаёт "нет уверенного ответа" вместо галлюцинации.

Модели часто дают разные ответы на один вопрос из-за обманчивости вопроса (deceptiveness δ) — когда неправильный ответ кажется правдоподобным, и растерянности (bewilderment η) — когда вопрос заставляет гадать. Исследователи показали: чем строже порог согласия (k приближается к n), тем меньше ответов, но выше доверие к ним. При мягком пороге (k=1, просто большинство) — максимум ответов, но ниже надёжность.

Метод работает так: вместо одного запроса делаете 5-50 независимых. Считаете частоту каждого ответа. Если доминирующий ответ превышает порог (например, 80% согласия при n=50, k=40) — принимаете его. Если нет — честно признаёте неопределённость. На арифметике trust вырос с 61% до 88%, на клинических данных — с 70% до 93%, при потере всего 20-30% coverage (доли вопросов с ответом).


🔬

Схема метода

НЕЗАВИСИМЫЕ ЗАПРОСЫ:
Одинаковый вопрос → Модель (попытка 1) → Ответ A
 → Модель (попытка 2) → Ответ A
 → Модель (попытка 3) → Ответ B
 ...
 → Модель (попытка n) → Ответ A

ПОДСЧЁТ И РЕШЕНИЕ:
Частота A: 35 из 50
Частота B: 10 из 50
Прочие: 5 из 50

Если k=40 (80% порог) → Ответ A НЕ достиг порога → "Нет консенсуса"
Если k=25 (50% порог) → Ответ A достиг порога → Финальный ответ: A

Все шаги можно выполнить вручную в чате или попросить модель симулировать множественные попытки.


🚀

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

Задача: Вы юрист и проверяете, может ли клиент расторгнуть договор досрочно без штрафа по конкретной статье ГК РФ. Ошибка дорого стоит — неверный совет приведёт к иску.

Промпт:

Вопрос: Может ли арендатор расторгнуть договор аренды нежилого помещения досрочно 
без штрафа, если арендодатель не устранил протечку крыши в течение 2 месяцев 
после письменного уведомления?

Дай мне 10 независимых юридических мнений. Каждое мнение — это отдельное рассуждение, 
как будто ты разный юрист. Не копируй предыдущие ответы. После каждого мнения укажи:
- Вывод: ДА / НЕТ / НЕЯСНО
- Ссылка на статьи ГК РФ

В конце посчитай:
- Сколько раз ответ "ДА"
- Сколько раз ответ "НЕТ" 
- Сколько раз ответ "НЕЯСНО"

Если 8 из 10 или больше сходятся на одном выводе — это консенсусный ответ.
Если меньше — признай, что вопрос неоднозначный.

Результат:

Модель выдаст 10 блоков рассуждений с конкретными статьями ГК РФ. В конце — подсчёт: например, 9 из 10 мнений сошлись на "ДА, можно расторгнуть по ст. 619 и 620 ГК РФ". Это высокая уверенность — можете использовать. Если разброс 5-3-2 (ДА-НЕТ-НЕЯСНО) — нет консенсуса, нужна консультация с живым юристом или дополнительные документы.


🧠

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

LLM генерирует текст вероятностно — на один вопрос может быть много вариантов продолжения. Если вопрос обманчивый (неправильный ответ выглядит убедительно) или сбивает с толку (много плюс-минус правдоподобных вариантов), модель в разных попытках даст разные ответы.

При этом модель хорошо умеет генерировать множество независимых вариантов и находить доминирующие паттерны. Voting ensembles используют эту способность: если правильный ответ очевиден для модели — он появится в большинстве попыток. Если модель не уверена — ответы разбросаны, и система честно скажет "нет консенсуса" вместо уверенной галлюцинации.

Рычаги управления:

  1. Число попыток (n): Больше попыток → точнее оценка разброса. Для простых вопросов достаточно 5-10, для критических — 20-50.
  2. Порог согласия (k/n):
    • Мягкий порог (k=1, простое большинство) → максимум coverage, риск галлюцинаций остаётся
    • Средний порог (k=0.6n, 60% согласия) → баланс coverage и trust
    • Жёсткий порог (k=0.8n, 80%+ согласия) → мало ответов, но почти нет галлюцинаций
  3. Температура модели: Выше температура → больше вариативность ответов → легче отличить "уверенные" вопросы (консенсус при любой температуре) от "неуверенных" (разброс растёт).

📋

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

Вопрос: {твой_вопрос}

Дай мне {n} независимых ответов на этот вопрос. Каждый ответ — это отдельное рассуждение, 
как будто ты каждый раз заново думаешь над вопросом. Не копируй предыдущие ответы.

Формат каждого ответа:
Попытка X: [твой ответ]

В конце посчитай частоту каждого уникального ответа. 

Если {k} или больше ответов совпадают — это консенсусный ответ, выдай его как финальный.
Если ни один ответ не набрал {k} голосов — признай, что вопрос неоднозначный и консенсуса нет.

Финальный ответ: [...]
Уверенность: Высокая / Нет консенсуса

Подстановка:

  • {твой_вопрос} — твой вопрос
  • {n} — число попыток (5-50, для критических вопросов больше)
  • {k} — порог согласия (для высокого trust используй 0.8n, для баланса — 0.6n)

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

Вот техника Voting Ensembles для повышения надёжности ответов. 
Адаптируй шаблон под мою задачу: [опиши свою задачу — например, "проверить корректность 
медицинского диагноза", "выбрать между двумя бизнес-стратегиями", "решить сложную 
математическую задачу"]. 

Задавай вопросы, чтобы настроить:
- Сколько попыток нужно (n)?
- Какой порог согласия (k)? 
- Нужно ли объяснение в каждой попытке или только финальный ответ?

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

LLM спросит какой уровень критичности у задачи (чтобы выбрать n и k) и в каком формате удобнее получить ответы — потому что для разных задач оптимальны разные комбинации: юридический анализ требует строгого порога (k=0.8n) и подробных объяснений, а математическая задача может обойтись k=0.5n и краткими ответами. Модель возьмёт паттерн голосования из шаблона и адаптирует под твою задачу.


⚠️

Ограничения

⚠️ Токены: n попыток = в n раз больше токенов. Для n=50 критический вопрос съест много бюджета. Используй высокий n только для вопросов, где цена ошибки высока.

⚠️ Время: Множественные запросы занимают время. Если нужен мгновенный ответ — метод не подходит.

⚠️ Не решает фундаментальное незнание: Если модель не знает факт (cutoff date, специфическая информация вне обучения), все попытки дадут галлюцинацию. Voting Ensembles помогает обнаружить неуверенность, но не добавляет знания. Для неизвестных фактов используй web search.

⚠️ Системные ошибки: Если все модели обучены на одних данных с одной ошибкой — консенсус будет на неправильном ответе. Метод помогает против случайных галлюцинаций, но не против систематических bias.


🔍

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

Команда построила теоретический фреймворк для вопросов с дискретными ответами. Каждый вопрос характеризуется двумя параметрами: δ (насколько вопрос обманчивый — есть ли привлекательный неправильный ответ) и η (насколько вопрос сбивает с толку — много ли случайных вариантов). Из этой модели вывели три теоремы:

  1. Accuracy максимизируется при k=1 — самый мягкий порог всегда даёт максимум правильных ответов
  2. Yield (охват) тоже максимален при k=1 — понятно, ведь при k=1 почти всегда есть консенсус
  3. Для больших ансамблей (n→∞) итоговая accuracy стремится к 100% если δ<0.5, к 0% если δ>0.5, к 50% если δ=0.5

Это значит: если правильный ответ хоть чуть популярнее неправильного у модели — в пределе получим правильный ответ. Если неправильный популярнее — все попытки сойдутся на нём.

Теорию проверили на Llama3-70B-instruct и Llama3-8B-instruct:

  • Синтетические арифметические задачи (умножение многозначных чисел, выражения с несколькими операциями)
  • Реальные клинические данные (500 эхокардиограмм — извлечение фракции выброса, степени стеноза, регургитации)

Результаты подтвердили теорию: для арифметики при увеличении k с 1 до 40 (из n=50) trust вырос с 61% до 88% на умножении, с 48% до 65% на сложных выражениях. Для клинических данных — с 70% до 93% на митральной регургитации. При этом yield (охват) закономерно упал — с 90%+ до 60-70%, потому что жёсткий порог отсеивает вопросы без явного консенсуса.

Удивительное: метод работает даже с chain-of-thought промптингом. Изначально боялись, что CoT добавит детерминизма и убьёт вариативность, но нет — CoT поднял базовую accuracy (модель решает более сложные задачи), а voting ensembles поверх CoT всё равно дали прирост trust.

Инсайт для практики: если нужна максимальная coverage (все вопросы с ответом) — используй k=1 (простое большинство). Если нужна максимальная надёжность и готов пожертвовать coverage — поднимай k до 0.7-0.9 от n. Золотая середина — k≈0.6n: большинство вопросов получат ответ, но галлюцинации отсеются.


🔗

Ресурсы

Increasing LLM Response Trustworthiness Using Voting Ensembles

Shir Goldfinger (University of Pennsylvania), Aparna Nair-Kanneganti (Harvard University), Trevor J. Chan (University of Pennsylvania), Emily Mackay, Brian Anthony (MIT), Alison Pouch (University of Pennsylvania)


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

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

Парадокс: Один вопрос → 50 ответов → меньше галлюцинаций. LLM генерирует вероятностно, и на обманчивых вопросах разброс ответов выдаёт неуверенность модели. Voting Ensembles позволяет отличать уверенные ответы от галлюцинаций – критично для юридических, медицинских, финансовых решений. Модель отвечает N раз независимо, считается частота каждого ответа. Если доминирующий ответ набрал порог k (например, 40 из 50) – принимаешь. Если нет – система говорит 'нет консенсуса' вместо уверенной галлюцинации. Доверие выросло с 61% до 88% на арифметике, с 70% до 93% на клинических данных.

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

Не один запрос – серия независимых попыток. Модель как присяжные: каждый думает отдельно, потом голосуют. Задаёшь вопрос 5-50 раз с одинаковой формулировкой. Модель в каждой попытке генерирует независимо – как будто видит вопрос впервые. Собираешь ответы, считаешь частоту. Устанавливаешь порог согласия k/n – сколько из N ответов должны совпасть. Жёсткий порог (k=0.8n) → мало ответов, но доверие 90%+. Мягкий порог (k=0.5n) → больше охват, но риск галлюцинаций остаётся. Если доминирующий ответ превышает порог – финальный ответ. Если разброс – честно признаёшь неопределённость.

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

LLM генерирует текст вероятностно – на каждом шаге выбирает токен из распределения вероятностей. Если вопрос обманчивый (неправильный ответ выглядит убедительно) или сбивает с толку – модель в разных попытках пойдёт по разным путям генерации. На уверенных вопросах модель сходится к одному ответу в 80-90% попыток, на неуверенных – разброс 30-40-30. Это свойство стохастической генерации превращается в индикатор надёжности. Исследователи показали: чем строже порог k, тем выше trust – при k=0.8n доверие подскакивает с 70% до 93% на медицинских данных. Цена – потеря 20-30% охвата (доли вопросов с ответом), но для критических решений это честный trade-off: лучше сказать 'не знаю', чем нагаллюцинировать диагноз.

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

Критические решения где цена ошибки высока → юридические заключения (расторжение договора, права по ГК РФ), медицинские диагнозы (проверка симптомов перед консультацией врача), финансовые прогнозы (оценка рисков инвестиций). Особенно когда вопрос неоднозначный – много правдоподобных вариантов, нет единственно верного ответа, требуется экспертная оценка. НЕ подходит для быстрых ответов (множественные запросы занимают время), ограниченного бюджета токенов (N попыток = в N раз больше токенов), вопросов вне cutoff date модели (консенсус будет на галлюцинации, если модель не знает факт).

Мини-рецепт

1. Определи критичность: Простая задача – 5-10 попыток, критическая (медицина/юриспруденция) – 20-50.
2. Задай вопрос N раз: Одинаковая формулировка, попроси модель генерировать независимо – 'Дай мне 10 независимых ответов, каждый как будто ты заново думаешь над вопросом'.
3. Установи порог согласия k: Для высокого доверия k=0.8n (80% ответов должны совпасть), для баланса охвата и надёжности k=0.6n (60%).
4. Подсчитай частоту: Попроси модель в конце посчитать – 'Сколько раз ответ A, сколько раз B, сколько раз C'.
5. Проверь консенсус: Если доминирующий ответ ≥ k – принимай как финальный. Если нет – 'Консенсуса нет, вопрос неоднозначный'.

Примеры

[ПЛОХО] : Может ли арендатор расторгнуть договор досрочно без штрафа, если арендодатель не устранил протечку? – один запрос, модель может нагаллюцинировать уверенный ответ на сложном юридическом вопросе.
[ХОРОШО] : Вопрос: Может ли арендатор расторгнуть договор аренды нежилого помещения досрочно без штрафа, если арендодатель не устранил протечку крыши в течение 2 месяцев после письменного уведомления? Дай мне 10 независимых юридических мнений. Каждое мнение – отдельное рассуждение, как будто ты разный юрист. Не копируй предыдущие ответы. После каждого мнения укажи: Вывод (ДА/НЕТ/НЕЯСНО), ссылка на статьи ГК РФ. В конце посчитай: сколько раз ДА, НЕТ, НЕЯСНО. Если 8 из 10 или больше сходятся – консенсусный ответ. Если меньше – признай неоднозначность. – Результат: 9 из 10 мнений 'ДА, можно по ст. 619 и 620 ГК РФ' = высокая уверенность. Разброс 5-3-2 = нет консенсуса, нужна консультация с живым юристом.
Источник: Increasing LLM response trustworthiness using voting ensembles
ArXiv ID: 2510.04048 | Сгенерировано: 2026-01-11 23:27

Проблемы LLM

ПроблемаСутьКак обойти
Одиночный ответ скрывает неуверенность моделиМодель генерирует текст вероятностно. На сложный вопрос есть много вариантов продолжения с разными вероятностями. Но ты видишь только один ответ — самый вероятный по случайной выборке. Модель может быть неуверена внутри, но снаружи выглядит уверенно. Ты не видишь что было 40% за A, 35% за B, 25% за CСпроси модель несколько раз независимо. Если ответы разные — модель неуверена. Если 80%+ попыток дают один ответ — это надёжный консенсус. Техника: Voting Ensembles (см. Методы)

Методы

МетодСуть
Voting Ensembles — консенсус множественных попытокЗадай один вопрос модели N раз независимо (5-50 попыток). Посчитай частоту каждого ответа. Установи порог консенсуса K (например, 80% от N). Если доминирующий ответ набрал K+ голосов — прими его. Если нет — выдай "нет уверенного ответа" вместо галлюцинации. Промпт: Дай {N} независимых ответов. Каждый — отдельное рассуждение, не копируй предыдущие. В конце: если {K}+ ответов совпадают — финальный ответ. Иначе — признай отсутствие консенсуса. Почему работает: Вероятностная природа генерации. Если правильный ответ очевиден — появится в большинстве попыток. Если модель не уверена — разброс покажет это явно. Рычаги: N=5-10 для простых вопросов, 20-50 для критических. K=0.5N (баланс), K=0.8N (высокая надёжность, меньше ответов). Когда применять: критическая цена ошибки (юридические, медицинские задачи), есть бюджет токенов, не нужен мгновенный ответ. Когда не работает: модель фундаментально не знает факт (дата отсечки, отсутствие в обучении) — все попытки дадут одинаковую галлюцинацию

Тезисы

ТезисКомментарий
Разброс ответов при повторных запросах показывает реальную неуверенностьМодель генерирует текст через выборку из распределения вероятностей. На один вопрос может быть несколько правдоподобных продолжений. Если спросить 10 раз и получить 5 разных ответов — модель не уверена, вопрос сложный. Если 9 из 10 одинаковые — модель уверена, ответ надёжный. Это честный индикатор внутренней неопределённости. Применяй: Для критических решений делай 10-20 независимых запросов. Считай уникальные ответы. Много вариантов = проверяй другими способами
📖 Простыми словами

Voting Ensembles: повышение надёжности LLM через голосование множественных ответов

arXiv: 2510.04048

Проблема в том, что нейронки — патологические лжецы. Когда LLM не знает ответа, она не извиняется, а с каменным лицом сочиняет бред, потому что ее задача — просто генерировать вероятный текст. Метод Voting Ensembles ломает эту механику через колено: мы заставляем модель отвечать на один и тот же вопрос, скажем, десять раз подряд, а потом смотрим, совпали ли показания. Если семь ответов из десяти одинаковые — это консенсус, которому можно верить, а если каждый раз получается новая версия, значит, модель просто галлюцинирует и ее пора заткнуть.

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

Технически всё держится на пороге голосования k. Ты сам решаешь, насколько жестким будет фильтр: если поставить планку в 90% совпадений, ты получишь кристально чистые данные, но на многие сложные вопросы система будет отвечать «без комментариев». Метод тестировали на GSM8K (математика) и StrategyQA (логика), и результаты подтвердили: когда модель заставляют голосовать саму с собой, количество галлюцинаций падает в разы. Это работает, потому что правильный путь к решению обычно один, а способов ошибиться — бесконечное множество, и они редко совпадают.

Хотя эксперименты ставили на логических задачках, принцип ансамблевого голосования — это спасение для любого бизнеса, где цена ошибки выше нуля. Юристы, проверяющие договоры, медики, анализирующие симптомы, или программисты, пишущие критический код, — всем им нельзя доверять одному «мнению» нейронки. Voting Ensembles превращает нестабильный ИИ в надежный инструмент, который умеет вовремя нажать на тормоза, если его начинает заносить на поворотах.

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

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

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

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