Checkpoints bei der überwachten Feinabstimmung für Gemini-Modelle verwenden

Ein Prüfpunkt ist ein Snapshot des Modellstatus zu einem bestimmten Zeitpunkt im Fine-Tuning-Prozess. Sie können Zwischenprüfpunkte bei der Feinabstimmung von Gemini-Modellen für Folgendes verwenden:

  • Fortschritt der Feinabstimmung speichern
  • Vergleichen Sie die Leistung von Zwischenprüfpunkten.
  • Wählen Sie den leistungsstärksten Checkpoint aus, bevor Sie ihn als Standard-Checkpoint festlegen.

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. Die Ausnahme ist der letzte Prüfpunkt, der sofort nach dem Training aller Epochen gespeichert wird.

Zwischenprüfpunkte werden im Laufe der Optimierung sequenziell auf neuen Endpunkten bereitgestellt. Der Endpunkt des feinabgestimmten Modells entspricht dem Endpunkt des Standardprüfpunkts. Die Prüfpunkte des feinabgestimmten Modells umfassen alle Prüfpunkte und die entsprechenden Endpunkte.

Unterstützte Modelle

Die folgenden Gemini-Modelle unterstützen Checkpoints:

  • gemini-2.0-flash-001
  • gemini-2.0-flash-lite-001
  • gemini-2.5-flash
  • gemini-2.5-flash-lite
  • gemini-2.5-pro

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

Abstimmungsjob erstellen, der Checkpoints exportiert

Sie können einen überwachten Feinabstimmungsjob erstellen, der Checkpoints exportiert, indem Sie das Google Gen AI SDK oder die Google Cloud -Konsole verwenden.

Console

Wenn Sie einen Abstimmungsjob erstellen möchten, bei dem Checkpoints exportiert werden, rufen Sie die Seite Vertex AI Studio auf und wählen Sie den Tab Abstimmung aus. Weitere Informationen finden Sie unter Modell abstimmen.

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 Auswertungskonfiguration ist in der Region us-central1 verfügbar.

import time

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

# 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 {response}"""
        )
    ],
    output_config=OutputConfig(
        gcs_destination=GcsDestination(
            output_uri_prefix=output_gcs_uri,
        )
    ),
)

tuning_job = client.tunings.tune(
    base_model="gemini-2.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 Feinabstimmungsjob in derGoogle Cloud Console ansehen oder sie mit dem Google Gen AI SDK auflisten.

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

Console

  1. Wenn Sie Ihr optimiertes Modell in der Google Cloud Console suchen möchten, rufen Sie die Seite Vertex AI Studio auf.

    Zu Vertex AI Studio

  2. Suchen Sie auf dem Tab Feinabstimmung nach Ihrem Modell und klicken Sie auf Überwachen.

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

    • Für jede Epoche sehen Sie eine Schrittnummer und eine Epochennummer.
    • Die Schrittnummer ist der genaue Schritt, in dem ein Prüfpunkt gespeichert wird.
    • Die Epochennummer ist eine geschätzte Epochennummer, zu der der Prüfpunkt gehört. Das gilt nicht für den letzten Prüfpunkt eines abgeschlossenen Abstimmungsjobs, 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 Console ansehen 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 des Abstimmungsvorgangs für den aktualisierten Standardprüfpunkt erstellt hat.
  • Wenn kein Modell vorhanden ist oder der Tuning-Job kein Modell abrufen kann, ist der Wert Endpoint leer.
  • Wenn der Standard-Checkpoint nicht bereitgestellt wird (weil die Optimierung noch läuft oder die Bereitstellung fehlgeschlagen ist), ist der Endpoint-Wert leer.

Console

Sie können Ihr abgestimmtes Modell in der Vertex AI Model Registry auf der Seite Endpunkte für Onlinevorhersagen ansehen.

  1. Rufen Sie in der Google Cloud Console im Bereich „Vertex AI“ 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.

    Beachten Sie, dass das Zielvorhaben Large model, der Modelltyp Foundation und die Quelle Vertex AI Studio tuning ist.

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

  5. Klicken Sie auf den Endpunktnamen, um die Seite Endpunkt aufzurufen. Dort sehen Sie die Liste der Checkpoints, die für den Endpunkt bereitgestellt werden. Für jeden Prüfpunkt werden die Modellversions-ID und die Prüfpunkt-ID angezeigt.

Alternativ können die Prüfpunkte auch auf der Seite Tuning Job Details (Details zum Tuning-Job) aufgerufen 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 nach jedem Prüfpunkt Auswertungen ausgeführt werden, sehen Sie sich den Cloud Storage-Bucket an, den Sie für die Auswertungsergebnisse konfiguriert haben.

Prüfpunkte testen

Sie können eine Liste der Checkpoints in der Vertex AI Model Registry aufrufen und jeden einzelnen testen. Alternativ können Sie das Google Gen AI SDK verwenden, um Ihre Checkpoints aufzulisten und zu testen.

Console

  1. Wenn Sie Ihr optimiertes Modell in der Google Cloud Console suchen möchten, rufen Sie die Seite Vertex AI Studio auf.

    Zu Vertex AI Studio

  2. Suchen Sie auf dem Tab Feinabstimmung nach Ihrem Modell und klicken Sie auf Überwachen.

  3. Klicken Sie in der Prüfpunkt-Tabelle im Bereich Monitor 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. Sie können also einen neuen Standardprüfpunkt für das Zielmodell auswählen.

Der Endpunkt des Tuning-Jobs wird aktualisiert, wenn Sie einen Standardprüfpunkt aktualisieren. Sie können den neuen Endpunkt für Vorhersagen verwenden.

Console

  1. Wenn Sie Ihr optimiertes Modell in der Google Cloud Console suchen möchten, rufen Sie die Seite Vertex AI Studio auf.

    Zu Vertex AI Studio

  2. Suchen Sie auf dem Tab Feinabstimmung nach Ihrem Modell und klicken Sie auf Überwachen.

  3. Klicken Sie in der Checkpoint-Tabelle im Bereich Monitor neben dem gewünschten Checkpoint auf  Aktionen und wählen Sie Als Standard festlegen aus.

  4. Klicken Sie auf Bestätigen.

    Die Messwertdiagramme und die Prüfpunkt-Tabelle werden aktualisiert und zeigen den neuen Standardprüfpunkt an. Der Endpunkt auf der Detailseite von TuningJob wird aktualisiert und zeigt den Endpunkt des neuen Standardprüfpunkts an.

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