Tudo o que você precisa saber sobre o Prompting Automático de Cadeia de Pensamento em Grandes Modelos de Linguagem

Tudo o que você precisa saber sobre o Prompting Automático de Cadeia de Pensamento em Grandes Modelos de Linguagem

Introdução

O que é o Prompting Automático de Cadeia de Pensamento em grandes modelos de linguagem? Neste blog, vamos dividir essa questão em pequenas partes, começando pela definição de Chain of Thought (CoT) Prompting, passando pelas vantagens e desenvolvimento do Auto CoT. Por fim, discutiremos a LLM API como parte essencial da aplicação do Auto CoT. Fique atento para explorar o poderoso Auto CoT!

O que é CoT Prompting?

Chain-of-Thought (CoT) Prompting é uma técnica usada para melhorar as capacidades de raciocínio de grandes modelos de linguagem (LLMs). LLMs, como o GPT-3, têm demonstrado desempenho notável em diversas tarefas, incluindo resposta a perguntas, geração de texto e resolução de problemas.

No entanto, em muitas tarefas de raciocínio complexo, os LLMs podem ter dificuldade em fornecer uma solução completa e coerente passo a passo. O CoT Prompting visa resolver isso, solicitando que o modelo de linguagem gere uma “cadeia de pensamento” — uma sequência de etapas intermediárias de raciocínio que levam à resposta final.

A ideia central por trás do CoT Prompting é fazer com que o modelo de linguagem pense explicitamente sobre um problema, em vez de apenas fornecer uma resposta direta. Isso é feito normalmente incluindo um prompt como “Vamos pensar passo a passo” ou “Explique seu raciocínio” junto com a pergunta ou problema de entrada. O CoT Prompting pode levar a saídas mais precisas e explicáveis, especialmente em tarefas complexas de várias etapas.

Por que precisamos do Auto CoT?

O problema principal é que existem duas abordagens principais para o prompting de chain-of-thought (CoT), e ambas têm desvantagens significativas.

Limitações do Zero-Shot-CoT

Nesta abordagem, você simplesmente dá ao modelo de linguagem (LM) uma pergunta e pede que ele “pense passo a passo” para chegar à resposta. A vantagem é que é muito fácil de usar — você não precisa fornecer nenhuma informação adicional ou exemplos. No entanto, a grande desvantagem é que o raciocínio passo a passo do LM muitas vezes pode ser falho ou conter erros. Portanto, a resposta final pode não ser confiável.

Limitações do Manual-CoT

Esta abordagem envolve criar manualmente exemplos detalhados para o LM, mostrando como dividir um problema em etapas lógicas e chegar à resposta correta. Ao fornecer esses exemplos cuidadosamente elaborados, o LM pode usar esse conhecimento para resolver melhor novas perguntas. O benefício é que o raciocínio do LM se torna mais robusto e preciso quando ele pode consultar os exemplos manuais. Mas a grande desvantagem é que criar esses exemplos detalhados é extremamente demorado e requer muito esforço e conhecimento humano. Não é nada escalável.

Superando Limitações com Auto-CoT

Resumindo, o Zero-Shot-CoT é fácil, mas não confiável, enquanto o Manual-CoT é mais robusto, mas muito trabalhoso. Este é o principal desafio que os autores tentam resolver com sua abordagem proposta “Auto-CoT”.

A ideia central do Auto-CoT defendida por alguns estudiosos é gerar automaticamente os exemplos de demonstração que o LM pode usar, sem exigir esforço humano manual. Isso poderia potencialmente combinar os benefícios de ambas as abordagens existentes — raciocínio confiável, mas de forma mais escalável.

Como as pessoas desenvolveram o Auto CoT?

Nesta seção, vamos explorar os detalhes do artigo intitulado “Automatic Chain of Thought Prompting in Large Language Models” de Zhuosheng Zhang, Aston Zhang, Mu Li e Alex Smola, publicado em 2022. Se você não tem interesse nos detalhes da pesquisa, fique à vontade para pular para a próxima seção.

Abordagem Proposta

Para superar as limitações das abordagens CoT existentes, os autores propõem um paradigma “Auto-CoT” que constrói automaticamente demonstrações para o prompting CoT.

As etapas principais são:

  1. Utilizar LLMs com o prompt “Vamos pensar passo a passo” para gerar cadeias de raciocínio para perguntas de demonstração.
  2. Reconhecer que as cadeias de raciocínio geradas podem conter erros, os autores focam em garantir diversidade nas perguntas de demonstração selecionadas.
  3. Os autores desenvolvem uma abordagem em duas etapas para construir automaticamente as demonstrações: a. Particionar as perguntas do conjunto de dados em clusters com base na similaridade. b. Selecionar uma pergunta representativa de cada cluster e gerar sua cadeia de raciocínio usando Zero-Shot-CoT.

Avaliação

Os autores avaliam a abordagem Auto-CoT com GPT-3 em dez tarefas de raciocínio de benchmark, incluindo raciocínio aritmético, de senso comum e simbólico. Eles comparam o desempenho com os paradigmas Zero-Shot-CoT e Manual-CoT.

Principais Descobertas

Os resultados mostram que a abordagem Auto-CoT consistentemente iguala ou supera o desempenho do paradigma Manual-CoT, que requer design manual de demonstrações. Isso demonstra que LLMs podem realizar raciocínio CoT eficaz sem a necessidade de esforços manuais.

Como funciona o Auto CoT?

A ideia central do Auto-CoT é gerar automaticamente os exemplos de demonstração que o modelo de linguagem (LM) pode usar para o prompting de chain-of-thought (CoT), em vez de depender de demonstrações criadas manualmente.

Veja como a abordagem Auto-CoT funciona, passo a passo:

Passo 1 Agrupamento de Perguntas:

  • O primeiro passo é pegar o conjunto de perguntas de teste (as perguntas nas quais o LM será avaliado e perguntas pré-existentes dos conjuntos de dados de benchmark padrão) e agrupá-las em alguns clusters com base na similaridade.
  • Esse agrupamento ajuda a garantir que as perguntas de demonstração cubram tipos diversos de problemas, em vez de serem muito semelhantes.

Passo 2 Geração de Demonstração:

  • Para cada cluster de perguntas, o Auto-CoT seleciona uma pergunta representativa daquele cluster.
  • Em seguida, ele usa o prompt “Vamos pensar passo a passo” para pedir ao LM que gere uma cadeia de raciocínio para essa pergunta representativa.
  • Essa cadeia de raciocínio, consistindo nas etapas intermediárias e na resposta final, torna-se o exemplo de demonstração para aquele cluster.

Passo 3 Prompting do LM:

  • Ao avaliar o LM em uma nova pergunta de teste, o Auto-CoT fornece ao LM o conjunto de exemplos de demonstração gerados automaticamente.
  • O LM pode então usar essas demonstrações para guiar seu próprio processo de raciocínio passo a passo para chegar à resposta da pergunta de teste.

Como posso usar o Auto CoT?

Requisitos:

  • Python versão 3.8 ou superior

Instalação:

  • Instale os pacotes PyTorch e torchtext necessários usando as versões especificadas e a URL do PyPI: pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html
  • Instale os outros requisitos executando pip install -r requirements.txt

Conjuntos de Dados:

Baixe os conjuntos de dados dos seguintes repositórios no GitHub:

Início Rápido:

Consulte o notebook try_cot.ipynb para um guia de início rápido.

Instruções:

Construir Demonstrações:

  • Execute o seguinte comando para construir demonstrações para a tarefa “multiarith”: python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith

Executar Inferência:

  • Execute o seguinte comando para realizar inferência no conjunto de dados “multiarith”: python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith

Citando o Auto-CoT:

Se você usar o Auto-CoT em seu trabalho, por favor, cite o seguinte artigo:

@inproceedings{zhang2023automatic, title={Automatic Chain of Thought Prompting in Large Language Models}, author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex}, booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)}, year={2023} }

LLM API como Parte Essencial da Aplicação do Auto-CoT

