Chain of Verification (CoVe)
Метод проверки по цепочке (CoVe) предлагает LLM составить ответ, задать целевые вопросы для проверки фактов, независимо ответить на каждый вопрос и пересмотреть черновик.
Chain of Verification (CoVe) — это метод промптинга, который снижает число галлюцинаций в ответах больших языковых моделей (LLM), побуждая модель проверять факты в собственном черновике. Сначала модель пишет ответ, затем планирует короткие проверочные вопросы для каждого фактического утверждения, отвечает на эти вопросы независимо от черновика и после этого формирует окончательный ответ, оставляя только подтверждённые проверкой утверждения. Шехзаад Дхулиавала и его коллеги из Meta AI представили метод в статье 2023 года Chain-of-Verification Reduces Hallucination in Large Language Models. Метод работает, потому что модели точнее отвечают на короткие целенаправленные вопросы, чем сообщают те же факты в длинном ответе: в экспериментах статьи с вопросами на перечисление только около 17% сущностей, перечисленных Llama 65B, были правильными, но та же модель правильно отвечала примерно на 70% отдельных проверочных вопросов.
Как работает Chain of Verification#
CoVe выполняет четыре шага с помощью одной и той же модели:
- Составить исходный ответ: модель отвечает на запрос обычным образом. На просьбу назвать политиков, родившихся в Нью-Йорке, она может перечислить Хиллари Клинтон, Дональда Трампа и Майкла Блумберга.
- Составить проверочные вопросы: модель анализирует черновик и формулирует по одному вопросу для каждого утверждения, которое можно проверить, например: «Где родилась Хиллари Клинтон?» и «Где родился Майкл Блумберг?»
- Независимо ответить на каждый вопрос: модель отвечает на вопросы в новых промптах, не содержащих черновик, поэтому она не может просто повторить прежнюю ошибку. Клинтон родилась в Чикаго, Блумберг — в Бостоне, а Трамп — в Куинсе.
- Составить окончательный исправленный ответ: модель сверяет черновик с полученными ответами и удаляет или исправляет каждое неподтверждённое утверждение. В этом примере в списке остаётся Трамп.
Важно, насколько строго на третьем шаге изолируется каждый вопрос. В статье сравнивались четыре варианта: совместный, в котором планирование и ответы выполняются в одном промпте, всё ещё содержащем черновик; двухэтапный, в котором на все вопросы отвечают во втором промпте без черновика; факторизованный, в котором на каждый вопрос отвечают в отдельном промпте; и factor+revise, в котором добавлена явная проверка каждого ответа относительно исходного утверждения. В каждом варианте, где черновик исключали из проверочных промптов, галлюцинаций было меньше, чем в совместном варианте: если модель видит собственный черновик, она обычно повторяет свои ошибки.
Результаты#
С Llama 65B CoVe повысил точность ответов на вопросы о списках в Wikidata с 0.17 до 0.36, а F1 на бенчмарке closed-book MultiSpanQA — с 0.39 до 0.48. В биографиях большого объёма вариант factor+revise повысил FActScore — процент атомарных фактов, подтверждённых Википедией, — с 55.9 до 71.4, превысив показатели 58.7 у ChatGPT и 61.6 у основанной на поиске PerplexityAI. За прирост приходится платить увеличением задержки инференса: для каждого вопроса проверки вариантам с факторизацией нужен один дополнительный вызов модели.
CoVe и связанные методы#
- Пошаговая генерация рассуждений: просит модель рассуждать шаг за шагом перед ответом, что помогает решать логические и математические задачи. CoVe проверяет фактические утверждения после создания черновика.
- Генерация с дополнением поиском (RAG): с самого начала основывает ответ на найденных документах. Исходный CoVe полагается только на собственные знания модели, но эти методы естественно сочетаются, если на вопросы проверки отвечают с помощью поисковой системы или индекса документов.
- Семантическая энтропия: выявляет вероятные галлюцинации, генерируя несколько ответов и измеряя, насколько расходятся их значения. CoVe идёт дальше и исправляет ответ.
- Дебаты ИИ: две модели отстаивают противоположные позиции, чтобы судья мог выявить ошибки. CoVe — одна модель, которая проверяет себя без оппонента.
Проверка утверждений с помощью инструментов#
На вопросы проверки необязательно отвечать, опираясь на память модели. Конвейеры передают их инструментам, содержащим достоверные данные: поисковой системе — для общедоступных фактов, векторной базе данных корпоративных документов или модели компьютерного зрения — для утверждений об изображении. Когда визуально-языковая модель создаёт описание изображения, модель обнаружения объектов Ultralytics YOLO26 может ответить на каждый вопрос «сколько?» по изображению независимо от черновика:
from collections import Counter
from ultralytics import YOLO
# Claims extracted from a draft caption: "A bus, four people, and a bicycle on a street"
draft_counts = {"bus": 1, "person": 4, "bicycle": 1}
# Answer each verification question with a detector that never sees the draft
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
detected = Counter(result.names[int(c)] for c in result.boxes.cls)
# Keep claims the detector confirms and mark the rest for revision
for name, claimed in draft_counts.items():
verdict = "keep" if detected[name] == claimed else f"revise to {detected[name]}"
print(f"How many '{name}'? Draft: {claimed}, detector: {detected[name]} -> {verdict}")Каждая выведенная строка содержит один вопрос проверки, утверждение из черновика, независимый ответ детектора и решение, которое применяется к итоговому описанию.
Примеры применения в реальных условиях#
- Здравоохранение: помощники, которые составляют краткий обзор медицинской литературы, проверяют названия препаратов, дозировки и взаимодействия с помощью отдельных вопросов, прежде чем обзор увидит врач.
- Ответы на вопросы: поисковые и вспомогательные системы проверяют ответы со списками, даты и биографические факты — типы утверждений, для которых в статье измерили наибольший прирост.
- Отчёты о производстве: LLM, составляющая отчёт о смене, сверяет каждый упомянутый дефект с журналами системы контроля качества, прежде чем отчёт будет отправлен.
- Обработка документов: значения, извлечённые из договоров или счетов, запрашиваются повторно по одному полю за раз и сравниваются с результатами первого извлечения.
Ограничения#
CoVe выявляет ошибки, которые модель допускает непоследовательно, но не может обнаружить ложное убеждение, которого модель придерживается во всех контекстах: независимый ответ повторит ту же ошибку. Метод проверяет фактические утверждения, не затрагивая ошибочные рассуждения между верными фактами, и увеличивает число вызовов модели для каждого ответа. Даже лучший вариант из статьи оставил неподтверждёнными 28.6% атомарных фактов в биографиях — остаток от FActScore, равного 71.4.










