Self-consistency prompting (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

Samouzgodniowane dekodowanie (ang. Self-Consistency Prompting, SC) — to metoda lub strategia dekodowania w prompt inżynierii, przeznaczona do zwiększania dokładności i niezawodności dużych modeli językowych (LLM) przy rozwiązywaniu zadań wymagających wieloetapowego rozumowania, takich jak arytmetyczne i logiczne łamigłówki[1]. Metoda została zaproponowana przez badaczy z Google Research w 2022 roku jako udoskonalenie techniki „łańcucha myśli" (Chain-of-Thought, CoT).

Główna idea polega na tym, aby nie ograniczać się do jednego, jedynego „zachłannego" wnioskowania, lecz zamiast tego wygenerować wiele różnych wariantów rozumowania dla tego samego pytania, a następnie wybrać końcową odpowiedź, która pojawia się najczęściej spośród tych wariantów. Podejście opiera się na intuicyjnej zasadzie: jeśli model, rozumując różnymi ścieżkami, wielokrotnie dochodzi do tego samego wyniku, to wynik ten z dużym prawdopodobieństwem jest poprawny[1].

Kontekst i przesłanki

Metoda Self-Consistency jest bezpośrednim rozwinięciem techniki Chain-of-Thought (CoT). Technika CoT, zaproponowana przez Wei i współautorów (2022), znacznie poprawiła zdolność LLM do rozwiązywania złożonych zadań, skłaniając model do jawnego zapisywania kroków rozwiązania[2]. Jednak w podstawowej implementacji CoT stosowane jest „zachłanne dekodowanie" (greedy decoding), przy którym na każdym kroku wybierany jest najbardziej prawdopodobny następny token. Stwarza to ograniczenie: jeśli model na wczesnym etapie popełni błąd, nie może odejść od tej błędnej trajektorii i jej poprawić. Self-Consistency został zaproponowany właśnie w celu rozwiązania tego problemu[1].

Mechanizm działania

Algorytm Self-Consistency zastępuje deterministyczne zachłanne podejście procedurą „próbkowania z następującą agregacją" i składa się z następujących kroków[1]:

  1. Generowanie wielu ścieżek rozumowania: Zamiast jednej odpowiedzi, model wielokrotnie (np. do 40 razy) generuje rozwiązanie dla tego samego zapytania, korzystając z metody łańcucha myśli. W celu uzyskania zróżnicowanych ścieżek rozumowania stosowane są stochastyczne metody dekodowania, takie jak próbkowanie temperaturowe (z parametrem temperatury > 0).
  2. Agregacja i wybór odpowiedzi: Ze wszystkich wygenerowanych łańcuchów rozumowania wyodrębniane są wyłącznie końcowe odpowiedzi (np. wartość liczbowa). Następnie spośród tych odpowiedzi wybierana jest najczęściej występująca. Ta właśnie odpowiedź jest zwracana jako końcowa.

Podejście to naśladuje zasadę „samoansamblowania", gdzie wiele wyników tej samej modelu jest wykorzystywanych do zwiększenia niezawodności i wygładzenia losowych błędów[3].

Skuteczność i wyniki

W oryginalnym badaniu Self-Consistency wykazał istotny wzrost dokładności na szeregu popularnych benchmarków, szczególnie w zadaniach wymagających rozumowania arytmetycznego i logicznego.

  • Na benchmarku zadań matematycznych GSM8K dokładność modelu PaLM-540B wzrosła z 56,6% (z CoT) do 74,4% (z Self-Consistency), co stanowiło wzrost o 17,8%.
  • Na innych zadaniach arytmetycznych, takich jak SVAMP i AQuA, wzrost wyniósł odpowiednio +11,0% i +12,2%.
  • Na zadaniach wymagających logiki i zdrowego rozsądku, takich jak StrategyQA, poprawa wyniosła +6,4%[1].

Zastosowanie Self-Consistency pozwoliło ustanowić nowe rekordy wydajności (state-of-the-art) na wielu benchmarkach przy użyciu dużych modeli, takich jak GPT-3 175B i PaLM 540B[1].

Zalety i ograniczenia

Zalety

  • Zwiększenie dokładności: Znacznie poprawia wyniki w zadaniach wymagających złożonego wieloetapowego rozumowania.
  • Niezawodność: Metoda jest bardziej odporna na błędy, które mogą pojawić się w jednym, jedynym łańcuchu rozumowania.
  • Prostota implementacji: Nie wymaga dodatkowego treningu ani zmiany architektury modelu. Metodę można zaimplementować jako prostą „nakładkę" wokół już istniejącego modelu.

Ograniczenia

  • Wysokie koszty obliczeniowe: Główną wadą jest konieczność wielokrotnego generowania odpowiedzi (np. 10, 20 lub 40 razy) dla jednego zapytania, co proporcjonalnie zwiększa koszt i czas wnioskowania.
  • Ograniczona stosowalność: Standardowa metoda jest najbardziej skuteczna w zadaniach z wyraźnie określonym formatem odpowiedzi (np. liczba, „tak/nie", wariant z listy), gdzie łatwo przeprowadzić głosowanie większościowe. Słabo nadaje się do zadań z otwartą generacją (pisanie eseju, streszczanie), gdzie odpowiedzi są z natury unikalne pod względem formy.
  • Ryzyko systematycznego błędu: Jeśli model systematycznie generuje błędne rozumowania, które przypadkowo zbiegają się do tej samej nieprawidłowej odpowiedzi, Self-Consistency nie tylko nie poprawi błędu, ale wzmocni pewność co do niego.

Rozwój metody: Universal Self-Consistency

Ograniczoność podstawowej metody w zadaniach z wolną formą odpowiedzi została podjęta w kolejnych badaniach. Pod koniec 2023 roku grupa badaczy z Google DeepMind zaproponowała podejście Universal Self-Consistency (USC)[4].

W USC zamiast prostego głosowania po końcowych odpowiedziach, do agregacji wykorzystywany jest sam LLM w roli „sędziego". Model generuje kilka pełnych wariantów rozwiązania, a następnie otrzymuje nowy prompt z prośbą o wybranie spośród nich „najbardziej spójnego" lub „najwyższej jakości". Podejście to pozwala stosować zasady samouzgodniowania do zadań z otwartym i kreatywnym formatem odpowiedzi[5].

Odnośniki

  • Self-Consistency Improves Chain of Thought Reasoning in Language Models — oryginalna praca naukowa od Google Research.
  • Self-Consistency — przewodnik na Prompt Engineering Guide.

Literatura

  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Aggarwal, P. et al. (2023). Let's Sample Step by Step: Adaptive-Consistency for Efficient Reasoning and Coding with LLMs. arXiv:2305.11860.
  • Chen, X. et al. (2023). Universal Self-Consistency with Large Language Models. arXiv:2311.17311.
  • Knappe, T. et al. (2024). Semantic Self-Consistency: Enhancing Language Model Reasoning via Semantic Weighting. arXiv:2410.07839.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Li, T. et al. (2024). Improving Faithfulness of Large Language Models in Summarization via Sliding Generation and Self-Consistency. arXiv:2407.21443.
  • Byerly, A.; Khashabi, D. (2024). How Effective Is Self-Consistency for Long-Context Problems?. arXiv:2411.01101.
  • Novikova, J. et al. (2025). Consistency in Language Models: Current Landscape, Challenges, and Future Directions. arXiv:2505.00268.
  • Admoni, S. et al. (2025). Towards Large Language Models with Self-Consistent Natural Language Explanations. arXiv:2506.07523.

Przypisy

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Wang, X., Wei, J., Schuurmans, D., et al. (2022). «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv. [1]
  2. Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». NeurIPS 2022.
  3. «Self-Consistency Improves Chain of Thought Reasoning in Language Models - Summary». Portkey. [2]
  4. Chen, X., et al. (2023). «Universal Self-Consistency with Large Language Models». arXiv. [3]
  5. «Universal Self-Consistency with Large Language Models». Google DeepMind Publications. [4]