Chain-of-Verification (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Chain-of-Verification (CoVe) — je metoda navržená ke snížení počtu halucinací (generování fakticky nesprávných, avšak věrohodně znějících odpovědí) ve velkých jazykových modelech (LLM)[1]. Přístup, vyvinutý skupinou výzkumníků z Meta AI pod vedením Shehzaada Dhuliawaly a představený v práci „Chain-of-Verification Reduces Hallucination in Large Language Models" (2023), patří do třídy metod samověření a samoopravy (self-verification) LLM[2]. Základní myšlenka CoVe spočívá v postupném ověřování vygenerované odpovědi samotným modelem bez zapojení externích zdrojů[2]. To pobízí systém, aby věnoval více „rozumného" úsilí sebeanalýze odpovědi a opravě vlastních chyb dříve, než je odpověď předložena uživateli[2].

Kontext: halucinace v jazykových modelech

Velké jazykové modely (LLM) trpí nezřídka fenoménem „halucinací" – generováním odpovědí, které vypadají věrohodně, ale jsou fakticky nesprávné[3]. Tento problém je v oblasti NLP obecně považován za nevyřešený: i moderní modely mohou s vysokou mírou jistoty poskytovat nepravdivé informace a uvádět uživatele v omyl[1]. Například model může přesvědčivě „vymyslet" neexistující fakt nebo zaměnit biografické údaje o známé osobnosti. Protože takové faktické chyby je obtížné odhalit bez podrobné kontroly, výzkumníci intenzivně pracují na metodách ke snížení počtu halucinací v odpovědích LLM.

Fáze metody CoVe

Metoda Chain-of-Verification se realizuje prostřednictvím čtyř po sobě jdoucích kroků[2][2]:

  1. Generování základní odpovědi. Model bez speciálních instrukcí vygeneruje počáteční odpověď na zadaný dotaz (základní hypotéza odpovědi)[3]. Tato hrubá odpověď slouží jako výchozí bod a může obsahovat halucinace, které mají být odhaleny v následujících krocích.
  2. Plánování ověřovacích otázek. Na základě původní otázky a vygenerované odpovědi model sestaví seznam upřesňujících otázek, které ověřují faktickou správnost tvrzení obsažených v základní odpovědi[3]. Tyto verification questions jsou zaměřeny na klíčové fakty odpovědi a pomáhají odhalit případné chyby nebo nepřesnosti.
  3. Provedení ověření (verifikace). Dále model postupně a nezávisle odpovídá na každou ze sestavených ověřovacích otázek, přičemž se snaží neopírat o původní odpověď, aby se vyhnul zkreslení[3]. Získané odpovědi jsou porovnány s původní odpovědí za účelem odhalení rozporů nebo chyb: tímto způsobem jsou identifikovány části původní odpovědi, které nejsou podloženy fakty.
  4. Tvorba finální odpovědi. Nakonec, na základě zjištěných nesrovnalostí, model vygeneruje opravenou závěrečnou odpověď[3]. Do této odpovědi jsou zapracovány opravy zohledňující výsledky ověření, čímž se zvyšuje její faktická přesnost a snižuje pravděpodobnost halucinací.

Každá z těchto fází je prováděna prostřednictvím dalších dotazů témuž LLM, avšak s odlišnými instrukcemi[2]. To znamená, že model postupně vystupuje v roli odpovídajícího, poté ověřovatele (klade otázky a odpovídá na ně) a nakonec editora finálního výstupu.

Varianty realizace ověření

Autoři metody vyzkoušeli několik režimů realizace kroku verifikace, lišících se způsobem kladení a získávání odpovědí na ověřovací otázky[2]:

  • Sloučený přístup (Joint). Model generuje jak samotné ověřovací otázky, tak odpovědi na ně v rámci jediného dotazu. Tato varianta je méně vhodná, protože model, který odpovídá okamžitě, může halucinovat fakty a opakovat chyby původní odpovědi v důsledku zkreslení[3].
  • Dvoufázový přístup (2-Step). Ověřovací otázky jsou nejprve vygenerovány samostatným dotazem a teprve poté model v následujícím dotazu odpovídá na sestavený seznam otázek[3]. Oddělení fází pomáhá vyhnout se vlivu původní odpovědi při generování otázek.
  • Oddělené ověření (Factored). Model odpovídá zvlášť na každou ověřovací otázku prostřednictvím několika po sobě jdoucích dotazů (jeden na otázku)[3]. Tento přístup zabraňuje prostému kopírování fragmentů původní odpovědi: odpovědi na ověřovací otázky jsou formulovány autonomně, čímž se snižuje riziko opakování původní halucinace. Nevýhodou jsou zvýšené výpočetní náklady, protože počet dotazů roste úměrně počtu otázek.
  • Oddělené ověření s revizí (Factored + Revise). Po získání odpovědí na všechny ověřovací otázky provede model další fázi porovnání a revize. Prostřednictvím samostatného dotazu porovná získané fakty s původní odpovědí a explicitně označí nesrovnalosti, načež vygeneruje finální odpověď s opravami[3]. Tento dodatečný krok nutí systém pečlivěji analyzovat odchylky a integrovat opravené informace do závěrečného výstupu.

Experimentální výsledky

Metoda Chain-of-Verification byla testována na řadě úloh citlivých na faktickou přesnost odpovědí[1]. Patřily mezi ně: otázky na výčet faktů z báze znalostí (seznamy z Wikidata a kategorií Wikipedie), otázky s více odpověďmi z různých částí textu (MultiSpanQA) a úlohy generování rozvinutého textu (například biografií)[1].

Výsledky ukázaly výrazné snížení halucinací napříč všemi typy úloh při použití CoVe v porovnání s původními modely bez samověření[1]. Zvláště účinnou se ukázala varianta factored + revise – oddělené ověření se závěrečným porovnáním faktů. Tento přístup dosáhl nejlepších ukazatelů přesnosti: například při úloze generování biografického textu zvýšilo použití CoVe u modelu LLaMA-65B (65miliardový LLM) jeho faktologickou metriku FactScore z přibližně 63,7 na přibližně 71,4 bodů[2]. Nárůst FactScore ukazuje, že finální odpovědi začaly obsahovat více ověřených faktů a méně vymyšlených informací.

Navíc LLM s připojeným řetězcem ověření dokázal překonat i některé výkonnější nebo speciálně vybavené systémy. LLaMA-65B s CoVe vykázala vyšší FactScore než ChatGPT (model OpenAI) a předstihla Perplexity.ai — model doplněný internetovým vyhledáváním pro faktickou podporu odpovědí[2]. To je pozoruhodné, protože Perplexity využívá externí zdroje k vyhledávání informací, zatímco CoVe dosahuje zlepšení kvality pouze díky vnitřním schopnostem samotného modelu k uvažování a samověření[2]. Na nejméně frekventovaných faktech (kdy jsou vyžadovány specifické znalosti) má retrieval systém typu Perplexity stále navrch, avšak u většiny otázek poskytl CoVe přesnější odpovědi[2].

Omezení a perspektivy

Je třeba poznamenat, že ačkoli Chain-of-Verification výrazně snižuje podíl halucinací, tato metoda je nedokáže zcela odstranit. Model může stále chybovat, pokud ověřovací otázky nepokryly nějaký nesprávný detail nebo pokud samotný LLM nezná správný fakt. Kromě toho CoVe zvyšuje výpočetní zátěž: pro jeden uživatelský dotaz je nutné provést několik po sobě jdoucích volání modelu (generování odpovědi, generování otázek, odpovědi na ně, závěrečné sestavení), zatímco běžný model odpovídá v jednom kroku[2]. Nicméně autoři ukazují, že z hlediska celkových nákladů je CoVe srovnatelný s jinými vícefázovými přístupy k odhalování halucinací a zůstává praktickým řešením[2].

Ve své práci výzkumníci Meta AI naznačili možné směry zlepšení metody. Jednou z evidentních cest je spojit CoVe s využitím externích nástrojů, například připojit modul internetového vyhledávání nebo bází znalostí ve fázi verifikace[2]. To by umožnilo získávat důvěryhodné informace z vnějšku a ještě spolehlivěji potvrzovat nebo vyvracet fakty z původní odpovědi. Chain-of-Verification tak slouží jako krok k zodpovědnějším a přesnějším AI systémům: ukazuje, že přimět model, aby kriticky přezkoumal vlastní odpověď, může výrazně zvýšit její kvalitu a omezit šíření vymyšlených faktů v generovaném textu[2].

Odkazy

  • Původní článek „Chain-of-Verification Reduces Hallucination in Large Language Models" na arXiv
  • Článek „Chain-of-Verification Reduces Hallucination in Large Language Models" v ACL Anthology
  • Chain of Verification (CoVe) — Understanding & Implementation — článek na Medium

Literatura

  • 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.

Poznámky

  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]