Self-consistency prompting (PT)

From Systems analysis wiki
Jump to navigation Jump to search

Decodificação Autoconsistente (em inglês: Self-Consistency Prompting, SC) é um método ou estratégia de decodificação em engenharia de prompt, projetada para aumentar a precisão e a confiabilidade dos grandes modelos de linguagem (LLMs) ao resolver tarefas que exigem raciocínio de múltiplos passos, como quebra-cabeças aritméticos e lógicos[1]. O método foi proposto por pesquisadores do Google Research em 2022 como um aprimoramento da técnica de "cadeia de pensamento" (Chain-of-Thought, CoT).

A ideia principal é não se limitar a uma única saída "gulosa" (greedy), mas, em vez disso, gerar múltiplos caminhos de raciocínio diferentes para a mesma pergunta e, em seguida, selecionar a resposta final que aparece com mais frequência entre essas variantes. A abordagem baseia-se no princípio intuitivo de que, se um modelo, ao raciocinar por diferentes caminhos, chega repetidamente ao mesmo resultado, é altamente provável que esse resultado esteja correto[1].

Contexto e pré-requisitos

O método Self-Consistency é um desenvolvimento direto da técnica de Cadeia de Pensamento (Chain-of-Thought, CoT). A técnica CoT, proposta por Wei et al. (2022), melhorou significativamente a capacidade dos LLMs de resolver problemas complexos, incentivando o modelo a detalhar explicitamente os passos da solução[2]. No entanto, na implementação básica do CoT, utiliza-se a "decodificação gulosa" (greedy decoding), na qual o token seguinte mais provável é escolhido a cada passo. Isso cria uma limitação: se o modelo comete um erro em uma etapa inicial, ele não consegue se desviar dessa trajetória incorreta para corrigi-la. O Self-Consistency foi proposto para resolver exatamente esse problema[1].

Mecanismo de funcionamento

O algoritmo de Self-Consistency substitui a abordagem gulosa determinística por um procedimento de "amostragem seguida de agregação" e consiste nos seguintes passos[1]:

  1. Geração de múltiplos caminhos de raciocínio: Em vez de uma única resposta, o modelo gera uma solução várias vezes (por exemplo, até 40 vezes) para a mesma solicitação, usando o método de cadeia de pensamento. Para obter caminhos de raciocínio diversificados, são aplicados métodos de decodificação estocásticos, como a amostragem por temperatura (com um parâmetro de temperatura > 0).
  2. Agregação e seleção da resposta: De todas as cadeias de raciocínio geradas, são extraídas apenas as respostas finais (por exemplo, um valor numérico). Em seguida, a resposta que ocorre com mais frequência é selecionada entre elas. Essa resposta é fornecida como o resultado final.

Essa abordagem imita o princípio de "auto-ensemble", onde múltiplas saídas do mesmo modelo são usadas para aumentar a confiabilidade e suavizar erros aleatórios[3].

Eficácia e resultados

No estudo original, o Self-Consistency demonstrou um aumento significativo na precisão em vários benchmarks populares, especialmente em tarefas que exigem raciocínio aritmético e lógico.

  • No benchmark de problemas matemáticos GSM8K, a precisão do modelo PaLM-540B aumentou de 56,6% (com CoT) para 74,4% (com Self-Consistency), representando um ganho de 17,8%.
  • Em outras tarefas aritméticas, como SVAMP e AQuA, o ganho foi de +11,0% e +12,2%, respectivamente.
  • Em tarefas que exigem lógica e bom senso, como StrategyQA, a melhoria foi de +6,4%[1].

A aplicação do Self-Consistency permitiu estabelecer novos recordes de desempenho (state-of-the-art) em muitos benchmarks ao usar modelos de grande porte, como GPT-3 175B e PaLM 540B[1].

Vantagens e limitações

Vantagens

  • Aumento da precisão: Melhora significativamente os resultados em tarefas que exigem raciocínio complexo de múltiplos passos.
  • Confiabilidade: O método é mais robusto a erros que podem ocorrer em uma única cadeia de raciocínio.
  • Simplicidade de implementação: Não requer treinamento adicional ou modificação na arquitetura do modelo. O método pode ser implementado como um simples "invólucro" (wrapper) em torno de um modelo já existente.

Limitações

  • Alto custo computacional: A principal desvantagem é a necessidade de gerar a resposta várias vezes (por exemplo, 10, 20 ou 40 vezes) para uma única solicitação, o que aumenta proporcionalmente o custo e o tempo de inferência.
  • Aplicabilidade limitada: O método padrão é mais eficaz para tarefas com um formato de resposta bem definido (por exemplo, um número, "sim/não", uma opção de uma lista), onde é fácil realizar uma votação por maioria. É pouco aplicável a tarefas de geração aberta (escrever uma redação, resumir), onde as respostas são únicas em sua forma.
  • Risco de erro sistemático: Se o modelo gera sistematicamente raciocínios incorretos que, por coincidência, convergem para a mesma resposta errada, o Self-Consistency não apenas não corrigirá o erro, mas também reforçará a confiança nele.

Desenvolvimento do método: Universal Self-Consistency

A limitação do método básico em tarefas com formato de resposta livre foi abordada em pesquisas subsequentes. No final de 2023, um grupo de pesquisadores do Google DeepMind propôs a abordagem Universal Self-Consistency (USC)[4].

No USC, em vez de uma simples votação sobre as respostas finais, o próprio LLM é usado como um "juiz" para a agregação. O modelo gera várias versões completas da solução e, em seguida, recebe um novo prompt solicitando que escolha a "mais consistente" ou de "maior qualidade" entre elas. Essa abordagem permite aplicar os princípios de autoconsistência a tarefas com formato de resposta aberto e criativo[5].

Leitura adicional

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

Notas

  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]