In diesem Dokument wird beschrieben, wie Sie eine Optimierung der Einstellungen für ein Gemini-Modell vornehmen.
Hinweis
Bevor Sie beginnen, müssen Sie ein Dataset vorbereiten. Folgen Sie dazu der Anleitung unter Daten für die Optimierung von Einstellungen für Gemini-Modelle vorbereiten.
Abstimmungsjob erstellen
Console
So konfigurieren Sie die Optimierung von Einstellungen über die Cloud de Confiance Console:
Rufen Sie in der Cloud de Confiance Console im Bereich „Gemini Enterprise Agent Platform“ die Seite Abstimmung auf.
Klicken Sie auf Abgestimmtes Modell erstellen.
Wählen Sie Einstellungsoptimierung aus.
Konfigurieren Sie unter Modelldetails Folgendes:
- Geben Sie im Feld Name des abgestimmten Modells einen Namen für das neue abgestimmte Modell ein, der maximal 128 Zeichen umfasst.
- Wählen Sie im Feld Basismodell das Foundation Model aus, das Sie optimieren möchten.
- Wählen Sie im Drop-down-Feld Region die Region aus, in der der Pipeline-Abstimmungsjob ausgeführt und in der das abgestimmte Modell bereitgestellt wird.
Konfigurieren Sie unter Abstimmungseinstellung Folgendes:
- Geben Sie im Feld Anzahl der Epochen die Anzahl der Schritte ein, die zur Modellabstimmung ausgeführt werden sollen.
- Geben Sie im Feld Adaptergröße die Adaptergröße ein, die für die Modelloptimierung verwendet werden soll.
- Optional: Geben Sie im Feld Beta den gewünschten Betawert ein. Beta ist der Koeffizient, der steuert, wie genau das abgestimmte Modell mit seiner Baseline übereinstimmt.
- Geben Sie im Feld Multiplikator für die Lernrate die Schrittgröße pro Durchlauf ein. Der Standardwert ist 1. .
Optional: Wenn Sie Zwischenprüfpunkte deaktivieren und nur den neuesten Prüfpunkt verwenden möchten, klicken Sie auf den Ein/Aus-Button Nur letzten Prüfpunkt exportieren.
Klicken Sie auf Weiter.
Die Seite Abstimmungs-Dataset wird geöffnet.
Wählen Sie eine der folgenden Optionen aus, um eine Dataset-Datei hochzuladen:
- Wenn Sie noch kein Dataset hochgeladen haben, wählen Sie das Optionsfeld Datei in Cloud Storage hochladen aus.
- Klicken Sie im Feld JSONL-Datei auswählen auf Durchsuchen und wählen Sie die Dataset-Datei aus.
- Klicken Sie im Feld Dataset-Speicherort auf Durchsuchen und wählen Sie den Cloud Storage-Bucket, in dem Sie die Dataset-Datei speichern möchten.
- Wenn sich die Dataset-Datei bereits in einem Cloud Storage-Bucket befindet, wählen Sie das Optionsfeld für Vorhandene Datei in Cloud Storage aus.
- Klicken Sie im Feld Cloud Storage-Dateipfad auf Durchsuchen und wählen Sie den Cloud Storage-Bucket, in dem sich Ihre Dataset-Datei befindet.
(Optional) Wenn Sie während des Trainings Validierungsmesswerte erhalten möchten, klicken Sie auf den Ein/Aus-Button Modellvalidierung aktivieren.
- Geben Sie in der Datei Validierungs-Dataset den Cloud Storage-Pfad Ihres Validierungs-Datasets ein.
Klicken Sie auf Abstimmung starten.
Ihr neues Modell wird auf der Seite Feinabstimmung und Destillieren im Abschnitt Verwaltete Feinabstimmung angezeigt. Wenn die Abstimmung des Modells abgeschlossen ist, lautet der Status Erfolgreich.
REST
Senden Sie zum Erstellen eines Modellabstimmungsjobs eine POST-Anfrage mit der Methode tuningJobs.create. Einige Parameter werden nicht von allen Modellen unterstützt. 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.
- TRAINING_DATASET_URI: 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.
- 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 vorab ausgefüllten empfohlenen Wert verwenden zu lassen.
- BETAOptional: Der Koeffizient, der steuert, wie genau das abgestimmte Modell mit seiner Baseline übereinstimmt.
- 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.
- EXPORT_LAST_CHECKPOINT_ONLYOptional: Legen Sie
truefest, um nur den neuesten Prüfpunkt zu verwenden. - TUNED_MODEL_DISPLAYNAMEOptional: Ein Anzeigename für das abgestimmte Modell. Wenn nicht festgelegt, wird ein zufälliger Name generiert.
- KMS_KEY_NAMEOptional: Die Cloud KMS-Ressourcen-ID des kundenverwalteten Verschlüsselungsschlüssels, der zum Schutz einer Ressource verwendet wird. Der Schlüssel hat das Format
projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. Der Schlüssel muss sich in derselben Region befinden, in der die Compute-Ressource erstellt wird. Weitere Informationen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK). - SERVICE_ACCOUNTOptional: Das Dienstkonto, unter dem die tuningJob-Arbeitslast ausgeführt wird. Wenn nicht angegeben, wird der Dienst-Agent für die sichere Feinabstimmung der Agent-Plattform im Projekt verwendet. Weitere Informationen finden Sie unter Abstimmungsdienst-Agent. Wenn Sie ein vom Kunden verwaltetes Dienstkonto verwenden möchten, müssen Sie dem Dienstkonto die Rolle
roles/aiplatform.tuningServiceAgentzuweisen. Weisen Sie dem vom Kunden verwalteten Dienstkonto außerdem die Rolle Tuning Service Agentroles/iam.serviceAccountTokenCreatorzu.
HTTP-Methode und URL:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON-Text anfordern:
{
"baseModel": "BASE_MODEL",
"preferenceOptimizationSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI",
"hyperParameters": {
"epochCount": "EPOCH_COUNT",
"beta": "BETA",
"adapterSize": "ADAPTER_SIZE",
"learningRateMultiplier": "LEARNING_RATE_MULTIPLIER"
},
"exportLastCheckpointOnly": EXPORT_LAST_CHECKPOINT_ONLY,
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME",
"encryptionSpec": {
"kmsKeyName": "KMS_KEY_NAME"
},
"serviceAccount": "SERVICE_ACCOUNT"
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Beispiel: cURL-Befehls
PROJECT_ID=myproject
LOCATION=global
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": "${BASE_MODEL}",
"preferenceOptimizationSpec" : {
"trainingDatasetUri": "gs://mybucket/preference_tuning/data/train_data.jsonl",
"validationDatasetUri": "gs://mybucket/preference_tuning/data/validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_gemini"
}'
Google Gen AI SDK
Hyperparameter abstimmen
Es wird empfohlen, den ersten Abstimmungsjob ohne Änderung der Hyperparameter einzureichen. Der Standardwert ist der empfohlene Wert, der auf unseren Benchmarking-Ergebnissen basiert, um die beste Qualität der Modellausgabe zu erzielen.
- Epochen: Die Anzahl der vollständigen Durchläufe des gesamten Trainings-Datasets durch das Modell während des Trainings. Die Gemini Enterprise Agent Platform passt den Standardwert automatisch an die Größe Ihres Trainings-Datasets an. Dieser Wert basiert auf Benchmarking-Ergebnissen, um die Qualität der Modellausgabe zu optimieren.
- Beta: Der Koeffizient, der steuert, wie genau das abgestimmte Modell mit seiner Baseline übereinstimmt. Ein niedrigerer Beta-Wert bedeutet aggressivere Aktualisierungen in Richtung bevorzugter Antworten. Der empfohlene Bereich liegt zwischen 0,01 und 0,5 (einschließlich). Ein Beta-Wert von 0 verhindert, dass das Modell lernt.
- Adaptergröße: Die Adaptergröße, die für den Abstimmungsjob 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.
- Lernraten-Multiplikator: Ein Multiplikator, der auf die empfohlene Lernrate anzuwenden ist. Sie können den Wert erhöhen, um die Konvergenz zu beschleunigen, oder den Wert verringern, um eine Überanpassung zu vermeiden.
Abstimmungsjob ansehen oder abbrechen
Informationen zum Auflisten von Abstimmungsjobs, zum Aufrufen von Details zu Abstimmungsjobs, zum Abbrechen eines Abstimmungsjobs oder zum Löschen eines abgestimmten Modells finden Sie in den folgenden Abschnitten der Dokumentation zur überwachten Feinabstimmung:
- Liste der Abstimmungsjobs ansehen
- Details eines Abstimmungsjobs abrufen
- Abstimmungsjob abbrechen
- Abgestimmtes Modell löschen
Messwerte für die Modellabstimmung
Der Modellabstimmungsjob erfasst automatisch die folgenden Abstimmungsmesswerte:
/preference_optimization_train_loss: Präferenzverlust für das Abstimmungs-Dataset in einem Trainingsschritt.
Modellvalidierungsmesswerte
Wenn Validierungsdaten bereitgestellt werden, erfasst der Modellabstimmungsjob automatisch die folgenden Validierungsmesswerte:
/eval_total_loss: Präferenzverlust für das Validierungs-Dataset in einem Validierungsschritt.
Die Messwertvisualisierungen sind verfügbar, sobald der Abstimmungsjob ausgeführt wird. Sie werden im Verlauf der Abstimmung in Echtzeit aktualisiert. Wenn Sie beim Erstellen des Abstimmungsjobs kein Validierungs-Dataset angeben, sind nur die Visualisierungen für die Abstimmungsmesswerte verfügbar.