Die Modellabstimmung ist ein wichtiger Prozess bei der Anpassung von Gemini, um bestimmte Aufgaben mit höherer Präzision und Genauigkeit auszuführen. Bei der Modellabstimmung wird einem Modell ein Trainings-Dataset bereitgestellt, das eine Reihe von Beispielen für bestimmte nachgelagerte Aufgaben enthält.
Verwenden Sie die Gemini-Feinabstimmungs-API für die folgenden Anwendungsfälle:
Unterstützte Modelle:
Sie können die überwachte Feinabstimmung für die folgenden Gemini-Modelle verwenden:
Modell | Version |
---|---|
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 |
Beispielsyntax
Syntax zum Optimieren eines Modells.
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": "", }'
Parameterliste
Einzelheiten zur Implementierung finden Sie in den Beispielen.
Anfragetext
Der Anfragetext enthält Daten mit den folgenden Parametern:
Parameter | |
---|---|
|
Optional: Name des Foundation Models, das optimiert wird. Unterstützte Werte sind: |
|
Der Anzeigename von |
supervisedTuningSpec
Parameter | |
---|---|
|
Cloud Storage-URI Ihres Trainings-Datasets. Das Dataset muss als JSONL-Datei formatiert sein. Die besten Ergebnisse erzielen Sie, wenn Sie mindestens 100 bis 500 Beispiele angeben. Weitere Informationen finden Sie unter Überwachte Abstimmungs-Datasets. |
|
Optional: Cloud Storage-URI Ihres Validierungs-Datasets. Ihr Dataset muss als JSONL-Datei formatiert sein. Ein Dataset kann bis zu 256 Beispiele enthalten. Wenn Sie diese Datei bereitstellen, werden die Daten verwendet, um während der Abstimmung regelmäßig Validierungsmesswerte zu generieren. Weitere Informationen finden Sie unter Überwachte Abstimmungs-Datasets . |
|
Optional: Anzahl der vollständigen Durchläufe, die das Modell während des Trainings für das gesamte Trainings-Dataset durchführt. |
|
Optional: Multiplikator zum Anpassen der Standard-Lernrate. |
|
Optional: Adaptergröße für Feinabstimmung. |
|
Optional: Anzeigename von |
AdapterSize
Adaptergröße für Abstimmungsjob.
Parameter | |
---|---|
|
Nicht angegebene Adaptergröße. |
|
Adaptergröße 1. |
|
Adaptergröße 4. |
|
Adaptergröße 8. |
|
Adaptergröße 16. |
Beispiele
Überwachten Abstimmungsjob erstellen
Sie können einen überwachten Textmodell-Abstimmungsjob mit dem Vertex AI SDK für Python oder durch Senden einer POST-Anfrage erstellen.
Grundlegender Anwendungsfall
Im grundlegenden Anwendungsfall werden nur Werte für baseModel
und training_dataset_uri
festgelegt.
Alle anderen Parameter verwenden die Standardwerte.
REST
Senden Sie zum Erstellen eines Modellabstimmungsjobs eine POST-Anfrage mit der Methode tuningJobs.create
.
Beachten Sie, dass einige Parameter nicht von allen Modellen unterstützt werden. Achten Sie darauf, dass Sie nur die für das abzustimmende Modell relevanten Parameter einfügen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- TUNING_JOB_REGION: Die Region, in der der Abstimmungsjob ausgeführt wird. Dies ist auch die Standardregion, in der das abgestimmte Modell hochgeladen wird.
- BASE_MODEL: Name des zu optimierenden Foundation Models. Unterstützte Werte:
gemini-1.5-pro-002
,gemini-1.5-flash-002
,gemini-1.0-pro-002
. - TRAINING_DATASET_URI: Cloud Storage-URI Ihres Trainingsdatensatzes. Das Dataset muss als JSONL-Datei formatiert sein. Die besten Ergebnisse erzielen Sie, wenn Sie mindestens 100 bis 500 Beispiele angeben. Weitere Informationen finden Sie unter Überwachte Abstimmungs-Datasets .
HTTP-Methode und URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON-Text der Anfrage:
{ "baseModel": "BASE_MODEL", "supervisedTuningSpec" : { "training_dataset_uri": "TRAINING_DATASET_URI" }, }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Python
Erweiterter Anwendungsfall
Der Anwendungsfall erweitert den grundlegenden Anwendungsfall, legt aber auch Werte für optionale hyper_parameters
wie epoch_count
, learning_rate_multiplier
und adapter_size
fest.
REST
Senden Sie zum Erstellen eines Modellabstimmungsjobs eine POST-Anfrage mit der Methode tuningJobs.create
.
Beachten Sie, dass einige Parameter nicht von allen Modellen unterstützt werden. Achten Sie darauf, dass Sie nur die für das abzustimmende Modell relevanten Parameter einfügen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- TUNING_JOB_REGION: Die Region, in der der Abstimmungsjob ausgeführt wird. Dies ist auch die Standardregion, in der das abgestimmte Modell hochgeladen wird.
- BASE_MODEL: Name des zu optimierenden Foundation Models. Unterstützte Werte:
gemini-1.5-pro-002
,gemini-1.5-flash-002
undgemini-1.0-pro-002
. - TRAINING_DATASET_URI: Cloud Storage-URI Ihres Trainingsdatensatzes. Das Dataset muss als JSONL-Datei formatiert sein. Die besten Ergebnisse erzielen Sie, wenn Sie mindestens 100 bis 500 Beispiele angeben. Weitere Informationen finden Sie unter Überwachte Abstimmungs-Datasets.
- VALIDATION_DATASET_URIOptional: Der Cloud Storage-URI der Validierungs-Dataset-Datei.
- EPOCH_COUNTOptional: Die Anzahl der vollständigen Durchläufe des gesamten Trainings-Datasets durch das Modell während des Trainings. Legen Sie das Feld nicht fest, um den empfohlenen Wert verwenden zu lassen.
- ADAPTER_SIZEOptional: Die Adaptergröße, die für den Optimierungsjob verwendet werden soll. Die Adaptergröße wirkt sich auf die Anzahl der trainierbaren Parameter für den Optimierungsjob aus. Eine größere Adaptergröße bedeutet, dass das Modell komplexere Aufgaben lernen kann. Es erfordert jedoch einen größeren Trainingsdatensatz und längere Trainingszeiten.
- LEARNING_RATE_MULTIPLIER: Optional: Ein Multiplikator, der auf die empfohlene Lernrate anzuwenden ist. Legen Sie das Feld nicht fest, um den empfohlenen Wert verwenden zu lassen.
- TUNED_MODEL_DISPLAYNAMEOptional: Ein Anzeigename für das abgestimmte Modell. Wenn nicht festgelegt, wird ein zufälliger Name generiert.
HTTP-Methode und URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON-Text der Anfrage:
{ "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" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Python
Abstimmungsjobs auflisten
Sie können eine Liste der Abstimmungsjobs in Ihrem aktuellen Projekt aufrufen. Verwenden Sie dazu das Vertex AI SDK für Python oder senden Sie eine GET-Anfrage.
REST
Senden Sie zum Erstellen eines Modellabstimmungsjobs eine POST-Anfrage mit der Methode tuningJobs.create
.
Beachten Sie, dass einige Parameter nicht von allen Modellen unterstützt werden. Achten Sie darauf, dass Sie nur die für das abzustimmende Modell relevanten Parameter einfügen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- TUNING_JOB_REGION: Die Region, in der der Abstimmungsjob ausgeführt wird. Dies ist auch die Standardregion, in der das abgestimmte Modell hochgeladen wird.
HTTP-Methode und URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie diesen Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Python
Details eines Abstimmungsjobs abrufen
Sie können die Details eines Abstimmungsjobs mit dem Vertex AI SDK für Python abrufen oder durch Senden einer GET-Anfrage.
REST
Senden Sie eine GET-Anfrage mit der Methode tuningJobs.get
und geben Sie TuningJob_ID
an, um eine Liste der Modellabstimmungsjobs aufzurufen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- TUNING_JOB_REGION: Die Region, in der der Abstimmungsjob ausgeführt wird. Dies ist auch die Standardregion, in der das abgestimmte Modell hochgeladen wird.
- TUNING_JOB_ID: die ID des Abstimmungsjobs.
HTTP-Methode und URL:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie diesen Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Python
Abstimmungsjob abbrechen
Sie können einen Abstimmungsjob mit dem Vertex AI SDK für Python abbrechen oder eine POST-Anfrage senden.
REST
Senden Sie eine GET-Anfrage mit der Methode tuningJobs.cancel
und geben Sie TuningJob_ID
an, um eine Liste der Modellabstimmungsjobs aufzurufen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- TUNING_JOB_REGION: Die Region, in der der Abstimmungsjob ausgeführt wird. Dies ist auch die Standardregion, in der das abgestimmte Modell hochgeladen wird.
- TUNING_JOB_ID: die ID des Abstimmungsjobs.
HTTP-Methode und URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie diesen Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Python
Nächste Schritte
Eine ausführliche Dokumentation finden Sie hier: