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.

Esta página fornece uma visão geral conceitual do ajuste do modelo de texto por trás o serviço de texto da API Gemini. Quando estiver tudo pronto para começar o ajuste, confira o tutorial de ajuste.

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. Esse tipo de ajuste de modelo é chamado ajustes supervisionados para distingui-los de outros tipos de ajustes.

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.

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

Para chamar a API REST usando cURL, dê exemplos de treinamento no formato JSON à argumento training_data. Consulte a Guia de início rápido sobre o 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. A 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 seu 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 OAuth para Python, consulte 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 é 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