Introdução ao ajuste de modelos

As estratégias de criação de comandos, como poucas shots, nem sempre produzem os resultados necessários. Use o ajuste de modelo para melhorar o desempenho de um modelo em tarefas específicas ou ajudar o modelo a atender a requisitos de saída específicos quando as instruções não forem suficientes e você tiver um conjunto de exemplos que demonstre os resultados que você quer.

Nesta página, você encontra orientações sobre como ajustar o modelo de texto por trás do serviço de texto da API Gemini.

Como funciona o ajuste do modelo

O objetivo do ajuste do modelo é melhorar ainda mais o desempenho do modelo para sua tarefa específica. O ajuste do modelo fornece ao modelo um conjunto de dados de treinamento que contém muitos exemplos da tarefa. Para tarefas de nicho, é possível conseguir melhorias significativas no desempenho do modelo ajustando o modelo em um número modesto de exemplos.

Seus dados de treinamento precisam ser estruturados como exemplos com entradas de prompt e saídas de resposta esperadas. Também é possível ajustar modelos usando dados de exemplo diretamente no Google AI Studio. O objetivo é ensinar o modelo a imitar o comportamento ou a tarefa desejado, fornecendo vários exemplos que ilustram esse comportamento ou tarefa.

Quando você executa um job de ajuste, o modelo aprende outros parâmetros que o ajudam a codificar as informações necessárias para executar a tarefa desejada ou aprender o comportamento pretendido. Esses parâmetros podem ser usados no momento da inferência. A saída do job de ajuste é um modelo novo, que é efetivamente uma combinação dos parâmetros recém-aprendidos e o modelo original.

Modelos com suporte

Os modelos de fundação a seguir são compatíveis com o ajuste de modelos. Somente o preenchimento de texto de turno único é compatível.

  • Gemini 1.0 Pro
  • text-bison-001

Fluxo de trabalho de ajuste de modelos

O fluxo de trabalho de ajuste de modelos é o seguinte:

  1. Prepare seu conjunto de dados.
  2. Importe o conjunto de dados se estiver usando o Google AI Studio.
  3. Inicie um job de ajuste.

Depois que o ajuste do modelo é concluído, o nome do modelo ajustado é exibido. Também é possível selecioná-lo no Google AI Studio como o modelo a ser usado ao criar um novo comando.

Preparar seu conjunto de dados

Antes de começar os ajustes, você precisa de um conjunto de dados para ajustar o modelo. Para ter o melhor desempenho, os exemplos no conjunto de dados precisam ser de alta qualidade, diversificados e representativos de entradas e saídas reais.

Formato

Os exemplos no seu conjunto de dados precisam corresponder ao tráfego de produção esperado. Se o conjunto de dados contiver formatação, palavras-chave, instruções ou informações específicas, os dados de produção deverão ser formatados da mesma maneira e conter as mesmas instruções.

Por exemplo, se os exemplos no seu conjunto de dados incluem um "question:" e um "context:", o tráfego de produção também deve ser formatado para incluir um "question:" e um "context:" na mesma ordem em que aparece no exemplos de conjuntos de dados. Se você excluir o contexto, o modelo não poderá reconhecer o padrão, mesmo que a pergunta exata esteja em um exemplo no conjunto de dados.

Adicionar um comando ou um preâmbulo a cada exemplo no conjunto de dados também pode ajudar a melhorar o desempenho do modelo ajustado. Observe que se um comando ou preâmbulo for incluído no seu conjunto de dados, ele também precisará ser incluído no comando para o modelo ajustado no momento da inferência.

Tamanho dos dados de treinamento

É possível ajustar um modelo com apenas 20 exemplos, e dados extras geralmente melhoram a qualidade das respostas. É preciso segmentar entre 100 e 500 exemplos, dependendo do aplicativo. A tabela a seguir mostra os tamanhos recomendados de conjuntos de dados para ajustar um modelo de texto para várias tarefas comuns:

