Melhorar o desempenho de um modelo de linguagem

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 seu caso de uso, há várias estratégias de otimização que você pode aplicar para melhorar o desempenho do modelo. Vamos explorar as várias estratégias.

Conversa com um modelo no playground

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

Captura de tela mostrando o playground de chat no Azure AI Foundry.

A qualidade das perguntas enviadas para o modelo de linguagem influencia diretamente a qualidade das respostas que você recebe de volta. Você pode construir cuidadosamente sua pergunta ou prompt, para receber respostas melhores e mais interessantes. O processo de criação e otimização de prompts para melhorar o desempenho do modelo também é conhecido como engenharia de prompt. Quando um usuário final fornece prompts relevantes, específicos, sem ambiguidades e bem estruturados, o modelo pode entender melhor o contexto e gerar respostas mais precisas.

Aplicar engenharia de prompts

Quando estiver conversando com o modelo no playground, você poderá aplicar várias técnicas de engenharia de prompt para explorar se isso melhora o resultado do modelo.

Captura de tela mostrando uma pergunta para um modelo de idioma e uma resposta.

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

  • Fornecer 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.
  • Formatar suas instruções: Use cabeçalhos e delineadores para facilitar a leitura da pergunta. Captura de tela de uma pergunta formatada para deixar claro qual deve ser o texto traduzido.
  • Usar sugestões: Forneça palavras-chave ou indicadores de como o modelo deve iniciar sua resposta, como uma linguagem de codificação específica. Captura de tela de uma pergunta com uma sugestão, com a qual a resposta do assistente começa.

Atualizar a mensagem do sistema

No playground de chat, você pode exibir o JSON da conversa atual selecionando Mostrar JSON:

Captura de tela mostrando a saída JSON de uma conversa no playground de chat.

O JSON mostrado são os dados de entrada para o ponto de extremidade do modelo sempre que você envia uma nova mensagem. A mensagem do sistema sempre faz parte dos dados de entrada. Embora não esteja 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 a serem aplicadas como desenvolvedor atualizando a mensagem do sistema são:

  • Usar uma tentativa ou algumas tentativas: 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 tela de uma mensagem do sistema com exemplos.
  • Usar cadeia de pensamento: Guie o modelo para raciocinar passo a passo, instruindo-o a pensar na tarefa. Captura de tela do raciocínio de cadeia de pensamento.
  • Adicionar contexto: Aprimore a precisão do modelo fornecendo informações de contexto ou em segundo plano relevantes para a tarefa. Você pode fornecer contexto por meio de dados básicos fornecidos no prompt do usuário ou conectando sua própria fonte de dados. Captura de tela da opção para adicionar dados para o 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 precisar solicitar que o usuário final escreva prompts específicos. Além da engenharia de prompt, a estratégia escolhida depende de seus requisitos:

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

  • Otimizar para 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 de resposta, o estilo ou a fala maximizando a consistência do comportamento.

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

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

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