Quais são os benefícios de combinar Auto-CoT com LLM APIs?

  1. Acesso a Modelos de Linguagem Poderosos:
  • O Auto-CoT depende das capacidades de grandes modelos de linguagem para gerar cadeias de raciocínio passo a passo e produzir saídas precisas.
  • Ao integrar LLM APIs, pesquisadores e desenvolvedores podem aproveitar os modelos de linguagem mais recentes e poderosos, como GPT-3, Megatron-LLM ou InstructGPT, para alimentar o sistema Auto-CoT.
  1. Flexibilidade e Personalização:
  • Diferentes modelos de linguagem podem ter diferentes pontos fortes, vieses e capacidades. Integrar LLM APIs permite que os usuários experimentem e comparem o desempenho de diferentes modelos para suas tarefas e aplicações específicas.
  • Essa flexibilidade permite que pesquisadores ajustem e personalizem os modelos de linguagem conforme suas necessidades, melhorando a eficácia geral do sistema Auto-CoT.
  1. Escalabilidade e Implantação:
  • LLM APIs frequentemente fornecem infraestrutura escalável e confiável para servir e implantar modelos de linguagem, permitindo que sistemas Auto-CoT lidem com cargas de trabalho aumentadas e atendam a uma base de usuários maior.
  • Ao aproveitar os recursos de escalabilidade das LLM APIs, pesquisadores e desenvolvedores podem implantar e manter o sistema Auto-CoT mais facilmente em ambientes de produção.
  1. Melhorias Contínuas nos Modelos:
  • Os modelos de linguagem estão evoluindo rapidamente, com versões novas e melhoradas sendo lançadas com frequência. Integrar LLM APIs permite que sistemas Auto-CoT se beneficiem desses avanços e se mantenham atualizados com as capacidades mais recentes dos modelos de linguagem.
  • Isso garante que o sistema Auto-CoT possa continuar a fornecer resultados de alta qualidade e manter sua competitividade à medida que o campo dos modelos de linguagem avança.

Como integrar LLM API ao meu projeto?

Novita AI fornece aos usuários LLM API com muitos modelos para chamar, incluindo os recém-lançados llama-3–8b e llama-3–70b. Você pode experimentar diferentes modelos e comparar seu desempenho em nosso Playground gratuitamente antes de integrar nossa LLM API.

Além disso, para atender a necessidades personalizadas, você pode ajustar parâmetros-chave como temperature (controla a aleatoriedade e exploração da saída do modelo), top_p (uma alternativa à amostragem com temperatura, chamada amostragem de núcleo, onde o modelo considera os resultados dos tokens com massa de probabilidade top_p), presence_penalty (incentiva o modelo a produzir texto diferente do que gerou anteriormente) e maximum tokens (define o comprimento máximo da saída gerada pelo modelo) para otimizar as saídas do modelo para seus requisitos específicos de aplicação. Esse nível de personalização permite que você combine totalmente as capacidades do LLM com seus sistemas Auto-CoT.

Você pode visitar nosso site para mais informações sobre a LLM API, incluindo instruções de código para integração, preços e outros recursos.

Conclusão

Neste blog, exploramos o conceito de Chain of Thought (CoT) Prompting e a necessidade de uma abordagem automatizada chamada Auto-CoT. Enquanto os métodos CoT existentes têm limitações, a abordagem Auto-CoT visa gerar automaticamente exemplos de demonstração para guiar modelos de linguagem no raciocínio passo a passo, sem exigir esforço manual. Discutimos as principais etapas do Auto-CoT, incluindo o agrupamento de perguntas e a geração de demonstrações. Finalmente, destacamos como a integração de LLM APIs pode fornecer modelos de linguagem poderosos e flexíveis para alimentar o sistema Auto-CoT, levando a melhor desempenho, escalabilidade e melhorias contínuas nos modelos. No geral, o Auto-CoT representa um desenvolvimento empolgante no aprimoramento das capacidades de raciocínio de grandes modelos de linguagem.

Novita AI, a plataforma única para criatividade ilimitada que oferece acesso a mais de 100 APIs. Desde geração de imagens e processamento de linguagem até aprimoramento de áudio e manipulação de vídeo, com pagamento conforme o uso, ela libera você das tarefas de manutenção de GPU enquanto constrói seus próprios produtos. Experimente gratuitamente.