Prüfpunkte beim Abstimmen von Gemini-Modellen verwenden

Ein Prüfpunkt ist ein Snapshot des Modellzustands zu einem bestimmten Zeitpunkt im Feinabstimmungsprozess. Sie können Zwischenprüfpunkte bei der Gemini-Modellabstimmung für Folgendes verwenden:

  • Fortschritt der Abstimmung speichern.
  • Vergleichen Sie die Leistung von Zwischenprüfpunkten.
  • Wählen Sie den Prüfpunkt mit der besten Leistung vor der Überanpassung als Standardprüfpunkt aus.

Bei Abstimmungsjobs mit weniger als 10 Epochen wird ungefähr nach jeder Epoche ein Prüfpunkt gespeichert. Bei Abstimmungsjobs mit mehr als 10 Epochen werden etwa 10 Prüfpunkte gleichmäßig verteilt gespeichert. Eine Ausnahme bildet der letzte Prüfpunkt, der sofort nach dem Training aller Epochen gespeichert wird.

Zwischenprüfpunkte werden im Verlauf der Abstimmung nacheinander auf neuen Endpunkten bereitgestellt. Der Endpunkt des abgestimmten Modells stellt den Endpunkt des Standardprüfpunkts dar. Die Prüfpunkte des abgestimmten Modells enthalten alle Prüfpunkte und die zugehörigen Endpunkte.

Unterstützte Modelle

Die folgenden Gemini-Modelle unterstützen Prüfpunkte:

Klicken, um unterstützte Modelle einzublenden

Ausführliche Informationen zu Gemini-Modellversionen finden Sie unter Google-Modelle und Modellversionen und Lebenszyklus.

Abstimmungsjob erstellen, der Prüfpunkte exportiert

Sie können einen Abstimmungsjob erstellen, der Prüfpunkte exportiert, indem Sie das Google Gen AI SDK oder die Google Cloud Console verwenden.

Console

Wenn Sie einen Abstimmungsjob erstellen möchten, der Prüfpunkte exportiert, rufen Sie die Seite Agent Platform Studio auf und wählen Sie den Tab Abstimmung aus. Weitere Informationen finden Sie unter Modell optimieren.

Google Gen AI SDK

(Vorabversion) Sie können den Gen AI Evaluation Service so konfigurieren, dass nach jedem Prüfpunkt automatisch Bewertungen ausgeführt werden. Diese Bewertungskonfiguration ist in der Region us-central1 verfügbar.

Installieren Sie das Google Gen AI SDK:

pip install --upgrade google-genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Google Gen AI SDK mit der Gemini Enterprise Agent Platform zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_ENTERPRISE=True

Erstellen Sie den Abstimmungsjob:

import time

from google import genai
from google.genai.types import (
    CreateTuningJobConfig,
    EvaluationConfig,
    GcsDestination,
    HttpOptions,
    Metric,
    OutputConfig,
    TuningDataset,
)

# TODO(developer): Update and un-comment below line
# output_gcs_uri = "gs://your-bucket/your-prefix"

client = genai.Client(http_options=HttpOptions(api_version="v1beta1"))

training_dataset = TuningDataset(
    gcs_uri="gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_train_data.jsonl",
)
validation_dataset = TuningDataset(
    gcs_uri="gs://cloud-samples-data/ai-platform/generative_ai/gemini/text/sft_validation_data.jsonl",
)

evaluation_config = EvaluationConfig(
    metrics=[
        Metric(
            name="FLUENCY",
            prompt_template="""Evaluate this {prediction}"""
        )
    ],
    output_config=OutputConfig(
        gcs_destination=GcsDestination(
            output_uri_prefix=output_gcs_uri,
        )
    ),
)

tuning_job = client.tunings.tune(
    base_model="gemini-3.5-flash",
    training_dataset=training_dataset,
    config=CreateTuningJobConfig(
        tuned_model_display_name="Example tuning job",
        # Set to True to disable tuning intermediate checkpoints. Default is False.
        export_last_checkpoint_only=False,
        validation_dataset=validation_dataset,
        evaluation_config=evaluation_config,
    ),
)

running_states = set([
    "JOB_STATE_PENDING",
    "JOB_STATE_RUNNING",
])

while tuning_job.state in running_states:
    print(tuning_job.state)
    tuning_job = client.tunings.get(name=tuning_job.name)
    time.sleep(60)

print(tuning_job.tuned_model.model)
print(tuning_job.tuned_model.endpoint)
print(tuning_job.experiment)
# Example response:
# projects/123456789012/locations/us-central1/models/1234567890@1
# projects/123456789012/locations/us-central1/endpoints/123456789012345
# projects/123456789012/locations/us-central1/metadataStores/default/contexts/tuning-experiment-2025010112345678

if tuning_job.tuned_model.checkpoints:
    for i, checkpoint in enumerate(tuning_job.tuned_model.checkpoints):
        print(f"Checkpoint {i + 1}: ", checkpoint)
    # Example response:
    # Checkpoint 1:  checkpoint_id='1' epoch=1 step=10 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789000000'
    # Checkpoint 2:  checkpoint_id='2' epoch=2 step=20 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789012345'

Prüfpunkte für einen Abstimmungsjob auflisten

Sie können die Prüfpunkte für Ihren abgeschlossenen Abstimmungsjob in derGoogle Cloud Console aufrufen oder mit dem Google Gen AI SDK auflisten.

Wenn Zwischenprüfpunkte deaktiviert sind, wird nur der letzte Prüfpunkt angezeigt oder zurückgegeben.

Console

  1. Rufen Sie die Seite Abstimmung auf, um Ihr abgestimmtes Modell in der Google Cloud Console zu finden.

    Zu Abstimmung

  2. Suchen Sie auf dem Tab Abstimmung nach Ihrem Modell und klicken Sie auf Monitoring.

    Die Abstimmungsmesswerte und Prüfpunkte Ihres Modells werden angezeigt. In jedem Messwertdiagramm werden die Prüfpunktnummern als Annotationen so angezeigt:

    • Für jede Epoche wird eine Schrittnummer und eine Epochennummer angezeigt.
    • Die Schrittnummer ist der genaue Schritt, bei dem ein Prüfpunkt gespeichert wird.
    • Die Epochennummer ist eine geschätzte Epochennummer, zu der der Prüfpunkt gehört, mit Ausnahme des letzten Prüfpunkts für einen abgeschlossenen Abstimmungsjob, der die genaue Epochennummer hat.

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Get the tuning job and the tuned model.
# Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345"
tuning_job = client.tunings.get(name=tuning_job_name)

if tuning_job.tuned_model.checkpoints:
    for i, checkpoint in enumerate(tuning_job.tuned_model.checkpoints):
        print(f"Checkpoint {i + 1}: ", checkpoint)
# Example response:
# Checkpoint 1:  checkpoint_id='1' epoch=1 step=10 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789000000'
# Checkpoint 2:  checkpoint_id='2' epoch=2 step=20 endpoint='projects/123456789012/locations/us-central1/endpoints/123456789012345'

Modelldetails und Prüfpunkte ansehen

Sie können Ihr abgestimmtes Modell in der Google Cloud -Konsole aufrufen oder das Google Gen AI SDK verwenden, um Modelldetails wie Endpunkte und Prüfpunkte abzurufen.

Das Feld Endpoint des Modells wird so aktualisiert:

  • Er wird basierend auf dem Standardprüfpunkt aktualisiert und stellt den Endpunkt dar, den der Abstimmungsjob während der Abstimmung für den aktualisierten Standardprüfpunkt erstellt hat.
  • Wenn kein Modell vorhanden ist oder der Abstimmungsjob kein Modell abrufen kann, ist der Wert Endpoint leer.
  • Wenn der Standardprüfpunkt nicht bereitgestellt wurde (weil die Abstimmung noch läuft oder die Bereitstellung fehlgeschlagen ist), ist der Wert Endpoint leer.

Console

Sie können Ihr abgestimmtes Modell in der Gemini Enterprise Agent Platform Model Registry auf der Seite Endpunkte für die Onlinevorhersage aufrufen.

  1. Rufen Sie in der Google Cloud Console im Bereich „Agent Platform“ die Seite Model Registry auf.

    Zur Seite Model Registry

  2. Klicken Sie auf den Namen Ihres Modells.

    Die Standardversion Ihres Modells wird angezeigt.

  3. Klicken Sie auf den Tab Versionsdetails, um Informationen zu Ihrer Modellversion aufzurufen.

    Das Ziel ist Large model, der Modelltyp ist Foundation und die Quelle ist Vertex AI Studio tuning.

  4. Klicken Sie auf den Tab Bereitstellen und testen, um den Endpunkt zu sehen, auf dem das Modell bereitgestellt ist.

  5. Klicken Sie auf den Endpunktnamen, um die Seite Endpunkt aufzurufen. Dort finden Sie eine Liste der Prüfpunkte, die auf dem Endpunkt bereitgestellt sind. Für jeden Prüfpunkt werden die Modellversions-ID und die Prüfpunkt-ID angezeigt. Der Standardprüfpunkt wird durch das Wort default neben der Prüfpunkt-ID gekennzeichnet.

Alternativ können die Prüfpunkte auch auf der Seite Details zum Abstimmungsjob angezeigt werden. Rufen Sie die Seite Abstimmung auf und klicken Sie auf einen der Abstimmungsjobs, um diese Seite aufzurufen.

Zur Seite „Abstimmung“

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Get the tuning job and the tuned model.
# Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345"
tuning_job = client.tunings.get(name=tuning_job_name)
tuned_model = client.models.get(model=tuning_job.tuned_model.model)
print(tuned_model)
# Example response:
# Model(name='projects/123456789012/locations/us-central1/models/1234567890@1', ...)

print(f"Default checkpoint: {tuned_model.default_checkpoint_id}")
# Example response:
# Default checkpoint: 2

if tuned_model.checkpoints:
    for _, checkpoint in enumerate(tuned_model.checkpoints):
        print(f"Checkpoint {checkpoint.checkpoint_id}: ", checkpoint)
