Como fazer ajustes com a API Gemini

As estratégias de criação de comandos, como os few-shot, nem sempre produzem os resultados que você precisa. O ajuste é um processo que pode melhorar o desempenho do modelo em tarefas específicas ou ajudar o modelo a aderir a requisitos de saída específicos quando as instruções não são suficientes e você tem um conjunto de exemplos que demonstrem os resultados desejados.

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

O objetivo do ajuste é melhorar ainda mais o desempenho do modelo para sua tarefa específica. O ajuste funciona fornecendo ao modelo um conjunto de dados de treinamento contendo 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.

Os dados de treinamento precisam ser estruturados como exemplos com entradas de comandos e saídas de respostas 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 pretendida, fornecendo muitos 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 realizar a tarefa ou aprender o comportamento pretendido. Esses parâmetros podem ser usados no momento da inferência. A saída do job de ajuste é um novo modelo, que é uma combinação dos parâmetros recém-aprendidos e do modelo original.

Preparar o conjunto de dados

Antes de começar o ajuste, você precisa de um conjunto de dados para ajustar o modelo. Para garantir o melhor desempenho, os exemplos no conjunto de dados precisam ser de alta qualidade, diversos 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 prompt ou preâmbulo a cada exemplo no conjunto de dados também pode ajudar a melhorar o desempenho do modelo ajustado. Observação: se um comando ou preâmbulo estiver incluído no 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 no mínimo 20 exemplos. Dados adicionais 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 ao Google AI Studio.

Clique no botão Import e siga as instruções da caixa de diálogo 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 arquivo pode ter até 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 ao argumento training_data. Consulte o guia de início rápido de ajuste com cURL para começar.

Configurações avançadas de ajuste

Ao criar um job de ajuste, é possível especificar as seguintes configurações avançadas:

  • Épocas: um treinamento completo passa por todo o conjunto de treinamento, de modo que cada exemplo seja 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 de ajuste dos parâmetros do modelo em cada iteração. Por exemplo, uma taxa de aprendizado de 0,3 ajustaria os pesos e as tendências três vezes mais poderosa do que uma taxa de aprendizado de 0,1. Taxas de aprendizado altas e baixas têm vantagens e desvantagens exclusivas e precisam ser ajustadas com base no seu caso de uso.
  • Multiplicador da taxa de aprendizado:modifica a taxa de aprendizado original do modelo. Um valor de 1 usa a taxa de aprendizado original do modelo. Valores maiores que 1 aumentam a taxa de aprendizado e valores entre 1 e 0 reduzem a taxa de aprendizado.

A tabela a seguir mostra 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 está convergindo e não parece estagnar, 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 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, logo antes que ela se estabilize. Por exemplo, o gráfico abaixo mostra a estabilização da curva de perda entre as épocas 4-6, o que significa que é possível definir o parâmetro Epoch como 4 e ainda ter o mesmo desempenho.

Gráfico de linhas mostrando a curva de perda do modelo. A linha aumenta entre a primeira e a segunda épocas, depois diminui drasticamente para quase 0 e atinge o nível após três períodos.

Verificar o status do job de ajuste

Confira o status do job de ajuste no Google AI Studio na guia Minha biblioteca ou usando a propriedade metadata do modelo ajustado na API Gemini.

Solucionar erros

Esta seção inclui dicas sobre como resolver erros que podem ocorrer durante a criação do modelo ajustado.

Autenticação

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

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

Modelos cancelados

É possível cancelar um job de ajuste a qualquer momento antes da conclusão dele. 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