6 LLM‑судей, 4 лаборатории, 3 страны — а ошибки коррелируют: ρ̄ ≈ 0,42, эффективно 1,9 из 6.

В июле я писал, что консенсус шести LLM‑судей на RAGTruth бьёт любого одиночного судью. Это по‑прежнему верно. Но тогда я не проверил главного: сколько независимых голосов стоит за этим консенсусом. Оказалось — примерно два.

1,9 из 6

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

Я это измерил. На публичном бенчмарке RAGTruth комитет из шести моделей несёт — по design‑effect приближению — примерно столько же независимой информации, сколько 1,9 независимого судьи из шести. Средняя попарная корреляция их ошибок ρ̄ ≈ 0,42.

Это не «1,9 судьи» в буквальном смысле — это эффективный размер: сколько независимых голосов реально стоит за шестью коррелированными. Разнообразие провайдеров не покупает независимость ошибок.

И вот вывод, который держится вообще без спора о точной цифре: ошибки шести судей скоррелированы достаточно, чтобы гарантии независимого голосования выродились. Теорема Кондорсе для коррелированных голосов не отменяется (Ладха, Боланд) — но её границы становятся куда слабее: шесть таких голосов работают как эффективные ~два. «1,9» лишь оценивает масштаб этого вырождения.

Весь метод, данные и пересчёт одной командой — в репозитории: https://github.com/itsjustmarsel/llm‑judge‑independence. Скрипт analyze.py пересчитывает ρ̄ и n_eff прямо из сохранённых вердиктов, без единого обращения к API.

Что именно я измерял

Задача — RAGTruth: детекция галлюцинаций на уровне ответа. Дан ответ и источник; надо решить, полностью ли ответ поддержан источником или в нём есть невыводимое из источника утверждение. Gold‑метки размечены людьми и внешне по отношению к судьям. Задача бинарна и проверяема, поэтому индикатор ошибки судьи определён однозначно.

Ростер из шести моделей: DeepSeek‑Chat, Qwen-2.5–7B, Qwen-2.5–72B, Llama-3.3–70B, Mistral‑Large, Amazon Nova‑Pro — четыре лаборатории, три страны.

Метрика простая. Для каждого судьи строю индикатор ошибки: вердикт ≠ gold. Считаю среднюю попарную корреляцию этих индикаторов ρ̄ и эффективный размер комитета через design‑effect:

n_eff = k / (1 + (k − 1) · ρ̄)

При k = 6 и ρ̄ ≈ 0,42 получается n_eff ≈ 1,92.

Почему корреляция ошибок, а не точность каждого судьи. Для голосующего комитета важно не как часто судья прав в одиночку, а совпадают ли их промахи: при независимых ошибках большинство почти никогда не ошибается разом, при скоррелированных — наваливается на те же трудные примеры вместе с меньшинством. n_eff ≈ 1,9 означает ровно это: по независимой информации шесть таких судей ближе к паре, чем к шестёрке.

Про размер выборки, чтобы не было вопросов. В пуле 914 items. Корреляция и n_eff считаются по complete‑case: item входит в расчёт, только если вердикт вернули все шестеро. На двух items один судья вердикта не дал — в расчёт вошли 912 (0,2% отброшено). Схема complete‑case, не pairwise‑complete; при большей доле пропусков разница между ними была бы существенной.

Робастность. Одно число легко получить случайно, поэтому я перемерил на base‑rate‑matched подмножестве в четырёх конфигурациях: {краткий промпт, детальный рубрик} × {verdict‑first JSON, free‑format «сначала рассуждение, потом вердикт»}. В колонке acc — средняя точность одиночного судьи (1 − доля ошибок), а не голосования: статья про независимость голосов, не про точность комитета.

Конфигурация

n

acc (одиночного судьи)

ρ̄

n_eff (из 6)

primary (пул)

912

0,769

0,424

1,92

thin · verdict‑first

105

0,767

0,556

1,59

thin · free

105

0,754

0,541

1,62

orig · verdict‑first

89

0,753

0,478

1,77

orig · free

105

0,783

0,602

1,50

Разброс n_eff по аркам (**1,50–1,77**, ρ̄ 0,48–0,60) — в пределах шума при n≈100: четыре конфигурации статистически неотличимы, так что это не найденная структура, а устойчивость вывода — эффективных судей заметно меньше шести в каждой. (В арке orig · verdict‑first в расчёт вошли 89 items, а не 105: complete‑case отсеял больше — часть судей не вернула вердикт.) Те же вердикты я пересчитал спустя пять недель на том же ростере — дрейфа нет.

Среднее 0,42 скрывает структуру

Одно число — это среднее по пятнадцати парам, а среднее прячет то, как устроен комитет. Вот вся матрица попарных корреляций ошибок (primary pool, 912 items):

DeepSeek

Qwen-7B

Llama-70B

Mistral‑L

Nova‑Pro

Qwen-72B

DeepSeek

0,13

0,60

0,46

0,66

0,63

Qwen-7B

0,13

0,15

0,27

0,07

0,11

Llama-70B

0,60

0,15

0,53

