Ajustar modelos do Gemini usando ajuste supervisionado

Neste documento, descrevemos como ajustar um modelo do Gemini usando o ajuste fino supervisionado.

Antes de começar

Antes de começar, prepare um conjunto de dados de ajuste de detalhes supervisionado. Dependendo do caso de uso, há requisitos diferentes.

Modelos compatíveis

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

Criar um modelo de ajuste

É possível criar um job de ajuste supervisionado usando a API REST, o SDK da Vertex AI para Python, o console do Google Cloud ou o Colab Enterprise.

REST

Para criar um job de ajuste de modelo, envie uma solicitação POST usando o método tuningJobs.create. Alguns dos parâmetros não são compatíveis com todos os modelos. Inclua apenas os parâmetros aplicáveis ao modelo que você está ajustando.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • TUNING_JOB_REGION: a região onde o job de ajuste é executado. Essa também é a região padrão para onde o modelo ajustado é transferido.
  • BASE_MODEL: nome do modelo de fundação a ser ajustado. Valores aceitos: gemini-1.5-pro-002, gemini-1.5-flash-002 e gemini-1.0-pro-002.
  • TRAINING_DATASET_URI: URI do Cloud Storage do conjunto de dados de treinamento. O conjunto de dados precisa estar formatado como um arquivo JSONL. Para melhores resultados, forneça pelo menos 100 a 500 exemplos. Para mais informações, consulte Sobre conjuntos de dados de ajuste supervisionados .
  • VALIDATION_DATASET_URIOpcional: o URI do Cloud Storage do arquivo do conjunto de dados de validação.
  • EPOCH_COUNTOpcional: o número de transmissões completas que o modelo faz em todo o conjunto de dados de treinamento durante o treinamento. Deixe sem definição para usar o valor recomendado preenchido.
  • ADAPTER_SIZEOpcional: o tamanho do adaptador que será usado para o job de ajuste. O tamanho do adaptador influencia o número de parâmetros treináveis para o job de ajuste. Um tamanho maior do adaptador significa que o modelo pode aprender tarefas mais complexas, mas exige um conjunto de dados de treinamento maior e tempos de treinamento mais longos.
  • LEARNING_RATE_MULTIPLIER: Opcional: um multiplicador para aplicar à taxa de aprendizado recomendada. Deixe sem definição para usar o valor recomendado.
  • TUNED_MODEL_DISPLAYNAMEOpcional: um nome de exibição para o modelo ajustado. Se não for definido, um nome aleatório será gerado.

Método HTTP e URL:

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs

Corpo JSON da solicitação:

{
  "baseModel": "BASE_MODEL",
  "supervisedTuningSpec" : {
      "trainingDatasetUri": "TRAINING_DATASET_URI",
      "validationDatasetUri": "VALIDATION_DATASET_URI",
      "hyperParameters": {
          "epochCount": EPOCH_COUNT,
          "adapterSize": "ADAPTER_SIZE",
          "learningRateMultiplier": LEARNING_RATE_MULTIPLIER
      },
  },
  "tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME"
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Exemplo de comando curl

PROJECT_ID=myproject
LOCATION=us-central1
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
   "baseModel": "gemini-1.5-pro-002",
   "supervisedTuningSpec" : {
      "training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
      "validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl"
   },
   "tunedModelDisplayName": "tuned_gemini_pro"
}'

Python


import time

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(project=PROJECT_ID, location="us-central1")

sft_tuning_job = sft.train(
    source_model="gemini-1.5-pro-002",
    train_dataset="gs://cloud-samples-data/ai-platform/generative_ai/gemini-1_5/text/sft_train_data.jsonl",
    # The following parameters are optional
    validation_dataset="gs://cloud-samples-data/ai-platform/generative_ai/gemini-1_5/text/sft_validation_data.jsonl",
    epochs=4,
    adapter_size=4,
    learning_rate_multiplier=1.0,
    tuned_model_display_name="tuned_gemini_1_5_pro",
)

# Polling for job completion
while not sft_tuning_job.has_ended:
    time.sleep(60)
    sft_tuning_job.refresh()

print(sft_tuning_job.tuned_model_name)
print(sft_tuning_job.tuned_model_endpoint_name)
print(sft_tuning_job.experiment)
# Example response:
# projects/123456789012/locations/us-central1/models/1234567890@1
# projects/123456789012/locations/us-central1/endpoints/123456789012345
# <google.cloud.aiplatform.metadata.experiment_resources.Experiment object at 0x7b5b4ae07af0>

Console

Para ajustar um modelo de texto com ajuste supervisionado usando o Console do Google Cloud, siga estas etapas:

  1. Na seção "Vertex AI" do console do Google Cloud, acesse a página do Vertex AI Studio.

    Acessar o Vertex AI Studio

  2. Clique em Criar modelo ajustado.

  3. Em Método de ajuste, selecione o botão de opção Ajuste supervisionado.

  4. Em Detalhes do modelo, configure o seguinte:

    1. No campo Nome do modelo ajustado, insira um nome para o novo modelo ajustado com até 128 caracteres.
    2. No campo Modelo base, selecione gemini-1.5-pro-002.
    3. No campo suspenso Região, selecione a região em que o job de ajuste do pipeline será executado e onde o modelo ajustado será implantado.
  5. Opcional: expanda a seta suspensa Opções avançadas e configure o seguinte:

    1. No campo Número de períodos, insira o número de etapas a serem executadas para o ajuste do modelo.
    2. No campo Tamanho do adaptador, insira o tamanho do adaptador a ser usado para ajuste de modelos.
    3. No campo Multiplicador da taxa de aprendizado, insira um Insira o tamanho da etapa em cada iteração. O valor padrão é 1.
  6. Clique em Continuar.

    A página Conjunto de dados de ajuste é aberta.

  7. Para fazer upload de um arquivo de conjunto de dados, selecione uma das seguintes opções:

    1. Se você ainda não fez o upload de um conjunto de dados, selecione o botão de opção Fazer upload do arquivo para o Cloud Storage.
    2. No campo Selecionar arquivo JSONL, clique em Procurar e selecione o arquivo do conjunto de dados.
    3. Em Local do conjunto de dados, clique em Procurar e selecione o bucket do Cloud Storage em que você quer armazenar o arquivo do conjunto de dados.
    4. Se o arquivo do conjunto de dados já estiver em um bucket do Cloud Storage, selecione o botão de opção Arquivo existente no Cloud Storage.
    5. Em Caminho do arquivo do Cloud Storage, clique em Procurar e selecione o bucket do Cloud Storage em que o arquivo do conjunto de dados está localizado.
  8. (Opcional) Para receber métricas de validação durante o treinamento, clique em Ativar validação do modelo.

    1. No arquivo Conjunto de dados de validação, insira o caminho do Cloud Storage referente ao conjunto de dados de validação.
  9. Clique em Iniciar ajuste.

    O novo modelo será exibido na seção Modelos ajustados do Genmini Pro na página Ajustar e destilar. Quando o ajuste do modelo for concluído, o Status será Concluído.

Colab Enterprise

