Chain-of-Verification (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Chain-of-Verification (CoVe) — това е метод, предложен за намаляване на броя на халюцинациите (генериране на фактически неверни, но правдоподобни отговори) в големите езикови модели (LLM)[1]. Подходът, разработен от група изследователи от Meta AI под ръководството на Шехзаад Дулиавала (Shehzaad Dhuliawala) и представен в труда „Chain-of-Verification Reduces Hallucination in Large Language Models" (2023), се отнася към класа методи за самопроверка и самокорекция (self-verification) на LLM[2]. Основната идея на CoVe се състои в поетапна проверка на генерирания отговор от самия модел без привличане на външни източници[2]. Това насърчава системата да отделя повече „разумни" усилия за самоанализ на отговора и за поправяне на собствените си грешки, преди да представи отговора на потребителя[2].

Фон: халюцинации в езиковите модели

Големите езикови модели (LLM) нерядко страдат от феномена „халюцинации" – генериране на отговори, които изглеждат правдоподобно, но са фактически неверни[3]. Този проблем е широко признат като нерешен в областта на NLP: дори съвременните модели могат с висока увереност да предоставят невярна информация, въвеждайки потребителите в заблуждение[1]. Например, моделът може убедително да „измисли" несъществуващ факт или да обърка биографичните данни на известна личност. Тъй като подобни фактически грешки са трудни за откриване без детайлна проверка, изследователите активно разработват методи за намаляване на броя на халюцинациите в отговорите на LLM.

Етапи на метода CoVe

Методът Chain-of-Verification се реализира чрез четири последователни стъпки[2][2]:

  1. Генериране на базов отговор. Моделът без специални инструкции генерира първоначален отговор на изходната заявка (базова хипотеза на отговора)[3]. Този чернови отговор служи като отправна точка и може да съдържа халюцинации, които предстои да бъдат открити в следващите стъпки.
  2. Планиране на проверочни въпроси. Разполагайки с изходния въпрос и генерирания отговор, моделът формулира списък с уточняващи въпроси, които проверяват фактическата правилност на твърденията от базовия отговор[3]. Тези verification questions са насочени към ключовите факти на отговора и помагат за разкриване на възможни грешки или неточности.
  3. Извършване на проверката (верификация). След това моделът последователно и независимо отговаря на всеки от формулираните проверочни въпроси, като се стреми да не се опира на първоначалния отговор, за да избегне предубеденост[3]. Получените отговори се сравняват с изходния отговор за откриване на противоречия или грешки: по този начин се установяват участъци от изходния отговор, които не се потвърждават от фактите.
  4. Формиране на финалния отговор. Накрая, въз основа на откритите несъответствия моделът генерира коригиран окончателен отговор[3]. В този отговор се внасят корекции с оглед резултатите от проверката, което повишава фактическата му точност и намалява вероятността от халюцинации.

Всеки от тези етапи се изпълнява чрез допълнителни заявки към същия LLM, но с различни инструкции[2]. Тоест моделът последователно играе ролята на отговарящ, след това на проверяващ (задава въпроси и отговаря на тях), и накрая на редактор на финалния извод.

Варианти на реализация на проверката

Авторите на метода изпробваха няколко режима за реализация на стъпката на верификация, различаващи се по начина на задаване и получаване на отговори на проверочните въпроси[2]:

  • Съвместен подход (Joint). Моделът генерира едновременно самите проверочни въпроси и отговорите на тях в рамките на една-единствена заявка. Този вариант е по-малко предпочитан, тъй като моделът, отговаряйки веднага, може да халюцинира факти и да повтаря грешките на изходния отговор поради изместване[3].
  • Двуетапен подход (2-Step). Проверочните въпроси първо се генерират с отделна заявка, а след това в следваща заявка моделът отговаря на формирания списък с въпроси[3]. Разделянето на етапите помага да се избегне влиянието на изходния отговор при генерирането на въпросите.
  • Раздельна проверка (Factored). Моделът отговаря по отделно на всеки проверочен въпрос, използвайки няколко последователни заявки (по една на въпрос)[3]. Такъв подход предотвратява простото копиране на фрагменти от изходния отговор: отговорите на проверочните въпроси се формулират автономно, което намалява риска от повторение на първоначалната халюцинация. Недостатък е нарасналата изчислителна стойност, тъй като броят на заявките нараства пропорционално на броя на въпросите.
  • Раздельна проверка с преразглеждане (Factored + Revise). След получаването на отговорите на всички проверочни въпроси моделът извършва допълнителен етап на сравнение и ревизия. С помощта на отделна заявка той съпоставя получените факти с изходния отговор и явно отбелязва несъответствията, след което генерира финалния отговор с корекциите[3]. Тази допълнителна стъпка кара системата по-внимателно да анализира разминаванията и да интегрира коригираните сведения в окончателния извод.

Експериментални резултати

Методът Chain-of-Verification беше изпитан върху редица задачи, чувствителни към фактическата точност на отговорите[1]. Сред тях бяха: въпроси за изброяване на факти по база от знания (списъци от Wikidata и категории на Wikipedia), въпроси с множество отговори от различни части на текста (MultiSpanQA), както и задачи за генериране на разгърнат текст (например биографии)[1].

Резултатите показаха значително намаляване на халюцинациите по всички типове задания при използване на CoVe в сравнение с изходните модели без самопроверка[1]. Особено ефективен се оказа вариантът factored + revise – раздельна проверка с финално сверяване на фактите. Този подход даде най-добри показатели за точност: например, при задачата за генериране на биографичен текст прилагането на CoVe към модела LLaMA-65B (65-милиарден LLM) повиши фактологичната му метрика FactScore от ~63,7 до ~71,4 точки[2]. Повишаването на FactScore показва, че финалните отговори са започнали да съдържат повече проверени факти и по-малко измислени сведения.

Нещо повече, LLM с включена верига за проверка успя да надмине дори някои по-мощни или специално оборудвани системи. Така LLAMA-65B с CoVe показа по-висок FactScore от ChatGPT (модел на OpenAI) и изпревари Perplexity.ai — модел, допълнен с интернет търсене за фактическа подкрепа на отговорите[2]. Това е забележително, тъй като Perplexity използва външни източници за търсене на информация, докато CoVe постига подобрение на качеството, разчитайки единствено на вътрешните способности на самия модел за разсъждение и самопроверка[2]. Вярно е, че при най-редките факти (когато се изискват специфични знания) retrieval-системата от типа Perplexity все още запазва предимство, но при повечето въпроси CoVe даде по-точни отговори[2].

Ограничения и перспективи

Трябва да се отбележи, че макар Chain-of-Verification да намалява забележимо дела на халюцинациите, методът не е в състояние да ги елиминира напълно. Моделът все още може да допусне грешки, ако проверочните въпроси не са обхванали някоя неправилна подробност или ако самият LLM не знае правилния факт. Освен това CoVe повишава изчислителното натоварване: за една потребителска заявка се налага да се извършат няколко последователни обръщения към модела (генериране на отговор, генериране на въпроси, отговори на тях, финално сглобяване), докато обичайният модел отговаря в една стъпка[2]. Независимо от това, авторите показват, че по съвкупните разходи CoVe е съпоставим с другите многоетапни подходи за разкриване на халюцинации и остава практично решение[2].

В своя труд изследователите от Meta AI посочиха възможни насоки за подобряване на метода. Един от очевидните пътища е съчетаването на CoVe с използване на външни инструменти, например включване на модул за интернет търсене или бази от знания на етапа на верификация[2]. Това би позволило да се получават достоверни сведения отвън и още по-надеждно да се потвърждават или опровергават фактите от изходния отговор. По този начин Chain-of-Verification служи като стъпка към по-отговорни и точни AI-системи: той демонстрира, че като накараме модела критично да преразгледа собствения си отговор, може съществено да се повиши качеството му и да се намали разпространението на измислени факти в генерирания текст[2].

Препратки

  • Оригинална статия „Chain-of-Verification Reduces Hallucination in Large Language Models" в arXiv
  • Статия „Chain-of-Verification Reduces Hallucination in Large Language Models" в ACL Anthology
  • Chain of Verification (CoVe) — Understanding & Implementation — статия в Medium

Литература

  • Dhuliawala, S. et al. (2023). Chain-of-Verification Reduces Hallucination in Large Language Models. arXiv:2309.11495.
  • Manakul, P. et al. (2023). SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models. arXiv:2303.08896.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Lightman, H. et al. (2023). Let's Verify Step by Step. arXiv:2305.20050.
  • Ling, Z. et al. (2023). Deductive Verification of Chain-of-Thought Reasoning. arXiv:2306.03872.
  • Lyu, Q. et al. (2023). Faithful Chain-of-Thought Reasoning. arXiv:2301.13379.
  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.

Бележки

  1. 1.0 1.1 1.2 1.3 1.4 Dhuliawala, Shehzaad et al. «Chain-of-Verification Reduces Hallucination in Large Language Models». arXiv. [1]
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 Dhuliawala, Shehzaad et al. «Chain-of-Verification Reduces Hallucination in Large Language Models». ACL Anthology. [2]
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 chowdhury, sourajit roy. «Chain of Verification (CoVe) — Understanding & Implementation». Medium. [3]