Tarefa Nº de exemplos no conjunto de dados
Classificação Mais de 100
Resumo 100-500+
Pesquisa de documentos Mais de 100

Fazer upload do conjunto de dados de ajuste

Os dados são transmitidos inline usando a API ou por meio de arquivos enviados no Google AI Studio.

Use o botão Importar para importar dados de um arquivo ou escolha um comando estruturado com exemplos para importar como seu conjunto de dados de ajuste.

Biblioteca de cliente

Para usar a biblioteca de cliente, forneça o arquivo de dados na chamada createTunedModel. O limite de tamanho do arquivo é de 4 MB. Consulte o guia de início rápido de ajuste com Python para começar.

Curl

Para chamar a API REST usando Curl, forneça exemplos de treinamento no formato JSON para o argumento training_data. Consulte o guia de início rápido de ajuste com o Curl para começar.

Configurações avançadas de ajuste

Ao criar um job de ajuste, especifique as seguintes configurações avançadas:

  • Períodos: uma passagem completa de treinamento por todo o conjunto de treinamento, de modo que cada exemplo tenha sido processado uma vez.
  • Tamanho do lote: o conjunto de exemplos usado em uma iteração de treinamento. O tamanho do lote determina o número de exemplos em um lote.
  • Taxa de aprendizado: um número de ponto flutuante que informa ao algoritmo a intensidade do ajuste dos parâmetros do modelo em cada iteração. Por exemplo, uma taxa de aprendizado de 0,3 ajustaria os pesos e vieses três vezes mais que uma taxa de aprendizado de 0,1. Taxas de aprendizado altas e baixas têm vantagens próprias e precisam ser ajustadas com base no caso de uso.
  • Multiplicador da taxa de aprendizado: modifica a taxa de aprendizado original do modelo. O valor 1 usa a taxa de aprendizado original do modelo. Valores superiores a 1 aumentam a taxa de aprendizado e valores entre 1 e 0 reduzem a taxa de aprendizado.

Na tabela a seguir, mostramos as configurações recomendadas para ajustar um modelo de fundação:

Hiperparâmetro Valor padrão Ajustes recomendados
Época 5 Se a perda começar a estabilizar antes de 5 períodos, use um valor menor.
Se a perda estiver convergindo e parecer não estabilizar, use um valor mais alto.
Tamanho do lote 4
Taxa de aprendizado 0,001 Use um valor menor para conjuntos de dados menores.

A curva de perda mostra o quanto a previsão do modelo se desvia das previsões ideais nos exemplos de treinamento após cada período. O ideal é interromper o treinamento no ponto mais baixo da curva antes que ele se estabilize. Por exemplo, o gráfico abaixo mostra a estabilização da curva de perda por volta das épocas 4 a 6, o que significa que é possível definir o parâmetro Epoch como 4 e ainda ter o mesmo desempenho.

Curva de perda

Verificar o status dos jobs de ajuste

É possível verificar o status do seu job de ajuste na interface do Google AI Studio na guia Minha biblioteca ou usando a propriedade metadata do modelo ajustado na API Genmini.

Solucionar erros

Nesta seção, incluímos dicas sobre como resolver erros que podem ser encontrados durante a criação do modelo ajustado.

Proporção de Eficiência Energética (EER)

O ajuste usando a API e a biblioteca de cliente requer autenticação do usuário. Apenas uma chave de API não é suficiente. Se você encontrar um erro 'PermissionDenied: 403 Request had insufficient authentication scopes', configure a autenticação do usuário.

Para configurar as credenciais do OAuth para Python, consulte o tutorial de configuração do OAuth.

Modelos cancelados

É possível cancelar um job de ajuste de modelo a qualquer momento antes da conclusão do job. No entanto, o desempenho de inferência de um modelo cancelado é imprevisível, especialmente se o job de ajuste for cancelado no início do treinamento. Se você cancelou porque quer interromper o treinamento em um período anterior, crie um novo job de ajuste e defina o período com um valor mais baixo.

A seguir