Сертификация меток LLM по слепой человеческой выборке
Оставляйте метки LLM только там, где слепая случайная выборка людей даёт ошибку ниже цели, а распространённость сообщайте с интервалами с поправкой по модели.
Чтобы решить, какие метки LLM оставить, не проверяя каждую, дайте людям разметить слепую случайную выборку, выберите порог уверенности на половине этой выборки и проверьте на другой половине, что доля ошибок среди меток выше порога меньше вашей цели. Для показателей распространённости скорректируйте оценку модели по её ошибкам на той же выборке. Получится интервал, который остаётся корректным, насколько бы хороша ни была модель.
Распространённый способ проверить метки LLM таков: прочитать несколько десятков выводов и, если они выглядят верно, выпустить набор данных с фразой вроде «данные разметила LLM, мы проверили выборочно». Эта фраза не говорит, как часто метки ошибочны, и рецензент не может понять, поймала бы проверка долю ошибок в 15% или нет. Проверка, на которую можно опереть число, отвечает на три вопроса: какие машинные метки оставить, насколько ошибается доля, посчитанная по машинным меткам, и может ли модель заменить человека.
Смещение в выборочных проверках и просмотренной предразметке
Две привычки заставляют машинную метку выглядеть лучше, чем она есть. Первая состоит в том, чтобы проверять объекты, в которых модель была меньше всего уверена. Так ошибки находятся быстро, но проверенные объекты не являются выборкой из набора данных, поэтому доля ошибок на них ничего не говорит об остальных. Вторая состоит в том, чтобы измерять согласие на метках, которые люди ставили, видя ответ модели на экране. Подсказка тянет ответ к себе, поэтому согласие, измеренное на просмотренной предразметке, выше согласия, измеренного вслепую. Подробнее об этом смещении автоматизации написано в руководстве Предразметка с помощью LLM.
Поэтому проверке, на которую можно опереть число, нужны три свойства. Проверяемые объекты отбираются случайно с известными вероятностями включения. Люди, которые их размечают, не видят ответа модели. Метки, по которым выбирается правило, отличаются от меток, на которых его проверяют.
Селективное предсказание и селективный риск
Селективное предсказание означает, что модель размечает только те объекты, где её уверенность превышает порог, а от остальных воздерживается, и они уходят людям. Контролировать нужно селективный риск, то есть долю ошибок среди меток, которые модель оставляет. Например, порог, при котором остаётся 70% объектов с долей ошибок 4%, бывает полезнее модели, которая размечает всё с ошибкой 12%.
Если выбирать порог и проверять его на одних и тех же метках, его качество будет завышено, поэтому человеческую выборку делят. Одна половина, dev-часть, выбирает порог. Другая, cert-часть, проверяет его односторонним биномиальным тестом гипотезы о том, что ошибка среди принятых меток выше цели. Если эта гипотеза отвергнута, порог сертифицирован с заявленным доверием. Learn-then-Test (Angelopoulos et al., 2025) рассматривает выбор порога как задачу множественной проверки гипотез. Одна из его процедур проверяет пороги-кандидаты в фиксированном порядке и останавливается на первом непрошедшем, что позволяет перепробовать несколько порогов, не теряя гарантии.
Этим тестам нужны выборки крупнее, чем у большинства выборочных проверок. Допустим, цель такова: не более 10% ошибок с доверием 90%, и это первый тест одной модели без разбиения по классам, который Potato проводит на уровне около 0,06 (почему, объясняется в следующем разделе). При 100 принятых метках в cert-части тест проходит, только если ошибочных не больше 5. Цели в 5% нужно не больше 1 ошибочной метки на 100 или не больше 4 на 200. Модель с истинной долей ошибок 7% проходит этот первый тест примерно в 29% случаев при 100 принятых cert-метках и примерно в 56% при 300.
Повторные тесты и бюджет ошибки
После первого теста люди продолжают размечать, и если перезапускать тест, пока он не пройдёт, 10-процентный шанс получить неверный сертификат превратился бы в гораздо больший. Одно из решений состоит в том, чтобы давать каждому тесту всё меньшую долю бюджета ошибки. Potato выделяет тесту номер k долю 6 / (pi^2 k^2) допустимой ошибки, так что первый тест получает 61%, второй 15%, а сумма долей по всем возможным тестам равна всему бюджету. Попытка с новым промптом или новой моделью считается новым тестом, потому что это ещё один шанс пройти по случайности.
Распространённость и prediction-powered inference
Многим исследованиям нужна скорее доля, чем набор данных, например доля токсичных постов или доля успешных запусков агента. Подсчёт машинных меток даёт смещённую долю всякий раз, когда ошибки модели склоняются в одну сторону. Подсчёт только по человеческой выборке даёт несмещённую долю, но с широким интервалом.
Prediction-powered inference (Angelopoulos et al., 2023) объединяет оба подхода. Метод считает долю по машинным меткам на всех объектах, а затем корректирует её на среднюю ошибку модели на размеченной людьми выборке. Интервал корректен при любом качестве модели. PPI++ подбирает, какой вес получают машинные метки, так что хорошая модель делает интервал уже, чем могли бы одни люди, а плохая не делает его шире. Если человеческая выборка отбиралась с неравными вероятностями, ту же роль играет разностная оценка Хорвица-Томпсона.
В примере с трассами агентов, который поставляется с Potato, LLM-судья оценил 288 синтетических трасс агентов, написанных для примера, каждую с эталонным исходом, и заявил, что успешны 76%. Интервал prediction-powered inference по тому же судье и человеческой выборке составил 0,66 [0,57; 0,76], а эталонная доля в данных была 0,60. Судья был прав на 80% отдельных трасс и всё равно завысил долю на 16 пунктов, потому что его ошибки склонялись к «успеху».
Тест альтернативного разметчика
Фиксированная цель по точности может оказаться не тем вопросом, когда люди расходятся во мнениях. Если два внимательных разметчика согласны на 85% объектов, ни про одного разметчика нельзя показать, что он «прав» на 95%, потому что эталон тоже зашумлён. Тест альтернативного разметчика (Calderon et al., 2025) вместо этого задаёт относительный вопрос. Исключая по очереди каждого человека, он проверяет, согласуется ли модель с остальными людьми не реже, чем исключённый человек, в пределах допуска. Ему нужны объекты, размеченные несколькими людьми, и реализация в Potato ждёт как минимум трёх разметчиков по 30 объектов у каждого. Версия этого сравнения на основе каппы и проверка калибровки судьи описаны в руководстве Согласие LLM-судьи с людьми.
Контракты в движке разметки Potato
Начиная с версии 2.11, движок разметки Potato проводит эти тесты в виде контрактов. Он отбирает слепую случайную выборку, показывает её разметчикам со скрытыми машинными ответами, делит на dev и cert и сертифицирует по мере поступления меток. Эта конфигурация оставляет метки тональности от LLM там, где ошибочных не более 10% с доверием 90%, и сообщает распространённость каждой метки с 90-процентным интервалом:
assignment_strategy: engine
labeling_engine:
enabled: true
sources:
- id: llm
kind: llm
endpoint_type: vllm
model: google/gemma-4-12B-it-qat-w4a16-ct
base_url: http://localhost:8001/v1
confidence: {method: logprob}
contracts:
- id: accuracy
kind: selective_risk
schema: sentiment
error: 0.1
confidence: 0.9
- id: prevalence
kind: ppi
schema: sentiment
confidence: 0.9
budgets:
human_labels: 400Значение confidence 0.9 используется в Potato по умолчанию для всех контрактов. Источник берёт уверенность из логарифмов вероятностей токенов, потому что порогу нужна уверенность, которая отделяет верные ответы от неверных, а уверенность, которую модель называет словами, наименее надёжна из методов, которые предлагает Potato. Текстовый пример Potato прогоняет 481 отзыв, где первой стоит Laya, а эта LLM служит последним уровнем. В этом прогоне контракт на 10% был выполнен на 165 человеческих метках, и движок принял 316 машинных меток, все от LLM, потому что порог Laya так и не был зафиксирован. Их измеренная ошибка относительно эталонных меток составила 7,6%. potato label certificate config.yaml выводит, что проверялось, на скольких метках и с какими версиями модели и промпта.
Пределы сертификации по слепой выборке
Каждая из этих гарантий касается согласия с людьми, разметившими выборку. Если они небрежны или плохо обучены, выполненный контракт сертифицирует согласие с небрежными людьми, поэтому прежде чем доверять сертификату, проверьте разметчиков через перекрытие и контроль качества.
Уверенность, которая никогда не меняется, не даёт порогу ничего разделить. Судья в примере с трассами агентов ставил уверенность 1,0 каждой трассе, поэтому ни один порог не мог пройти, и Potato помечает такой контракт как infeasible, а не принимает всё подряд. Интервал распространённости на тех же данных всё равно сработал, потому что от уверенности он не зависит.
В субъективных задачах, где люди расходятся по причинам, которые сами являются частью данных, единственного верного ответа на объект может не быть. Тогда сравнивайте распределение меток модели с тем, как расходятся люди. Это сообщает контракт distributional в Potato, сопоставляя результат с потолком шума, оценённым по половинам выборки. Запустите potato label status config.yaml после первого прохода, чтобы увидеть, сколько ещё человеческих меток нужно каждому контракту, прежде чем он сможет пройти.
Что дальше
- Контракты движка разметки с параметрами и режимами отказа каждого контракта
- Согласие LLM-судьи с людьми и предразметка с помощью LLM
- Labels With Error Bars о неопределённости в самих человеческих метках
- Сравнение ИИ-авторазметки о том, что шесть инструментов разметки сообщают о машинных метках
Литература
- Angelopoulos, A. N., Bates, S., Candès, E. J., et al. (2025). Learn then test: Calibrating predictive algorithms to achieve risk control. The Annals of Applied Statistics. https://doi.org/10.1214/24-AOAS1998
- Angelopoulos, A. N., Bates, S., Fannjiang, C., et al. (2023). Prediction-powered inference. Science, 382(6671). https://doi.org/10.1126/science.adi6000
- Angelopoulos, A. N., Duchi, J. C., and Zrnic, T. (2023). PPI++: Efficient prediction-powered inference. arXiv. https://arxiv.org/abs/2311.01453
- Calderon, N., Reichart, R., and Dror, R. (2025). The alternative annotator test for LLM-as-a-judge: How to statistically justify replacing human annotators with LLMs. Proceedings of ACL 2025. https://aclanthology.org/2025.acl-long.782/