Chain-of-Thought (CoT) Prompting é uma técnica avançada de engenharia de prompts que incentiva o modelo a “pensar em voz alta”, decompondo problemas em etapas intermediárias antes de chegar a uma conclusão.

Isso não apenas melhora a precisão das respostas, mas também torna o processo de “raciocínio” do modelo mais transparente e interpretável.

Depois do sucesso demonstrado pelo CoT, as empresas que treinam LLMs começaram a incluir exemplos de raciocínio passo a passo em seus dados, justamente para melhorar a interpretabilidade e a precisão dos modelos.

Então, é comum encontrar explicações antes ou depois da solução de um problema quando se usa um LLM.

Exemplo de Sucesso Prático do CoT

Meu exemplo preferido do uso prático do CoT foi no paper “Can Generalist Foundation Models Outcompete Special-Purpose Tuning? Case Study in Medicine”.

No estudo mencionado, o GPT-4, utilizando o Medprompt, superou consistentemente o desempenho de modelos especializados em medicina como o Med-PaLM 2.

O Medprompt é um prompt que usa várias técnicas de engenharia de prompts para melhorar a precisão do GPT-4 em responder perguntas médicas.

A ideia dos pesquisadores era descobrir se o GPT-4 poderia superar modelos especializados em medicina, como o Med-PaLM 2, usando apenas um prompt bem elaborado.

MedPrompt

A pesquisa demonstrou que a inclusão do CoT gerado automaticamente pelo GPT-4 foi crucial para atingir esses resultados.

Por exemplo, a adição do CoT ao Medprompt resultou em um aumento significativo de 3,4% na precisão do GPT-4 no MedQA, evidenciando o papel vital do CoT na capacidade do modelo de raciocinar e fornecer respostas precisas em contextos médicos.

Zero-Shot CoT

Esta é a abordagem mais simples e popular de usar o CoT.

Nesta abordagem, não fornecemos exemplos específicos ao modelo, simplesmente instruímos o modelo a “pensar passo a passo” ou “explicar seu raciocínio”.

Isso é particularmente útil quando não temos exemplos relevantes ou quando queremos testar a capacidade do modelo de generalizar.

Imagine que este seja seu prompt inicial:

Crie uma solução de machine learning básica para os dados do Titanic.

Este prompt, modificado para incluir instruções de CoT, poderia ser algo assim:

Crie uma solução de machine learning básica para os dados do Titanic. Primeiro, pense passo a passo e depois forneça a solução.

Few-Shot CoT

Aqui, fornecemos ao modelo alguns exemplos de respostas com raciocínio passo a passo antes de apresentar a tarefa real.

Isso ajuda o modelo a entender o formato e a profundidade do raciocínio esperado.

Em nosso exemplo, em vez de apenas instruir o modelo a “pensar passo a passo”, fornecemos exemplos de raciocínio passo a passo para tarefas semelhantes.

Aqui está um exemplo de raciocínio passo a passo para uma tarefa de classificação de spam:

Tarefa: Classificação de spam
Passos: <lista de passos ou raciocínio do modelo>
Solução: <código>

Seguindo este exemplo, crie uma solução de machine learning básica para os dados do Titanic. Primeiro, pense passo a passo e depois forneça a solução.

Você pode testar incluir as instruções de CoT ou não quando usar exemplos de raciocínio passo a passo para ver se há diferença no desempenho do modelo em seu problema específico.

E, claro, aqui usei apenas um exemplo, mas você pode fornecer vários exemplos de raciocínio passo a passo para ajudar o modelo a entender melhor o que você espera dele.

Diferença Entre Explicação Antes e Depois da Solução

Quando usamos CoT, pedimos ao modelo para explicar seu raciocínio passo a passo antes de fornecer a solução.

Pode parecer simples, mas se você considerar que a natureza destes modelos é prever a próxima palavra baseada nas anteriores, você começa a entender porque uma explicação antes da solução pode ser útil.

Isso significa que o modelo possui informações intermediárias mais detalhadas para basear suas previsões de próxima palavra, o que parece resultar em respostas mais precisas e interpretáveis.

Seja o primeiro a saber das novidades em Machine Learning. Me siga no LinkedIn.