O ajuste de modelos é um processo crucial na adaptação do Gemini para executar tarefas específicas com maior precisão. O ajuste de modelos fornece um modelo com um conjunto de dados de treinamento que contém um conjunto de exemplos de tarefas downstream específicas.
Use a API Gemini Tuning para os seguintes casos de uso:
Modelos compatíveis:
É possível usar o ajuste fino supervisionado nos seguintes modelos do Gemini:
Modelo | Versão |
---|---|
Gemini 1.5 Pro | gemini-1.5-pro-002 |
Gemini 1.5 Flash | gemini-1.5-flash-002 |
Gemini 1.0 Pro | gemini-1.0-pro-002 |
Exemplo de sintaxe
Sintaxe para ajustar um modelo.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs \ -d '{ "baseModel": "...", "supervisedTuningSpec" : { ... "hyper_parameters": { ... }, }, "tunedModelDisplayName": "", }'
Lista de parâmetros
Confira exemplos para detalhes de implementação.
Corpo da solicitação
O corpo da solicitação contém dados com os seguintes parâmetros:
Parâmetros | |
---|---|
|
Opcional: Nome do modelo de fundação que está sendo ajustado. Os valores aceitos são: |
|
|
supervisedTuningSpec
Parâmetros | |
---|---|
|
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. |
|
Opcional: URI do Cloud Storage do conjunto de dados de validação. Seu conjunto de dados precisa estar formatado como um arquivo JSONL. Um conjunto de dados pode conter até 256 exemplos. Se você fornecer esse arquivo, os dados serão usados para gerar métricas de validação periodicamente durante o ajuste. Para mais informações, consulte Sobre conjuntos de dados de ajuste supervisionados . |
|
Opcional: Número de passes completos 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 nos resultados de comparação de mercado para otimizar a qualidade da saída do modelo. |
|
Opcional: Multiplicador para ajustar a taxa de aprendizado padrão. |
|
Opcional: Tamanho do adaptador para ajuste. |
|
Opcional: Nome de exibição da |
AdapterSize
Tamanho do adaptador para o job de ajuste.
Parâmetros | |
---|---|
|
Tamanho do adaptador não especificado. |
|
Tamanho do adaptador 1. |
|
Tamanho do adaptador 4. |
|
Tamanho do adaptador 8. |
|
Tamanho do adaptador 16. |
Exemplos
Criar um job de ajuste supervisionado
É possível criar um job de ajuste de modelo de texto supervisionado usando o SDK da Vertex AI para Python ou enviando uma solicitação POST.
Caso de uso básico
O caso de uso básico define apenas valores para baseModel
e training_dataset_uri
.
Todos os outros parâmetros usam os valores padrão.
REST
Para criar um job de ajuste do 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
egemini-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 .
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" : { "training_dataset_uri": "TRAINING_DATASET_URI" }, }
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.
Python
Caso de uso avançado
O caso de uso avançado expande o caso de uso básico, mas também define valores para
hyper_parameters
opcional, como epoch_count
, learning_rate_multiplier
e adapter_size
.
REST
Para criar um job de ajuste do 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
egemini-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.
Python
Listar jobs de ajuste
É possível visualizar uma lista de jobs de ajuste no projeto atual usando o SDK da Vertex AI para Python ou enviando uma solicitação GET.
REST
Para criar um job de ajuste do 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.
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
Detalhes de um job de ajuste
É possível conferir os detalhes de um job de ajuste usando o SDK da Vertex AI para Python ou enviando uma solicitação GET.
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
Cancelar um job de ajuste
É possível cancelar um job de ajuste usando o SDK da Vertex AI para Python ou enviando uma solicitação POST.
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
A seguir
Para consultar a documentação detalhada, acesse: