🧙‍♂️ Intermediário🟦 Autoconsistência

Autoconsistência

🟦 This article is rated medium
Reading Time: 2 minutes
Last updated on August 7, 2024

Sander Schulhoff

A autoconsistênciaé uma abordagem que simplesmente pergunta a um modelo a mesma prompt várias vezes e leva o resultado da maioria das respostas como resposta final. É uma continuação da abordagem da Cadeia de Pensamento (CdP ou CoT:Chain of Thought, em inglês) e é ainda mais poderosa quando usada em conjunto.

Exemplo

Vamos considerar um exemplo simples de análise de e-mails. Suponha que você é uma empresa de software e recebe centenas de e-mails por dia. Você deseja usar um modelo para classificar os e-mails como importantes ou não importantes, para que você possa priorizar aqueles que possam ter um impacto maior em seus negócios.

Abaixo um exemplo de um e-mail que você pode receber:

Olá,

Eu descobri uma grande vulnerabilidade de segurança em seu sistema. Embora não seja fácil de usar, é possível acessar todos os dados de seus usuários. Eu anexei uma prova do problema. Por favor, corrija esse problema o mais rápido possível.

Saudações,

Donny

Vamos colocar isso em um prompt:

Olá,

Eu descobri uma grande vulnerabilidade de segurança em seu sistema. Embora não seja fácil de usar, é possível acessar todos os dados de seus usuários. Eu anexei uma prova do problema. Por favor, corrija esse problema o mais rápido possível.

Saudações,

Donny

Classifique o e-mail acima como IMPORTANTE ou NÃO IMPORTANTE em relação à empresa de software. Vamos pensar passo a passo.

Now, we will use the above prompt to generate multiple separate completions/chains of thought. Here are a few examples:

{"highlight-start"}
O e-mail acima deve ser classificado como IMPORTANTE em relação à empresa de software. Ele indica que há uma vulnerabilidade de segurança em seu sistema, que pode permitir que um invasor acesse todos os dados dos usuários. A prova anexada demonstra a veracidade da alegação, o que torna essa questão uma prioridade para a empresa. Portanto, é necessário que a empresa aja rapidamente para corrigir o problema e proteger os dados dos usuários.
{"highlight-end"}
{"highlight-start"}
O remetente descobriu uma grande vulnerabilidade de segurança no sistema, mas não forneceu nenhuma prova de conceito e não é fácil de usar. Eu classificaria este e-mail como NÃO IMPORTANTE.
{"highlight-end"}
{"highlight-start"}
Este e-mail é IMPORTANTE em relação à empresa de software, pois relata uma grande vulnerabilidade de segurança em seu sistema e inclui uma prova do problema. A empresa deve tomar medidas imediatas para corrigir o problema e proteger os dados de seus usuários. Ignorar este e-mail pode levar a graves consequências para a empresa e seus clientes
{"highlight-end"}
{"highlight-start"}
Esse e-mail deve ser considerado IMPORTANTE em relação à empresa de software, pois menciona uma possível vulnerabilidade de segurança que pode permitir acesso não autorizado aos dados de seus usuários. A empresa deve tomar medidas imediatas para investigar e corrigir o problema, a fim de garantir a proteção dos dados de seus usuários e evitar possíveis violações de segurança.
{"highlight-end"}

Ao gerar muitas cadeias de pensamento e selecionar a resposta mais frequente (IMPORTANTE), podemos obter uma resposta mais consistentemente correta ao utilizar o GPT-3.

Resultados

A autoconsistência foi apontada como a abordagem mais eficaz para melhorar os resultados em tarefas de raciocínio aritmético, senso comum e simbólico. Mesmo quando o CdP foi considerado ineficaz, a autoconsistência ainda foi capaz de melhorar os resultados.

Notas

Wang et al. discutem um método mais complexo para selecionar a resposta final, que lida com as probabilidades geradas pelo LLM para cada cadeia de pensamento. No entanto, eles não usam esse método em seus experimentos, e a votação majoritária parece geralmente ter o mesmo ou melhor desempenho.

Footnotes

  1. Wang, X., Wei, J., Schuurmans, D., Le, Q., Chi, E., Narang, S., Chowdhery, A., & Zhou, D. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models.

Sander Schulhoff

Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.