# Example response:
# Checkpoint 1:  checkpoint_id='1' epoch=1 step=10
# Checkpoint 2:  checkpoint_id='2' epoch=2 step=20

Wenn Sie den Gen AI Evaluation Service so konfiguriert haben, dass Bewertungen nach jedem Prüfpunkt ausgeführt werden, rufen Sie den Cloud Storage-Bucket auf, den Sie für die Bewertungsergebnisse konfiguriert haben.

Prüfpunkte testen

Sie können eine Liste der Prüfpunkte in der Model Registry der Gemini Enterprise Agent Platform aufrufen und jeden einzelnen testen. Sie können auch das Google Gen AI SDK verwenden, um Ihre Prüfpunkte aufzulisten und zu testen.

Console

  1. Rufen Sie die Seite Abstimmung auf, um Ihr abgestimmtes Modell in der Google Cloud Console zu finden.

    Zu Abstimmung

  2. Suchen Sie auf dem Tab Abstimmung nach Ihrem Modell und klicken Sie auf Monitoring.

  3. Klicken Sie in der Prüfpunkttabelle im Bereich Monitoring neben dem gewünschten Prüfpunkt auf den Link Testen.

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Get the tuning job and the tuned model.
# Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345"
tuning_job = client.tunings.get(name=tuning_job_name)

contents = "Why is the sky blue?"

# Predicts with the default checkpoint.
response = client.models.generate_content(
    model=tuning_job.tuned_model.endpoint,
    contents=contents,
)
print(response.text)
# Example response:
# The sky is blue because ...

# Predicts with Checkpoint 1.
checkpoint1_response = client.models.generate_content(
    model=tuning_job.tuned_model.checkpoints[0].endpoint,
    contents=contents,
)
print(checkpoint1_response.text)
# Example response:
# The sky is blue because ...

# Predicts with Checkpoint 2.
checkpoint2_response = client.models.generate_content(
    model=tuning_job.tuned_model.checkpoints[1].endpoint,
    contents=contents,
)
print(checkpoint2_response.text)
# Example response:
# The sky is blue because ...

Neuen Standardprüfpunkt auswählen

Sie können den Standardprüfpunkt verwenden, um den leistungsstärksten Prüfpunkt darzustellen. Standardmäßig ist der Standardprüfpunkt der letzte Prüfpunkt eines Abstimmungsjobs.

Wenn Sie ein Modell mit Prüfpunkten bereitstellen, wird der Standardprüfpunkt bereitgestellt.

Wenn Sie ein Modell mit Prüfpunkten kopieren, hat das Zielmodell dieselbe Standardprüfpunkt-ID wie das Quellmodell. Alle Prüfpunkte werden kopiert, sodass Sie einen neuen Standardprüfpunkt für das Zielmodell auswählen können.

Der Endpunkt des Abstimmungsjobs wird aktualisiert, wenn Sie einen Standardprüfpunkt aktualisieren. Sie können den neuen Endpunkt für die Inferenz verwenden.

Console

  1. Rufen Sie die Seite Abstimmung auf, um Ihr abgestimmtes Modell in der Google Cloud Console zu finden.

    Zu Abstimmung

  2. Suchen Sie auf dem Tab Abstimmung nach Ihrem Modell und klicken Sie auf Monitoring.

  3. Klicken Sie in der Prüfpunkttabelle im Bereich Überwachen neben dem gewünschten Prüfpunkt auf Aktionen und wählen Sie Als Standard festlegen aus.

  4. Klicken Sie auf Bestätigen.

    Die Messwertdiagramme und die Prüfpunkttabelle werden aktualisiert, um den neuen Standardprüfpunkt anzuzeigen. Der Endpunkt auf der TuningJob-Detailseite wird aktualisiert, um den Endpunkt des neuen Standardprüfpunkts anzuzeigen.

Google Gen AI SDK

from google import genai
from google.genai.types import HttpOptions, UpdateModelConfig

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Get the tuning job and the tuned model.
# Eg. tuning_job_name = "projects/123456789012/locations/us-central1/tuningJobs/123456789012345"
tuning_job = client.tunings.get(name=tuning_job_name)
tuned_model = client.models.get(model=tuning_job.tuned_model.model)

print(f"Default checkpoint: {tuned_model.default_checkpoint_id}")
print(f"Tuned model endpoint: {tuning_job.tuned_model.endpoint}")
# Example response:
# Default checkpoint: 2
# projects/123456789012/locations/us-central1/endpoints/123456789012345

# Set a new default checkpoint.
# Eg. checkpoint_id = "1"
tuned_model = client.models.update(
    model=tuned_model.name,
    config=UpdateModelConfig(default_checkpoint_id=checkpoint_id),
)

print(f"Default checkpoint: {tuned_model.default_checkpoint_id}")
print(f"Tuned model endpoint: {tuning_job.tuned_model.endpoint}")
# Example response:
# Default checkpoint: 1
# projects/123456789012/locations/us-central1/endpoints/123456789000000

Nächste Schritte