É possível criar um job de ajuste de modelo na Vertex AI usando o painel lateral no Colab Enterprise. O painel lateral adiciona os snippets de código relevantes ao seu notebook. Em seguida, modifique os snippets de código e execute-os para criar o job de ajuste. Para saber mais sobre como usar o painel lateral com seus jobs de ajuste da Vertex AI, consulte Interagir com a Vertex AI para ajustar um modelo.

  1. No console do Google Cloud, acesse a página Notebooks do Colab Enterprise.

    Acesse o Notebooks

  2. No menu Região, selecione a região que contém o notebook.

  3. Na guia Meus notebooks, clique no notebook que você quer abrir. Crie um notebook se ainda não tiver feito isso.

  4. À direita do notebook, no painel lateral, clique no botão  Tuning (Sintonia).

    O painel lateral abre a guia Ajuste.

  5. Clique no botão Ajustar um modelo do Gemini.

    O Colab Enterprise adiciona células de código ao seu notebook para ajustar um modelo do Gemini.

  6. No seu notebook, encontre a célula de código que armazena os valores de parâmetro. Você vai usar esses parâmetros para interagir com a Vertex AI.

  7. Atualize os valores dos seguintes parâmetros:

    • PROJECT_ID: o ID do projeto em que o notebook está.
    • REGION: a região em que o notebook está.
    • TUNED_MODEL_DISPLAY_NAME: o nome do modelo ajustado.
  8. Na próxima célula de código, atualize os parâmetros de ajuste do modelo:

    • source_model: o modelo do Gemini que você quer usar, por exemplo, gemini-1.0-pro-002.
    • train_dataset: o URL do conjunto de dados de treinamento.
    • validation_dataset: o URL do conjunto de dados de validação.
    • Ajuste os outros parâmetros conforme necessário.
  9. Execute as células de código que o painel lateral adicionou ao notebook.

  10. Depois que a última célula de código for executada, clique no botão  View tuning job que aparece.

  11. O painel lateral mostra informações sobre o job de ajuste do modelo.

    • A guia Monitor mostra as métricas de ajuste quando elas estão prontas.
    • A guia Dataset mostra um resumo e métricas sobre seu conjunto de dados depois que ele é processado.
    • A guia Detalhes mostra informações sobre o job de ajuste, como o método de ajuste e o modelo base (modelo de origem) usado.
  12. Depois que o job de ajuste for concluído, você poderá acessar diretamente a guia Detalhes do ajuste para testar o modelo. Clique em Testar.

    O console do Google Cloud abre na página Chat de texto da Vertex AI, onde você pode testar seu modelo.

Como ajustar hiperparâmetros

Recomendamos que você envie seu primeiro job de ajuste sem alterar os hiperparâmetros. O valor padrão é o recomendado com base nos resultados de comparação para gerar a melhor qualidade de saída do modelo.

  • Épocas: o número de transmissões completas que o modelo faz em todo o conjunto de dados de treinamento durante o treinamento. A Vertex AI ajusta automaticamente o valor padrão ao tamanho do conjunto de dados de treinamento. Esse valor é baseado em resultados de comparação de mercado para otimizar a qualidade da saída do modelo.
  • Tamanho do adaptador: o tamanho do adaptador a ser usado para o job de ajuste. O tamanho do adaptador influencia o número de parâmetros treináveis para o job de ajuste. Um tamanho maior do adaptador significa que o modelo pode aprender tarefas mais complexas, mas exige um conjunto de dados de treinamento maior e tempos de treinamento mais longos.
  • Multiplicador da taxa de aprendizado: um multiplicador para aplicar à taxa de aprendizado recomendada. É possível aumentar o valor para convergir mais rápido ou diminuir o valor para evitar o ajuste excessivo.

Confira uma lista de jobs de ajuste

É possível visualizar uma lista de jobs de ajuste no projeto atual usando o console do Google Cloud, o SDK da Vertex AI para Python ou enviando uma solicitação GET usando o método tuningJobs.

REST

Para consultar uma lista de jobs de ajuste de modelos, envie uma solicitação GET usando o método tuningJobs.list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • TUNING_JOB_REGION: a região onde o job de ajuste é executado. Essa também é a região padrão para onde o modelo ajustado é transferido.

Método HTTP e URL:

GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"

PowerShell

execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Python

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(project=PROJECT_ID, location="us-central1")

responses = sft.SupervisedTuningJob.list()

for response in responses:
    print(response)
# Example response:
# <vertexai.tuning._supervised_tuning.SupervisedTuningJob object at 0x7c85287b2680>
# resource name: projects/12345678/locations/us-central1/tuningJobs/123456789012345

Console