0,58

0,61

Mistral‑L

0,46

0,27

0,53

0,40

0,44

Nova‑Pro

0,66

0,07

0,58

0,40

0,73

Видно два разных мира с одним средним. Qwen-2.5–7B почти независим от всех (0,07–0,27), а четвёрка DeepSeek / Llama-70B / Nova‑Pro / Qwen-72B — тесно связанный блок (0,58–0,73), где судьи как источники информации почти взаимозаменяемы. И это уже результат, а не иллюстрация: самая слабая модель ростера оказалась самой независимой — при отборе комитета по разнообразию ошибок она полезнее, чем ещё один сильный судья из общего кластера. Рычаг — подбор по разнообразию, а не число судей (об этом в конце).

Может показаться, что вся картина держится на выбросе: Qwen-7B слабее остальных — уберите его, и корреляция исчезнет. Проверил пересчётом на тех же вердиктах: без него ρ̄ = 0,56, n_eff = 1,54 из 5. А сама коррелированная четвёрка сильных судей (DeepSeek, Llama-70B, Nova‑Pro, Qwen-72B) — ρ̄ = 0,63, n_eff = 1,38 из 4. Убрать самую независимую модель — значит не спасти независимость, а потерять её: комитет из «лучших» моделей избыточнее комитета с одной слабой.

И независимость Qwen-7B — не механический эффект его высокой доли ошибок. Точности одиночных судей: DeepSeek 0,79, Qwen-7B 0,68, Llama-70B 0,81, Mistral‑L 0,83, Nova‑Pro 0,75, Qwen-72B 0,76. При таких долях ошибок потолок φ для пары Qwen-7B ↔ Nova‑Pro ≈ 0,85, а наблюдается 0,07 — то есть корреляция низка не потому, что упёрлась в потолок маргиналов, а по‑настоящему.

Насколько устойчиво само среднее? 95%‑й бутстрап‑интервал для ρ̄ (ресэмплинг по айтемам, 2000 повторов) — [0,39; 0,46]. Среднее оценено уверенно; неопределённость не в нём, а в разбросе между парами, который среднее и стирает.

Разнообразие провайдеров ≠ независимость ошибок

Интуиция «разные компании → независимые ошибки» путает разнообразие упаковки с разнообразием режимов отказа. И собранная матрица прямо показывает, что провайдер — не та ось, по которой раскладывается корреляция. Самые независимые пары — Qwen-7B ↔ Nova‑Pro (0,07) и Qwen-7B ↔ Qwen-72B (0,11); последняя — две модели одной лаборатории, одного семейства, одного корпуса, и коррелируют они почти минимально. А самые связанные пары — межлабораторные и межстрановые (DeepSeek ↔ Nova‑Pro 0,66, Nova‑Pro ↔ Qwen-72B 0,73). Это режет простейшее объяснение «общий предобучающий корпус → общие ошибки»: у пары с максимально общим корпусом (Qwen/Qwen) корреляция как раз низкая.

Что тогда её создаёт — из этих данных не выделить: уровень модели, формат задания, структура самого gold на одном бенчмарке неразделимы, и я это не устанавливаю. Что установлено и от механизма не зависит: собранная максимальная провайдер‑разнородность — 4 лаборатории, 3 страны — независимости ошибок не дала (ρ̄ ≈ 0,42), и внутри диверсифицированного набора выбор «поразнее по вендору» её не чинит. Насколько сильнее коррелировали бы шесть клонов одной модели, я не мерил, поэтому не утверждаю, что разнообразие бесполезно, — только что здесь оно независимости не купило. Рычаг, если он есть, идёт по разнообразию самих ошибок (матрица выше), а не по вывеске провайдера.

Что произошло с попыткой измерить adjudication

Дальше я захотел проверить, переносится ли эффект на adjudication — где надо не сверить ответ с источником, а разрешить условие, согласовать источники, провести границу. Построил доменный зонд, прогнал, получил интересное число.

А потом увидел, что сам испортил измерение. Формат вывода, который я задал судьям — «сначала вердикт, без рассуждения», — заставлял модели угадывать на всём, что требует многошаговой работы. На арифметическом adjudication‑наборе точность в режиме verdict‑first падала до случайной (~50% на самом сложном тире), а free‑format — “сначала рассуждение, вердикт последней строкой” — возвращал её к ~96%. Это ловушка, в которую легко попасть, оптимизируя парсинг: verdict‑first удобнее разбирать программно — и именно он обнуляет рассуждение, на котором держится правильный ответ.

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

Отсюда два следствия. Первое, методологическое: формат промпта — часть экспериментального дизайна, комитет надо мерить с разрешённым рассуждением, а не загонять в verdict‑first схему. Второе, честное: перенос на adjudication я не проверил. Всё, что ниже, — про grounding‑детекцию, и только про неё.

Насколько этому можно доверять

Оговорки, которые важнее красивого числа.

