Chain-of-Verification (PL)
Chain-of-Verification (CoVe) — to metoda zaproponowana w celu zmniejszenia liczby halucynacji (generowania faktycznie błędnych, lecz pozornie wiarygodnych odpowiedzi) w dużych modelach językowych (LLM)[1]. Podejście opracowane przez zespół badaczy z Meta AI pod kierownictwem Shehzaada Dhuliawali i przedstawione w pracy „Chain-of-Verification Reduces Hallucination in Large Language Models" (2023) należy do klasy metod samoweryfikacji i samokorekcji (self-verification) LLM[2]. Główna idea CoVe polega na etapowej weryfikacji wygenerowanej odpowiedzi przez sam model, bez odwoływania się do zewnętrznych źródeł[2]. Skłania to system do poświęcania większych „rozumnych" wysiłków na introspekcję odpowiedzi i korygowanie własnych błędów, zanim odpowiedź zostanie przedstawiona użytkownikowi[2].
Tło: halucynacje w modelach językowych
Duże modele językowe (LLM) często cierpią na zjawisko „halucynacji" – generowania odpowiedzi, które wyglądają wiarygodnie, lecz są faktycznie błędne[3]. Problem ten jest powszechnie uznawany za nierozwiązany w dziedzinie NLP: nawet nowoczesne modele mogą z dużą pewnością podawać fałszywe informacje, wprowadzając użytkowników w błąd[1]. Na przykład model może przekonująco „wymyślić" nieistniejący fakt lub pomylić dane biograficzne znanej osoby. Ponieważ takie błędy merytoryczne trudno wykryć bez szczegółowej weryfikacji, badacze aktywnie rozwijają metody ograniczania halucynacji w odpowiedziach LLM.
Etapy metody CoVe
Metoda Chain-of-Verification realizowana jest w czterech kolejnych krokach[2][2]:
- Generowanie odpowiedzi bazowej. Model bez specjalnych instrukcji generuje wstępną odpowiedź na pierwotne zapytanie (bazowa hipoteza odpowiedzi)[3]. Ta wersja robocza stanowi punkt wyjścia i może zawierać halucynacje, które zostaną wykryte w kolejnych krokach.
- Planowanie pytań weryfikacyjnych. Dysponując pierwotnym pytaniem i wygenerowaną odpowiedzią, model formułuje listę pytań uszczegóławiających, które sprawdzają merytoryczną poprawność twierdzeń zawartych w odpowiedzi bazowej[3]. Te verification questions celują w kluczowe fakty odpowiedzi i pomagają wykryć możliwe błędy lub nieścisłości.
- Przeprowadzenie weryfikacji. Następnie model kolejno i niezależnie odpowiada na każde z sformułowanych pytań weryfikacyjnych, starając się nie opierać na pierwotnej odpowiedzi, aby uniknąć stronniczości[3]. Uzyskane odpowiedzi są porównywane z odpowiedzią pierwotną w celu wykrycia sprzeczności lub błędów: w ten sposób identyfikowane są fragmenty pierwotnej odpowiedzi, które nie są potwierdzone faktami.
- Formowanie odpowiedzi końcowej. Na podstawie wykrytych rozbieżności model generuje poprawioną, ostateczną odpowiedź[3]. Wprowadzane są do niej korekty uwzględniające wyniki weryfikacji, co zwiększa jej merytoryczną dokładność i zmniejsza prawdopodobieństwo halucynacji.
Każdy z tych etapów realizowany jest za pomocą dodatkowych zapytań do tej samej LLM, lecz z różnymi instrukcjami[2]. Oznacza to, że model pełni kolejno rolę respondenta, następnie weryfikatora (zadaje pytania i odpowiada na nie), a wreszcie redaktora ostatecznego wyniku.
Warianty realizacji weryfikacji
Autorzy metody przetestowali kilka trybów realizacji etapu weryfikacji, różniących się sposobem zadawania i otrzymywania odpowiedzi na pytania weryfikacyjne[2]:
- Podejście łączone (Joint). Model generuje zarówno pytania weryfikacyjne, jak i odpowiedzi na nie w ramach jednego zapytania. Ten wariant jest mniej preferowany, ponieważ model, odpowiadając od razu, może halucynować fakty i powtarzać błędy z pierwotnej odpowiedzi z powodu efektu przesunięcia[3].
- Podejście dwuetapowe (2-Step). Pytania weryfikacyjne są najpierw generowane osobnym zapytaniem, a następnie w kolejnym zapytaniu model odpowiada na sformułowaną listę pytań[3]. Rozdzielenie etapów pomaga uniknąć wpływu pierwotnej odpowiedzi podczas generowania pytań.
- Weryfikacja rozdzielna (Factored). Model odpowiada osobno na każde pytanie weryfikacyjne, używając kilku kolejnych zapytań (po jednym na pytanie)[3]. Takie podejście zapobiega prostemu kopiowaniu fragmentów pierwotnej odpowiedzi: odpowiedzi na pytania weryfikacyjne formułowane są autonomicznie, co zmniejsza ryzyko powtórzenia pierwotnej halucynacji. Wadą jest zwiększony koszt obliczeniowy, gdyż liczba zapytań rośnie proporcjonalnie do liczby pytań.
- Weryfikacja rozdzielna z rewizją (Factored + Revise). Po uzyskaniu odpowiedzi na wszystkie pytania weryfikacyjne model przeprowadza dodatkowy etap porównania i rewizji. Za pomocą osobnego zapytania zestawia uzyskane fakty z pierwotną odpowiedzią i wyraźnie oznacza niezgodności, po czym generuje ostateczną odpowiedź z poprawkami[3]. Ten dodatkowy krok skłania system do dokładniejszej analizy rozbieżności i integracji poprawionych informacji w ostatecznym wyniku.
Wyniki eksperymentalne
Metoda Chain-of-Verification została przetestowana na szeregu zadań wrażliwych na merytoryczną dokładność odpowiedzi[1]. Wśród nich znalazły się: pytania dotyczące wyliczania faktów z bazy wiedzy (listy z Wikidata i kategorii Wikipedii), pytania wymagające wielu odpowiedzi z różnych części tekstu (MultiSpanQA), a także zadania generowania rozbudowanego tekstu (na przykład biografii)[1].
Wyniki wykazały znaczące zmniejszenie liczby halucynacji we wszystkich typach zadań przy zastosowaniu CoVe w porównaniu z modelami bazowymi bez samoweryfikacji[1]. Szczególnie skuteczny okazał się wariant factored + revise – weryfikacja rozdzielna z końcowym sprawdzeniem faktów. Podejście to dało najlepsze wskaźniki dokładności: na przykład w zadaniu generowania tekstu biograficznego zastosowanie CoVe do modelu LLaMA-65B (65-miliardowej LLM) podniosło jej metrykę merytoryczną FactScore z ~63,7 do ~71,4 punktów[2]. Wzrost FactScore wskazuje, że ostateczne odpowiedzi zaczęły zawierać więcej zweryfikowanych faktów i mniej wymyślonych informacji.
Co więcej, LLM z podłączoną łańcuchową weryfikacją zdołała przewyższyć nawet niektóre mocniejsze lub specjalnie wyposażone systemy. I tak LLAMA-65B z CoVe wykazała wyższy FactScore niż ChatGPT (model OpenAI) i wyprzedziła Perplexity.ai — model uzupełniony o wyszukiwanie internetowe w celu merytorycznego wsparcia odpowiedzi[2]. Jest to godne uwagi, ponieważ Perplexity korzysta z zewnętrznych źródeł do wyszukiwania informacji, podczas gdy CoVe osiąga poprawę jakości, opierając się wyłącznie na wewnętrznych zdolnościach modelu do rozumowania i samoweryfikacji[2]. Co prawda w przypadku bardzo rzadkich faktów (gdy wymagana jest specjalistyczna wiedza) system retrieval-based, taki jak Perplexity, nadal zachowuje przewagę, jednak w przypadku większości pytań CoVe dawała dokładniejsze odpowiedzi[2].
Ograniczenia i perspektywy
Należy zaznaczyć, że choć Chain-of-Verification wyraźnie zmniejsza udział halucynacji, metoda ta nie jest w stanie całkowicie ich wyeliminować. Model nadal może popełniać błędy, jeśli pytania weryfikacyjne nie objęły jakiegoś błędnego szczegółu lub jeśli sama LLM nie zna prawidłowego faktu. Ponadto CoVe zwiększa obciążenie obliczeniowe: dla jednego zapytania użytkownika konieczne jest wykonanie kilku kolejnych odwołań do modelu (generowanie odpowiedzi, generowanie pytań, odpowiadanie na nie, końcowe złożenie), podczas gdy zwykły model odpowiada w jednym kroku[2]. Niemniej jednak autorzy pokazują, że pod względem łącznych kosztów CoVe jest porównywalny z innymi wieloetapowymi podejściami wykrywania halucynacji i pozostaje praktycznym rozwiązaniem[2].
W swojej pracy badacze Meta AI wskazali możliwe kierunki ulepszenia metody. Jedną z oczywistych ścieżek jest połączenie CoVe z wykorzystaniem zewnętrznych narzędzi, na przykład podłączenie modułu wyszukiwania internetowego lub baz wiedzy na etapie weryfikacji[2]. Pozwoliłoby to pozyskiwać wiarygodne informacje z zewnątrz i jeszcze pewniej potwierdzać lub obalać fakty z pierwotnej odpowiedzi. W ten sposób Chain-of-Verification stanowi krok ku bardziej odpowiedzialnym i dokładnym systemom AI: demonstruje, że skłaniając model do krytycznego przeglądu własnej odpowiedzi, można istotnie podnieść jej jakość i zmniejszyć rozpowszechnianie wymyślonych faktów w generowanym tekście[2].
Odnośniki
- Oryginalna praca „Chain-of-Verification Reduces Hallucination in Large Language Models" na arXiv
- Artykuł „Chain-of-Verification Reduces Hallucination in Large Language Models" w ACL Anthology
- Chain of Verification (CoVe) — Understanding & Implementation — artykuł 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.
Przypisy
- ↑ 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.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.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]