Connect with us

Engenharia de prompts

ChatGPT & Engenharia Avançada de Prompt: Impulsionando a Evolução da IA

mm

A OpenAI tem sido fundamental no desenvolvimento de ferramentas revolucionárias, como o OpenAI Gym, projetado para treinar algoritmos de reforço, e modelos GPT-n. O holofote também está sobre o DALL-E, um modelo de IA que cria imagens a partir de entradas textuais. Um modelo que ganhou considerável atenção é o ChatGPT da OpenAI, um brilhante exemplar no domínio dos Grandes Modelos de Linguagem.

GPT-4: Engenharia de Prompt

O ChatGPT transformou o cenário dos chatbots, oferecendo respostas semelhantes às humanas às entradas do usuário e expandindo suas aplicações em vários domínios – desde o desenvolvimento e teste de software até a comunicação empresarial, e até mesmo a criação de poesia.

Nas mãos de empresas e indivíduos, o GPT-4, por exemplo, poderia servir como um reservatório inesgotável de conhecimento, proficiente em assuntos que variam desde Matemática e Biologia até Estudos Jurídicos. Tais modelos de IA sofisticados e acessíveis estão prestes a redefinir o futuro do trabalho, do aprendizado e da criatividade.

ChatGPT Futuristic logo

Modelos gerativos como o GPT-4 podem produzir novos dados com base em entradas existentes. Essa característica distinta permite que eles realizem tarefas diversas, incluindo a geração de texto, imagens, música e vídeo.

No contexto do ChatGPT e dos modelos da OpenAI, um prompt é a entrada que os usuários fornecem aos modelos, geralmente na forma de texto. Os prompts servem como o principal meio de controlar a saída gerada por esses modelos, tornando-os cruciais para conversas bem-sucedidas e relevantes.

O Impacto da Qualidade do Prompt

Usar prompts bem definidos é a chave para engajar em conversas úteis e significativas com sistemas de IA. Prompts mal definidos podem resultar em saídas que não são úteis para o usuário e podem até levar a conteúdo enganoso.

Para demonstrar o impacto da qualidade do prompt, vamos comparar dois prompts diferentes dados ao ChatGPT. O primeiro prompt, mal definido e supondo conhecimento prévio, gera uma resposta potencialmente inútil para o usuário. Por outro lado, o segundo prompt fornece mais contexto e exemplos, garantindo uma resposta mais relevante e compreensível.

Prompt 1: “Me conte sobre Redes Neurais Convolucionais.”

Resposta 1: “Redes Neurais Convolucionais (CNNs) são redes de percetron multilayer que consistem em camadas totalmente conectadas e camadas de pooling. Elas são comumente usadas em tarefas de reconhecimento de imagens. O processo envolve aplicar filtros às imagens de entrada e reduzir a escala usando camadas de pooling.”

Prompt 2: “Eu quero aprender sobre Redes Neurais Convolucionais, mas não tenho conhecimento prévio de Redes Neurais Artificiais. Pode me fornecer uma explicação amigável para iniciantes e um exemplo de como as CNNs são usadas no reconhecimento de imagens?”

Resposta 2: “Redes Neurais Convolucionais (CNNs) são um tipo de rede neural primariamente usada para tarefas de reconhecimento de imagens. Ao contrário de outras redes neurais, elas aproveitam camadas convolucionais e camadas de pooling para processar imagens. Imagine que você tenha uma imagem de um gato. As CNNs podem identificar diferentes recursos na imagem, como bigodes, orelhas e cauda, aplicando filtros e reduzindo a escala da imagem usando camadas de pooling. Esse processo torna as CNNs altamente eficazes para reconhecer objetos em imagens.”

Ao comparar as duas respostas, é evidente que um prompt bem definido leva a uma resposta mais relevante e amigável para o usuário. O design e a engenharia de prompts são disciplinas em crescimento que visam otimizar a qualidade da saída dos modelos de IA como o ChatGPT.

Nas seções seguintes deste artigo, vamos mergulhar no reino de metodologias avançadas destinadas a refinar os Grandes Modelos de Linguagem (LLMs), como técnicas e táticas de engenharia de prompt. Essas incluem aprendizado de poucos disparos, ReAct, cadeia de pensamento, RAG e mais.

Técnicas de Engenharia Avançada

Antes de prosseguirmos, é importante entender um problema-chave com os LLMs, referido como ‘alucinação’. No contexto dos LLMs, ‘alucinação’ significa a tendência desses modelos a gerar saídas que podem parecer razoáveis, mas não estão enraizadas na realidade factual ou no contexto de entrada fornecido.

Esse problema foi destacado em um recente caso judicial onde um advogado de defesa usou ChatGPT para pesquisa jurídica. A ferramenta de IA, falhando devido ao seu problema de alucinação, citou casos jurídicos inexistente. Esse passo em falso teve repercussões significativas, causando confusão e minando a credibilidade durante os procedimentos. Esse incidente serve como um lembrete contundente da necessidade urgente de abordar o problema de ‘alucinação’ nos sistemas de IA.

Nossa exploração em técnicas de engenharia de prompt visa melhorar esses aspectos dos LLMs. Ao aumentar sua eficiência e segurança, pavimentamos o caminho para aplicações inovadoras, como extração de informações. Além disso, abre portas para integrar os LLMs com ferramentas e fontes de dados externas de forma transparente, ampliando o alcance de seus usos potenciais.

Aprendizado de Zero e Poucos Disparos: Otimizando com Exemplos

Os Modelos de Transformador Gerativo Pre-treinados (GPT-3) marcaram um ponto de inflexão importante no desenvolvimento dos Modelos de IA Gerativos, pois introduziram o conceito de ‘aprendizado de poucos disparos‘. Esse método foi um divisor de águas devido à sua capacidade de operar efetivamente sem a necessidade de ajuste fino abrangente. O framework GPT-3 é discutido no artigo “Modelos de Linguagem são Aprendizes de Poucos Disparos“, onde os autores demonstram como o modelo se sai bem em uma variedade de casos de uso sem necessitar de conjuntos de dados personalizados ou código.

Ao contrário do ajuste fino, que exige esforço contínuo para resolver casos de uso variados, os modelos de poucos disparos demonstram uma adaptabilidade mais fácil a uma gama mais ampla de aplicações. Embora o ajuste fino possa fornecer soluções robustas em alguns casos, pode ser caro em escala, tornando o uso de modelos de poucos disparos uma abordagem mais prática, especialmente quando integrado à engenharia de prompt.

Imagine que você está tentando traduzir inglês para francês. No aprendizado de poucos disparos, você forneceria ao GPT-3 alguns exemplos de tradução, como “sea otter -> loutre de mer”. O GPT-3, sendo o modelo avançado que é, é então capaz de continuar fornecendo traduções precisas. No aprendizado de zero disparos, você não forneceria exemplos, e o GPT-3 ainda seria capaz de traduzir inglês para francês com eficácia.

O termo ‘aprendizado de poucos disparos’ vem da ideia de que o modelo é dado um número limitado de exemplos para ‘aprender’. É importante notar que ‘aprender’ neste contexto não envolve atualizar os parâmetros ou pesos do modelo, mas sim influencia o desempenho do modelo.

Aprendizado de Poucos Disparos Demonstrado no Artigo do GPT-3

Aprendizado de Poucos Disparos Demonstrado no Artigo do GPT-3

O aprendizado de zero disparos leva esse conceito um passo adiante. No aprendizado de zero disparos, nenhum exemplo de realização de tarefa é fornecido ao modelo. O modelo é esperado para realizar bem com base em seu treinamento inicial, tornando essa metodologia ideal para cenários de resposta a perguntas em domínio aberto, como o ChatGPT.

Em muitos casos, um modelo proficiente em aprendizado de zero disparos pode se sair bem quando fornecido com poucos disparos ou até mesmo um único disparo. Essa capacidade de alternar entre zero, único e poucos disparos sublinha a adaptabilidade dos grandes modelos, aumentando suas aplicações potenciais em diferentes domínios.

Os métodos de aprendizado de zero disparos estão se tornando cada vez mais prevalentes. Esses métodos são caracterizados por sua capacidade de reconhecer objetos não vistos durante o treinamento. Aqui está um exemplo prático de um Prompt de Poucos Disparos:

"Traduza as seguintes frases em inglês para francês:

'sea otter' traduz-se para 'loutre de mer'
'sky' traduz-se para 'ciel'
"O que 'cloud' traduz para francês?"

Ao fornecer ao modelo alguns exemplos e, em seguida, fazer uma pergunta, podemos efetivamente guiar o modelo para gerar a saída desejada. Nesse caso, o GPT-3 provavelmente traduziria corretamente ‘cloud’ para ‘nuage’ em francês.

Vamos mergulhar mais fundo nas nuances da engenharia de prompt e seu papel essencial na otimização do desempenho do modelo durante a inferência. Vamos explorar também como isso pode ser usado para criar soluções rentáveis e escaláveis em uma ampla gama de casos de uso.

À medida que exploramos a complexidade das técnicas de engenharia de prompt nos modelos GPT, é importante destacar nosso último artigo ‘Guia Essencial para Engenharia de Prompt no ChatGPT‘. Esse guia fornece insights sobre as estratégias para instruir modelos de IA de forma eficaz em uma miríade de casos de uso.

