Sobre ajuste de detalhes supervisionado para modelos do Gemini

O ajuste fino supervisionado é uma boa opção quando você tem uma tarefa bem definida com dados rotulados disponíveis. Ele é particularmente eficaz para aplicativos específicos de domínio em que a linguagem ou o conteúdo é significativamente diferente dos dados para os quais o modelo grande foi originalmente treinado. É possível ajustar os tipos de dados texto, imagem, áudio e documento.

O ajuste de detalhes supervisionado adapta o comportamento do modelo com um conjunto de dados rotulado. Esse processo ajusta os pesos do modelo para minimizar a diferença entre as previsões e os rótulos reais. Por exemplo, ele pode melhorar o desempenho do modelo para os seguintes tipos de tarefas:

  • Classificação
  • Resumo
  • Respostas a perguntas extrativas
  • Chat

Modelos compatíveis

Os seguintes modelos do Gemini são compatíveis com ajuste supervisionado:

  • gemini-1.5-pro-002 (no GA, oferece suporte a texto, imagem, áudio e documento)
  • gemini-1.5-flash-002 (no GA, oferece suporte a texto, imagem, áudio e documento)
  • gemini-1.0-pro-002 (na visualização, só oferece suporte ao ajuste de texto)

Limitações

  • Máximo de tokens de entrada e saída:
    • Exemplos de treinamento: 32.000
    • Exibição: 32.000
  • Tamanho do conjunto de dados de validação: 256 exemplos
  • Tamanho do arquivo do conjunto de dados de treinamento: até 1 GB para JSONL
  • tamanho do adaptador:
    • Gemini 1.5 Pro: os valores aceitos são 1 e 4 (o padrão é 4). Usar valores mais altos (por exemplo, 8 ou 16) vai resultar em falha.
    • Gemini 1.5 Flash: os valores aceitos são 1, 4, 8 e 16 (o padrão é 8).

Casos de uso do ajuste de detalhes supervisionado

Os modelos base funcionam bem quando a saída ou a tarefa esperada pode ser definida de maneira clara e concisa em um prompt e ele produza a saída esperada de maneira consistente. Se você quiser que um modelo aprenda algo nichado ou específico que se desloque dos padrões gerais, convém ajustar esse modelo. Por exemplo, é possível usar o ajuste de modelo para ensinar o modelo a seguir:

  • Estruturas ou formatos específicos para gerar resultados.
  • Comportamentos específicos, como quando fornecer uma resposta final ou detalhada.
  • Resultados personalizados específicos para tipos específicos de entradas.

Os exemplos a seguir são casos de uso difíceis de capturar apenas com instruções imediatas:

  • Classificação: a resposta esperada é uma palavra ou frase específica.

    Ajustar o modelo pode impedir que ele gere respostas detalhadas.

  • Resumo: o resumo segue um formato específico. Por exemplo, talvez seja necessário remover informações de identificação pessoal (PII, na sigla em inglês) em um resumo do chat.

    Essa formatação de substituição dos nomes dos falantes por #Person1 e #Person2 é difícil de descrever, e o modelo de fundação pode não produzir naturalmente essa resposta.

  • Resposta de pergunta extrativa: a pergunta é sobre um contexto e a resposta é uma substring do contexto.

    :

    A resposta "Último máximo glacial" é uma frase específica do contexto.

  • Chat: você precisa personalizar a resposta do modelo para seguir um perfil, um papel ou um personagem.

Também é possível ajustar um modelo nas seguintes situações:

  • As solicitações não produzem os resultados esperados com consistência suficiente.
  • A tarefa é muito complicada de ser definida em um prompt. Por exemplo, você quer que o modelo faça clonagem de comportamento para um comportamento difícil de articular em um prompt.
  • Você tem uma intuição complexa sobre uma tarefa que é fácil de provocar, mas difícil de formalizar em um prompt.
  • Você quer reduzir a duração do contexto removendo os exemplos de poucas fotos.

Configurar uma região do job de ajuste

Os dados do usuário, como o conjunto de dados transformado e o modelo ajustado, são armazenados na região do job de ajuste. Durante o ajuste, a computação pode ser descarregada para outras regiões US ou EU para aceleradores disponíveis. Esse processo é transparente para os usuários.

  • Se você usar o SDK da Vertex AI, poderá especificar a região na inicialização. Por exemplo:

    import vertexai
    vertexai.init(project='myproject', location='us-central1')
    
  • Se você criar um job de ajuste supervisionado enviando uma solicitação POST com o método tuningJobs.create, use o URL para especificar a região onde o job de ajuste de detalhes será executado. Por exemplo, no URL a seguir, você especifica uma região substituindo as duas instâncias de TUNING_JOB_REGION pela região em que o job é executado.

     https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
    
  • Se você usa o Console do Google Cloud, selecione o nome da região no campo suspenso Região, na página Detalhes do modelo. Essa é a mesma página em que você seleciona o modelo base e um nome de modelo ajustado.

Cota

A cota é aplicada ao número de jobs de ajuste simultâneos. Todo projeto tem uma cota padrão para executar pelo menos um job de ajuste. Essa é uma cota global compartilhada por todas as regiões disponíveis e modelos compatíveis. Se você quiser executar mais jobs simultaneamente, solicite uma cota extra para Global concurrent tuning jobs.

Preços

Confira os preços para ajustar o Gemini 1.5 Flash e o Gemini 1.5 Pro aqui: Preços da Vertex AI.

Para todos os modelos, após o ajuste, os custos de inferência para o modelo ajustado ainda se aplicam. O preço de inferência é o mesmo para cada versão estável do Gemini.

O ajuste supervisionado para gemini-1.0-pro-002 está em Pré-lançamento. Enquanto o ajuste estiver em pré-lançamento, não há custo financeiro para ajustar um modelo.

Para mais informações, consulte os preços da Vertex AI e Versões de modelo estáveis do Gemini disponíveis.

A seguir