Para conferir os jobs de ajuste no console do Google Cloud, acesse a página do Vertex AI Studio.

Acessar o Vertex AI Studio

Os jobs de ajuste do Gemini estão listados na tabela na seção Modelos ajustados do Gemini Pro.

Detalhes de um job de ajuste

É possível receber os detalhes de um job de ajuste no projeto atual usando o console do Google Cloud, o SDK da Vertex AI para Python ou enviando uma solicitação GET com o método tuningJobs.

REST

Para visualizar uma lista de jobs de ajuste de modelos, envie uma solicitação GET usando o método tuningJobs.get e especifique o TuningJob_ID.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • TUNING_JOB_REGION: a região onde o job de ajuste é executado. Essa também é a região padrão para onde o modelo ajustado é transferido.
  • TUNING_JOB_ID: o ID do job de ajuste.

Método HTTP e URL:

GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"

PowerShell

execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Python

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# LOCATION = "us-central1"
vertexai.init(project=PROJECT_ID, location=LOCATION)

tuning_job_id = "4982013113894174720"
response = sft.SupervisedTuningJob(
    f"projects/{PROJECT_ID}/locations/{LOCATION}/tuningJobs/{tuning_job_id}"
)

print(response)
# Example response:
# <vertexai.tuning._supervised_tuning.SupervisedTuningJob object at 0x7cc4bb20baf0>
# resource name: projects/1234567890/locations/us-central1/tuningJobs/4982013113894174720

Console

  1. Para visualizar os detalhes de um modelo ajustado no console do Google Cloud, acesse a página do Vertex AI Studio.

    Acessar o Vertex AI Studio

  2. Na tabela Modelos ajustados pelo Gemini Pro, encontre seu modelo e clique em Detalhes.

    Os detalhes do seu modelo serão mostrados.

Cancelar um job de ajuste

É possível cancelar um job de ajuste no projeto atual usando o console do Google Cloud, o SDK da Vertex AI para Python ou enviando uma solicitação POST usando o método tuningJobs.

REST

Para visualizar uma lista de jobs de ajuste de modelos, envie uma solicitação GET usando o método tuningJobs.cancel e especifique o TuningJob_ID.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • TUNING_JOB_REGION: a região onde o job de ajuste é executado. Essa também é a região padrão para onde o modelo ajustado é transferido.
  • TUNING_JOB_ID: o ID do job de ajuste.

Método HTTP e URL:

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"

PowerShell

execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Python

import vertexai
from vertexai.tuning import sft

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# LOCATION = "us-central1"
vertexai.init(project=PROJECT_ID, location=LOCATION)

tuning_job_id = "4982013113894174720"
job = sft.SupervisedTuningJob(
    f"projects/{PROJECT_ID}/locations/{LOCATION}/tuningJobs/{tuning_job_id}"
)
job.cancel()

Console

  1. Para cancelar um job de ajuste no console do Google Cloud, acesse a página do Vertex AI Studio.

    Acessar o Vertex AI Studio

  2. Na tabela Modelos ajustados pelo Gemini Pro, clique em Gerenciar execução.

  3. Clique em Cancelar.

Testar o modelo ajustado com um comando

É possível testar um job de ajuste no projeto atual usando o SDK da Vertex AI para Python ou enviando uma solicitação POST usando o método tuningJobs.

O exemplo a seguir solicita a um modelo a pergunta "Por que o céu é azul?".

REST

