Como fazer ajustes com a API Gemini

As estratégias de design de comandos, como os few-shot, nem sempre produzem o resultados de que você precisa. O ajuste é um processo que pode melhorar a desempenho em tarefas específicas ou ajudar o modelo a aderir a resultados 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 da API Gemini serviço de texto.

Como funciona o ajuste

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

Os dados de treinamento devem ser estruturados como exemplos com entradas de comandos e as saídas esperadas de resposta. Também é possível ajustar modelos usando dados de exemplo diretamente no Google AI Studio. O objetivo é ensinar o modelo a imitar o comportamento desejado ou tarefa, 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 codificar as informações necessárias para realizar a tarefa desejada ou aprender o comportamento do seu modelo. Esses parâmetros podem ser usados no momento da inferência. A saída do o job de ajuste é um novo modelo, que é uma combinação da nova parâmetros aprendidos e o 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 o melhor desempenho, os exemplos no conjunto de dados devem 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 reconhecerá o padrão, mesmo que a pergunta exata estivesse em um exemplo do conjunto de dados.

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

Tamanho dos dados de treinamento

É possível ajustar um modelo com no mínimo 20 exemplos. Dados adicionais melhora a qualidade das respostas. Sua meta deve ficar entre 100 e 500 exemplos, dependendo do aplicativo. A tabela a seguir mostra tamanhos de conjuntos de dados recomendados para ajustar um modelo de texto para várias tarefas comuns:

Tarefa Nº de exemplos no conjunto de dados
Classificação 100+
Resumo 100-500+
Pesquisa de documentos 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 do Vertex AI Studio.

Clique no botão Importar 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 ajuste no conjunto de dados.

Biblioteca de cliente

Para usar a biblioteca de cliente, forneça o arquivo de dados no createTunedModel a chamada. 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, dê exemplos de treinamento no formato JSON para o 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 foi processado uma vez.
  • Tamanho do lote: o conjunto de exemplos usado em uma iteração de treinamento. O 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 como para ajustar os parâmetros do modelo em cada iteração. Por exemplo, uma taxa de aprendizado de 0,3 ajustaria os pesos e os vieses três vezes mais muito mais do que uma taxa de aprendizado de 0,1. Taxas de aprendizado altas e baixas têm as vantagens delas e precisam ser ajustadas com base no seu caso de uso.
  • Multiplicador da taxa de aprendizado:esse multiplicador modifica o valor e a taxa de aprendizado original. O valor 1 usa a taxa de aprendizado original um modelo de machine learning. Valores maiores que 1 aumentam a taxa de aprendizado e valores entre 1 e 0 diminui 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
Período 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 do ideal previsões nos exemplos de treinamento após cada período. O ideal é parar treinando no ponto mais baixo da curva logo antes de ele se estabilizar. Por exemplo: o gráfico abaixo mostra a estabilização da curva de perda entre as épocas 4 e 6, o que significa é 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 atinge o pico entre o
na primeira e na segunda épocas, depois diminui drasticamente para quase 0 e nivela
após três períodos.

Verificar o status do job de ajuste

É possível conferir o status do job de ajuste no Google AI Studio na guia 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 ser encontrados ao criando o modelo ajustado.

Autenticação

O ajuste usando a API e a biblioteca de cliente requer autenticação do usuário. Uma chave de API por si só não é suficiente. Se aparecer um erro 'PermissionDenied: 403 Request had insufficient authentication scopes', configure a configuração de autenticação.

Para configurar credenciais do OAuth para Python, consulte esta página tutorial.

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 é cancelado no início do treinamento. Se você cancelou porque quiser interromper o treinamento em um período anterior, crie um novo modelo job e defina o período com um valor mais baixo.

A seguir