Em nossas discussões anteriores, mergulhamos em métodos de prompt fundamentais para grandes modelos de linguagem (LLMs), como aprendizado de zero e poucos disparos, bem como prompt de instrução. Dominar essas técnicas é crucial para navegar pelos desafios mais complexos da engenharia de prompt que exploraremos aqui.

O aprendizado de poucos disparos pode ser limitado devido à janela de contexto restrita da maioria dos LLMs. Além disso, sem as devidas salvaguardas, os LLMs podem ser enganados para fornecer saídas potencialmente prejudiciais. Além disso, muitos modelos lutam com tarefas de raciocínio ou seguindo instruções multi-etapa.

Dadas essas limitações, o desafio reside em aproveitar os LLMs para realizar tarefas complexas. Uma solução óbvia pode ser desenvolver LLMs mais avançados ou aprimorar os existentes, mas isso poderia exigir um esforço substancial. Então, a pergunta surge: como podemos otimizar os modelos atuais para uma melhor resolução de problemas?

É igualmente fascinante explorar como essa técnica se interfaca com aplicações criativas em Unite AI’s ‘Dominando a Arte de IA: Um Guia Conciso para Midjourney e Engenharia de Prompt‘, que descreve como a fusão de arte e IA pode resultar em arte inspiradora.

Prompt de Cadeia de Pensamento

O prompt de cadeia de pensamento aproveita as propriedades auto-regressivas inerentes dos grandes modelos de linguagem (LLMs), que se destacam em prever a próxima palavra em uma sequência dada. Ao solicitar que o modelo elucide seu processo de pensamento, induz uma geração mais completa e metódica de ideias, que tende a alinhar-se estreitamente com informações precisas. Essa alinhamento deriva da tendência do modelo de processar e entregar informações de forma pensada e ordenada, semelhante a um especialista humano que leva um ouvinte por um conceito complexo. Uma declaração simples como “me leve passo a passo…” é frequentemente suficiente para disparar essa saída mais verbosa e detalhada.

Prompt de Cadeia de Pensamento de Zero Disparos

Enquanto o prompt de cadeia de pensamento convencional exige pré-treinamento com demonstrações, uma área emergente é o prompt de cadeia de pensamento de zero disparos. Essa abordagem, introduzida por Kojima et al. (2022), inova ao adicionar a frase “Vamos pensar passo a passo” ao prompt original.

Vamos criar um prompt avançado onde o ChatGPT é encarregado de resumir as principais conclusões de artigos de pesquisa em IA e NLP.

Nessa demonstração, vamos usar a capacidade do modelo de entender e resumir informações complexas de textos acadêmicos. Usando a abordagem de aprendizado de poucos disparos, vamos ensinar o ChatGPT a resumir as principais descobertas de artigos de pesquisa em IA e NLP:

1. Título do Artigo: "A Atenção é Tudo o que Você Precisa"
Conclusão Principal: Introduziu o modelo de transformador, enfatizando a importância dos mecanismos de atenção sobre as camadas recorrentes para tarefas de transdução de sequência.

2. Título do Artigo: "BERT: Pré-treinamento de Transformadores Bidirecionais Profundos para Compreensão de Linguagem"
Conclusão Principal: Introduziu o BERT, demonstrando a eficácia do pré-treinamento de modelos bidirecionais profundos, alcançando resultados de estado da arte em várias tarefas de NLP.

Agora, com o contexto desses exemplos, resuma as principais descobertas do seguinte artigo:

Título do Artigo: "Engenharia de Prompt em Grandes Modelos de Linguagem: Um Exame"

Esse prompt não apenas mantém uma cadeia de pensamento clara, mas também aproveita a abordagem de aprendizado de poucos disparos para guiar o modelo. Ele se relaciona com nossas palavras-chave, focando nos domínios de IA e NLP, especificamente encarregando o ChatGPT de realizar uma operação complexa relacionada à engenharia de prompt: resumir artigos de pesquisa.

ReAct Prompt

ReAct, ou “Raciocínio e Ação”, foi introduzido pelo Google no artigo “ReAct: Sinergizando Raciocínio e Ação em Modelos de Linguagem“, e revolucionou a forma como os modelos de linguagem interagem com uma tarefa, solicitando que o modelo gere dinamicamente tanto traços de raciocínio verbais quanto ações específicas da tarefa.

Eu passei os últimos cinco anos me imergindo no fascinante mundo de Aprendizado de Máquina e Aprendizado Profundo. Minha paixão e especialização me levaram a contribuir para mais de 50 projetos diversificados de engenharia de software, com um foco particular em IA/ML. Minha curiosidade contínua também me atraiu para o Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.