Melhorar o desempenho de um modelo linguístico

Concluído

Depois de implantar um modelo em um ponto de extremidade, você pode interagir com o modelo para explorar como ele se comporta. Quando você deseja que o modelo seja personalizado para o seu caso de uso, existem várias estratégias de otimização que você pode aplicar para melhorar o desempenho do modelo. Vamos explorar as várias estratégias.

Bate-papo com uma modelo no playground

Você pode usar sua linguagem de codificação preferida para fazer uma chamada de API para o ponto de extremidade do seu modelo ou pode conversar com o modelo diretamente no playground do portal do Azure AI Foundry. O playground de bate-papo é uma maneira rápida e fácil de experimentar e melhorar o desempenho do seu modelo.

Captura de tela mostrando o playground de bate-papo no Azure AI Foundry.

A qualidade das perguntas que envia para o modelo linguístico influencia diretamente a qualidade das respostas que recebe. Você pode construir cuidadosamente sua pergunta, ou solicitar, para receber respostas melhores e mais interessantes. O processo de projetar e otimizar prompts para melhorar o desempenho do modelo também é conhecido como engenharia de prompt. Quando um usuário final fornece prompts relevantes, específicos, inequívocos e bem estruturados, o modelo pode entender melhor o contexto e gerar respostas mais precisas.

Aplicar engenharia imediata

Quando você está conversando com o modelo no playground, você pode aplicar várias técnicas de engenharia de prompt para explorar se ele melhora a saída do modelo.

Captura de ecrã a mostrar uma pergunta a um modelo linguístico e uma resposta.

Vamos explorar algumas técnicas que um usuário final pode usar para aplicar a engenharia de prompt:

  • Forneça instruções claras: Seja específico sobre a saída desejada. Captura de tela de uma pergunta com instruções claras, tornando a resposta mais específica para o caso de uso.
  • Formate suas instruções: use cabeçalhos e delineadores para facilitar a leitura da pergunta. Captura de ecrã de uma pergunta formatada para deixar claro qual deve ser o texto traduzido.
  • Use pistas: forneça palavras-chave ou indicadores de como o modelo deve iniciar sua resposta, como uma linguagem de codificação específica. Captura de ecrã de uma pergunta com uma indicação, com a qual a resposta do assistente começa.

Atualizar a mensagem do sistema

No playground de bate-papo, você pode visualizar o JSON da sua conversa atual selecionando Mostrar JSON:

Captura de tela mostrando a saída JSON de uma conversa no playground de bate-papo.

O JSON mostrado é os dados de entrada para o ponto de extremidade do modelo toda vez que você envia uma nova mensagem. A mensagem do sistema é sempre parte dos dados de entrada. Embora não seja visível para os usuários finais, a mensagem do sistema permite que você, como desenvolvedor, personalize o comportamento do modelo, fornecendo instruções para seu comportamento.

Algumas técnicas comuns de engenharia de prompt para aplicar como um desenvolvedor atualizando a mensagem do sistema são:

  • Use uma foto ou poucas fotos: forneça um ou mais exemplos para ajudar o modelo a identificar um padrão desejado. Você pode adicionar uma seção à mensagem do sistema para adicionar um ou mais exemplos. Captura de ecrã de uma mensagem do sistema com exemplos.
  • Use a cadeia de pensamento: guie o modelo para raciocinar passo a passo, instruindo-o a pensar na tarefa. Captura de tela do raciocínio em cadeia de pensamento.
  • Adicionar contexto: melhore a precisão do modelo fornecendo informações contextuais ou básicas relevantes para a tarefa. Você pode fornecer contexto por meio de dados de aterramento fornecidos no prompt do usuário ou conectando sua própria fonte de dados. Captura de tela da opção para adicionar dados para contexto.

Aplicar estratégias de otimização de modelo

Como desenvolvedor, você também pode aplicar outras estratégias de otimização para melhorar o desempenho do modelo, sem ter que pedir ao usuário final para escrever prompts específicos. Ao lado da engenharia imediata, a estratégia escolhida depende dos seus requisitos:

Diagrama mostrando as várias estratégias para otimizar o desempenho do modelo.

  • Otimizar para o contexto: quando o modelo não tem conhecimento contextual e você deseja maximizar a precisão das respostas.
  • Otimizar o modelo: quando você quiser melhorar o formato, o estilo ou a fala da resposta maximizando a consistência do comportamento.

Para otimizar o contexto, você pode aplicar um padrão de Geração Aumentada de Recuperação (RAG). Com o RAG, você aterra seus dados primeiro recuperando o contexto de uma fonte de dados antes de gerar uma resposta. Por exemplo, você quer que os clientes façam perguntas sobre os hotéis que você está oferecendo em seu catálogo de reservas de viagens.

Quando desejar que o modelo responda em um estilo ou formato específico, você pode instruir o modelo a fazê-lo adicionando diretrizes na mensagem do sistema. Quando notar que o comportamento do modelo não é consistente, você pode impor ainda mais a consistência no comportamento ajustando um modelo. Com o ajuste fino, você treina um modelo de linguagem base em um conjunto de dados antes de integrá-lo ao seu aplicativo.

Você também pode usar uma combinação de estratégias de otimização, como RAG e um modelo ajustado, para melhorar seu aplicativo de linguagem.