Para testar um modelo ajustado com um comando, envie uma solicitação POST e especifique o TUNED_ENDPOINT_ID.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • TUNING_JOB_REGION: a região onde o job de ajuste é executado. Essa também é a região padrão para onde o modelo ajustado é transferido.
  • ENDPOINT_ID: o ID do endpoint do modelo ajustado da API GET.
  • TEMPERATURE: a temperatura é usada para amostragem durante a geração da resposta, que ocorre quando topP e topK são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para solicitações que exigem uma resposta menos aberta ou criativa, enquanto temperaturas mais altas podem levar a resultados mais diversos ou criativos. Uma temperatura de 0 significa que os tokens de maior probabilidade são sempre selecionados. Nesse caso, as respostas para uma determinada solicitação são, na maioria das vezes, deterministas, mas uma pequena variação ainda é possível.

    Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta alternativa, tente aumentar a temperatura.

  • TOP_P: o Top-P muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados do mais provável (veja o top-K) para o menos provável até que a soma das probabilidades seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,3, 0,2 e 0,1 e o valor de top-P for 0.5, o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como candidato.

    Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.

  • TOP_K: o Top-K muda a forma como o modelo seleciona tokens para saída. Um top-K de 1 significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de 3 significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.

    Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.

    Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.

  • MAX_OUTPUT_TOKENS: número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.

    Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.

Método HTTP e URL:

POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent

Corpo JSON da solicitação:

{
    "contents": [
        {
            "role": "USER",
            "parts": {
                "text" : "Why is sky blue?"
            }
        }
    ],
    "generation_config": {
        "temperature":TEMPERATURE,
        "topP": TOP_P,
        "topK": TOP_K,
        "maxOutputTokens": MAX_OUTPUT_TOKENS
    }
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Python

from vertexai.generative_models import GenerativeModel

sft_tuning_job = sft.SupervisedTuningJob("projects/<PROJECT_ID>/locations/<TUNING_JOB_REGION>/tuningJobs/<TUNING_JOB_ID>")
tuned_model = GenerativeModel(sft_tuning_job.tuned_model_endpoint_name)
print(tuned_model.generate_content(content))

Console

  1. Para visualizar os detalhes de um modelo ajustado no console do Google Cloud, acesse a página do Vertex AI Studio.

    Acessar o Vertex AI Studio

  2. Na tabela Modelos ajustados pelo Gemini Pro, selecione Testar.

    Isso abre uma página em que é possível criar uma conversa com o modelo ajustado.

Métricas de ajuste e validação

É possível configurar um job de ajuste de modelo para coletar e relatar o ajuste e métricas de avaliação do modelo, que podem ser visualizadas Vertex AI Studio.

  1. Para visualizar os detalhes de um modelo ajustado no console do Google Cloud, acesse a página do Vertex AI Studio.

    Acessar o Vertex AI Studio

  2. Na tabela Ajustar e destilar, clique no nome do modelo ajustado. que você quer conferir.

    As métricas de ajuste aparecem na guia Monitor.

Métricas de ajuste de modelos

O job de ajuste de modelo coleta automaticamente as seguintes métricas de ajuste para gemini-1.5-pro-002.

  • /train_total_loss: perda do conjunto de dados de ajuste em uma etapa de treinamento.
  • /train_fraction_of_correct_next_step_preds: a precisão do token em uma etapa de treinamento. Uma única previsão consiste em uma sequência de tokens. Mede a precisão dos tokens previstos quando comparados às informações empíricas no conjunto de dados de ajuste.
  • /train_num_predictions: Número de tokens previstos em uma etapa de treinamento.

Métricas de validação do modelo:

É possível configurar um job de ajuste de modelos para coletar as seguintes métricas de validação para gemini-1.5-pro-002.

  • /eval_total_loss: perda do conjunto de dados em uma etapa de validação.
  • /eval_fraction_of_correct_next_step_preds: a acurácia do token em uma etapa de validação. Uma única previsão consiste em uma sequência de tokens. Mede a acurácia dos tokens previstos quando comparados às informações empíricas no conjunto de dados de avaliação.
  • /eval_num_predictions Número de tokens previstos em uma etapa de validação.

As visualizações de métricas ficam disponíveis depois que o job de ajuste começa a ser executado. Ele será atualizado em tempo real à medida que a sintonia for feita. Se você não especificar um conjunto de dados de validação ao criar o job de ajuste, apenas as visualizações das métricas de ajuste estarão disponíveis.

A seguir