Partilhar via


Aprendizagem de zero exemplos e de poucos exemplos

Este artigo explica o aprendizado de zero disparos e o aprendizado de poucos disparos para engenharia de prompts no .NET, incluindo seus principais casos de utilização.

O desempenho do modelo GPT beneficia de de engenharia imediata, a prática de fornecer instruções e exemplos a um modelo para refinar a sua produção. Aprendizagem sem necessidade de exemplo e aprendizagem com poucos exemplos são técnicas que pode-se usar ao fornecer exemplos.

Aprendizagem zero-shot

A aprendizagem de tiro zero é a prática de passar prompts que não são emparelhados com completações literais, embora você possa incluir finalizações que consistem em pistas. A aprendizagem zero-shot depende inteiramente do conhecimento existente do modelo para gerar respostas, o que reduz o número de tokens criados e pode ajudá-lo a controlar os custos. No entanto, a aprendizagem zero-shot não adiciona conhecimento ou contexto ao modelo.

Aqui está um exemplo de prompt de zero-shot que diz ao modelo para avaliar a entrada do usuário para determinar qual das quatro intenções possíveis a entrada representa e, em seguida, para prefaciar a resposta com "Intent: ".

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: {request}
Intent: 
""";

Existem dois casos de uso principais para a aprendizagem zero-shot:

  • Trabalhe com LLMs ajustados - Como depende do conhecimento existente do modelo, a aprendizagem de tiro zero não consome tantos recursos quanto a aprendizagem de poucos tiros, e funciona bem com LLMs que já foram ajustados em conjuntos de dados de instruções. Você pode confiar apenas no aprendizado zero e manter os custos relativamente baixos.
  • Estabeleça linhas de base de desempenho - Zero-shot learning pode ajudá-lo a simular como a sua aplicação funcionaria para utilizadores reais. Isso permite avaliar vários aspetos do desempenho atual do seu modelo, como exatidão ou precisão. Neste caso, normalmente usa-se a aprendizagem zero-shot para estabelecer um padrão de desempenho e, em seguida, experimenta-se a aprendizagem few-shot para melhorar o desempenho.

Aprendizagem com poucos exemplos

A aprendizagem de poucos exemplos é a prática de passar prompts emparelhados com finalizações literais (prompts de poucos exemplos) para mostrar ao seu modelo como responder. Em comparação com o zero-shot learning, isso significa que o few-shot learning produz mais tokens e faz com que o modelo atualize seu conhecimento, o que pode tornar o few-shot learning mais exigente em termos de recursos. No entanto, a aprendizagem com poucos exemplos também ajuda o modelo a produzir respostas mais relevantes.

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.

User Input: Can you send a very quick approval to the marketing team?
Intent: SendMessage

User Input: Can you send the full update to the marketing team?
Intent: SendEmail

User Input: {request}
Intent:
""";

Aprendizagem com poucos exemplos tem dois casos de uso principais:

  • Ajustando um LLM - Como pode aumentar o conhecimento do modelo, a aprendizagem com poucos exemplos pode melhorar o desempenho do modelo. Isso também faz com que o modelo crie mais tokens do que o aprendizado zero-shot, o que pode eventualmente se tornar proibitivamente caro ou até mesmo inviável. No entanto, se o seu LLM ainda não estiver ajustado, você nem sempre obterá um bom desempenho com prompts de tiro zero, e o aprendizado de poucos tiros é garantido.
  • Corrigir problemas de desempenho - Pode utilizar a aprendizagem de poucos exemplos como um seguimento da aprendizagem sem exemplos. Nesse caso, usa-se o aprendizado zero-shot para estabelecer uma referência de desempenho e, em seguida, experimenta-se o aprendizado few-shot com base nos prompts zero-shot usados. Isso permite que você aumente o conhecimento do modelo depois de ver como ele responde atualmente, para que você possa iterar e melhorar o desempenho enquanto minimiza o número de tokens introduzidos.

Advertências

  • A aprendizagem baseada em exemplos não funciona bem para tarefas de raciocínio complexas. No entanto, adicionar instruções pode ajudar a resolver isso.
  • A aprendizagem com poucos exemplos exige a criação de prompts longos. Prompts com grande quantidade de tokens podem aumentar a computação e a latência. Isso normalmente significa aumento de custos. Há também um limite para o comprimento dos prompts.
  • Quando você usa vários exemplos, o modelo pode aprender padrões falsos, como "Os sentimentos têm duas vezes mais probabilidade de serem positivos do que negativos".