Self-consistency prompting (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Самосъгласувано декодиране (англ. Self-Consistency Prompting, SC) — това е метод или стратегия за декодиране в prompt engineering, предназначена за повишаване на точността и надеждността на големите езикови модели (LLM) при решаване на задачи, изискващи многостъпкови разсъждения, като аритметични и логически пъзели[1]. Методът е предложен от изследователи на Google Research през 2022 година като усъвършенстване на техниката „верига на мислите" (Chain-of-Thought, CoT).

Основната идея се състои в това, да не се ограничаваме до един-единствен „алчен" извод, а вместо това да се генерират множество различни варианти на разсъждения по един и същ въпрос, след което да се избере крайният отговор, който се среща най-често сред тези варианти. Подходът се основава на интуитивния принцип: ако моделът, разсъждавайки по различни пътища, многократно стига до един и същ резултат, тогава този резултат с висока вероятност е правилен[1].

Контекст и предпоставки

Методът Self-Consistency е пряко развитие на техниката Chain-of-Thought (CoT). Техниката CoT, предложена от Wei и съавт. (2022), значително подобри способността на LLM да решават сложни задачи, като насърчава модела да описва явно стъпките на решението[2]. Въпреки това в базовата реализация на CoT се използва „алчно декодиране" (greedy decoding), при което на всяка стъпка се избира най-вероятният следващ token. Това създава ограничение: ако моделът допусне грешка в ранен етап, той не може да се отклони от тази грешна траектория и да я коригира. Self-Consistency е предложен именно за решаване на този проблем[1].

Механизъм на работа

Алгоритмът Self-Consistency замества детерминирания алчен подход с процедура „семплиране с последващо агрегиране" и се състои от следните стъпки[1]:

  1. Генериране на множество пътища на разсъждение: Вместо един отговор, моделът генерира решение за един и същ заявка няколко пъти (например до 40 пъти), използвайки метода на верига на мислите. За получаване на разнообразни пътища на разсъждение се прилагат стохастични методи на декодиране, като температурно семплиране (с параметър на температурата > 0).
  2. Агрегиране и избор на отговор: От всички генерирани вериги на разсъждения се извличат само крайните отговори (например числова стойност). След това сред тези отговори се избира най-често срещаният. Именно този отговор се предоставя като финален.

Този подход имитира принципа на „само-ансамблиране", при което множество изводи на един и същ модел се използват за повишаване на надеждността и изглаждане на случайните грешки[3].

Ефективност и резултати

В оригиналното изследване Self-Consistency демонстрира съществен ръст на точността върху редица популярни benchmark-ове, особено при задачи, изискващи аритметични и логически разсъждения.

  • На benchmark-а за математически задачи GSM8K точността на модела PaLM-540B нарасна от 56,6% (с CoT) до 74,4% (с Self-Consistency), което представлява ръст от 17,8%.
  • При други аритметични задачи като SVAMP и AQuA ръстът възлезе на +11,0% и +12,2% съответно.
  • При задачи, изискващи логика и здрав разум, като StrategyQA, подобрението е +6,4%[1].

Прилагането на Self-Consistency позволи да се установят нови рекорди на производителност (state-of-the-art) на много benchmark-ове при използване на големи модели като GPT-3 175B и PaLM 540B[1].

Предимства и ограничения

Предимства

  • Повишаване на точността: Значително подобрява резултатите при задачи, изискващи сложни многостъпкови разсъждения.
  • Надеждност: Методът е по-устойчив на грешки, които могат да възникнат в една-единствена верига на разсъждения.
  • Простота на реализация: Не изисква допълнително обучение или промяна на архитектурата на модела. Методът може да бъде реализиран като обикновена „обвивка" около вече съществуващ модел.

Ограничения

  • Високи изчислителни разходи: Основният недостатък е необходимостта от многократно генериране на отговор (например 10, 20 или 40 пъти) за един заявка, което пропорционално увеличава разходите и времето за извод.
  • Ограничена приложимост: Стандартният метод е най-ефективен за задачи с ясно определен формат на отговора (например число, „да/не", вариант от списък), при които е лесно да се проведе гласуване по мнозинство. Той се прилага трудно за задачи с отворена генерация (писане на есе, резюмиране), при които отговорите са уникални по форма.
  • Риск от систематична грешка: Ако моделът систематично генерира неверни разсъждения, които случайно се сближават към един и същ неправилен отговор, Self-Consistency не само няма да коригира грешката, но и ще засили увереността в нея.

Развитие на метода: Universal Self-Consistency

Ограничеността на базовия метод при задачи със свободна форма на отговор е адресирана в последващи изследвания. В края на 2023 година група изследователи от Google DeepMind предложи подхода Universal Self-Consistency (USC)[4].

При USC вместо просто гласуване по крайните отговори за агрегиране се използва самата LLM като „съдия". Моделът генерира няколко пълни варианта на решение, след което получава нов prompt с молба да избере от тях „най-съгласувания" или „най-качествения". Този подход позволява прилагане на принципите на самосъгласуваност към задачи с отворен и творчески формат на отговора[5].

Връзки

  • Self-Consistency Improves Chain of Thought Reasoning in Language Models — оригинална научна статия от Google Research.
  • Self-Consistency — ръководство в Prompt Engineering Guide.

Литература

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

Бележки

  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]