Что такое n_eff, точно. Var(Σ ошибок) = kσ²(1 + (k−1)·ρ̄) — это тождество; нужно лишь примерно равенство дисперсий (равные доли ошибок судей — у меня они гуляют 0,17–0,32, так что тождество приближённо), а обменность отдельных пар не требуется, хватает среднего ρ̄. То есть n_eff корректно измеряет одно: во сколько раз корреляция раздувает дисперсию суммы голосов против независимого случая. Чего он НЕ измеряет — точность majority vote: она зависит от хвоста совместного распределения ошибок, а не от одного ρ̄. Поэтому я везде и пишу n_eff, а не «1,9 судьи».

Корреляция бинарных. Корреляция двух бинарных индикаторов (phi — это и есть Пирсон на них) зависит от маргиналов, то есть от базовой доли ошибок судьи. Значит, ρ̄ сравнимо ВНУТРИ этого эксперимента, но переносить число на бенчмарк с другой долей ошибок нельзя. Тетрахорическая альтернатива убрала бы это ценой допущения латентной нормальности — поменяла бы одну оговорку на другую.

Одна репликация — не популяция. Один ростер, один бенчмарк, n от ~50 (adjudication‑зонд) до 914 (primary). Вывод качественный: ошибки существенно коррелированы, эффективных судей заметно меньше ростера — это не точечная оценка, которую надо защищать до третьего знака. И отдельная техническая осторожность: нельзя инвертировать точность majority vote, чтобы оценить n_eff, — в высококоррелированном режиме этот приём вырождается и выдаёт значения ниже единицы.

Сам gold неидеален — и это отдельная находка. В соседнем проекте на том же RAGTruth (репозиторий llm-jury) я разбирал случаи, где все шесть судей единогласно расходились с gold‑меткой. Из ~31 такого случая 11 оказались доказуемыми ошибками разметки — правы были судьи, а не разметчики; подробный разбор — в [предыдущей статье](https://habr.com/ru/articles/1057056/). То есть эталон, против которого я вообще считаю «ошибку», сам содержит ошибки. Это ещё одна причина читать ρ̄ как качественную величину — и одновременно предупреждение всем, кто меряет что‑либо против RAGTruth gold как против истины: местами это не истина. И это бьёт по самой ρ̄: если несколько моделей одинаково расходятся с ошибочной меткой, их совпадение засчитывается как коррелированная «ошибка» — хотя они как раз правы. В какую сторону и насколько это смещает 0,42, из имеющегося не установить; честный ход — пересчёт на вручную выверенных метках (в списке ниже).

Что из этого следует для LLM‑комитетов

Практическая ставка простая. Majority vote, довод Кондорсе «больше валидаторов → точнее», апелляции с добором валидаторов — всё держится на независимости ошибок. При ρ ≈ 0,4–0,6 шесть разнообразных валидаторов несут примерно столько же независимой информации, сколько два, и каждый добавленный помогает много меньше обещанного; удвоение комитета при апелляции особенно обманчиво — стоимость вдвое, независимости чуть.

Значит ли это, что комитет бесполезен? Нет. Вердикт большинством по шести судьям даёт на этом пуле точность ≈0,80–0,83 (в зависимости от разрешения 68 ничьих 3–3 из 912) против 0,77 у среднего одиночного судьи — комитет реально страхует от слабого судьи. Но при ρ̄ ≈ 0,42 каждый следующий судья добавляет мало: выигрыш — это страховка, а не шестикратное усиление независимыми голосами. Поэтому инженерный вопрос не «полезен ли комитет», а «сколько независимости докупает шестой судья» — и ответ здесь: немного.

Оговорка про домен — первой строкой: измерено на grounding‑детекции; adjudication‑комитеты (например, GenLayer) — другой домен, перенос я не проверял, так что это не вывод про их протокол. Открытый инженерный вопрос «независимость ошибок валидаторов измеряется или предполагается?» я оформил отдельным issue (genlayerlabs/unhardcoded#98).

И проверить это у себя дёшево — без единого нового вызова модели. Рецепт тот же, что в analyze.py: для каждого судьи возьмите индикатор ошибки (вердикт ≠ эталон) по общему набору примеров, посчитайте попарные корреляции, усредните, подставьте в design‑effect — всё по уже накопленным логам. Если n_eff близок к числу судей, независимость есть; если проседает к двум‑трём при шести валидаторах — вы платите за судей, которых по сути нет.

Что осталось открытым

Ниже — законные требования к журнальной версии, а не к посту; называю их картой, а не закрываю здесь:

  • Пересчёт на исправленных метках. Часть «единогласных ошибок» — это ошибки gold. Ручная выверка спорных айтемов и пересчёт ρ̄ покажут, держится ли 0,42, когда эталон вычищен.

  • Кривая точности голосования 1→6. Реальная инженерная кривая «точность как функция размера комитета», а не только n_eff, — прямой ответ на «сколько судей брать».

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

  • Другие бенчмарки и домены. Ещё один‑два датасета и, в первую очередь, adjudication — тот самый домен, который я здесь не проверил.

  • Две оси, а не одна. Независимость без точности бесполезна: жюри стоит характеризовать парой «точность × разнообразие ошибок», а не одной корреляцией.

Ссылки

Открыт к работе в области evals и качества бенчмарков