Gemini Distillation Service

Mit dem Gemini Distillation Service (Destillation) können Nutzer ein kleineres, effizienteres „Schülermodell“ trainieren, das die Ausgaben und Begründungsmuster eines größeren, leistungsfähigeren „Lehrermodells“ verwendet. Frontier-Modelle sind zwar die Spitze der KI, können aber für bestimmte Anwendungsfälle in Unternehmen überdimensioniert sein. Durch die Destillation wird diese Lücke geschlossen. Sie ermöglicht eine effiziente Produktion (geringere Latenz und Kosten), während kleinere Modelle ein höheres Maß an Argumentation erreichen können.

Im Gegensatz zur standardmäßigen überwachten Feinabstimmung (Supervised Fine-Tuning, SFT), bei der nur die endgültige Textausgabe verwendet wird, werden bei der Destillation folgende Elemente genutzt:

  • Lehrkraftantworten: Die endgültige Textausgabe.
  • Rohgedanken: Die internen Denkpfade, die vom Lehrermodell generiert werden.

Unterstützte Modelle

Die folgenden Modelle werden während des Vorabzugriffs für die Destillation unterstützt:

  • Lehrermodell: gemini-3.1-pro
  • Schülermodell: gemini-2.5-flash

Ein Flussdiagramm, das einen 5-stufigen Prozess zur Destillation von KI-Modellen veranschaulicht. Schritt 1: Das Eingabe-Dataset (GCS) verwendet ein Prompt-Dataset (JSONL) und ein optionales Validierungs-Dataset.
Schritt 2: Bei der Datenaufnahme und -vorbereitung werden die Daten auf das richtige Format geprüft und für die parallele Verarbeitung in Shards aufgeteilt. Schritt 3: Bei der Teacher-Modell-Inferenz wird das Teacher-Modell (Gemini 3.1 Pro) verwendet, um ein hochwertiges Dataset mit Labels zu generieren, das aus detaillierten Antworten und internen Begründungspfaden besteht. In Schritt 4 wird das Student-Modell (Gemini 2.5 Flash) verwendet, das lernt, den Denkprozess des Teacher-Modells anhand von Antworten, Mustern und Verteilungen nachzuahmen. Schritt 5: Ausgabe: Beim Erstellen des verkleinerten Modells werden drei Elemente generiert: ein endgültiges verkleinertes Modell, das in der Model Registry registriert ist, 10 Zwischenprüfpunkte, die für die Bewertung registriert sind, und automatisch erstellte Agent Platform Prediction-Endpunkte für die Prüfpunkte.

Abbildung 1. Systemabbildung zur Funktionsweise des Gemini Distillation Service.

Geeignete Anwendungsfälle

In den folgenden Szenarien wird die Destillation gegenüber Standard-Prompts oder dem überwachten Fine-Tuning (Supervised Fine-Tuning, SFT) empfohlen:

  • Anwendungen mit hohem Volumen und geringer Latenz: Wenn Ihre Anwendung die Schlussfolgerungsfunktionen eines Pro-Modells erfordert, aber strenge Latenz-SLAs oder Budgetbeschränkungen eingehalten werden müssen, die ein Flash-Modell erforderlich machen.
  • Fehlende Ground-Truth-Daten (SFT nicht möglich): Sie haben einen großen Datensatz mit Nutzer-Prompts oder ‑Anfragen, aber nicht die Ressourcen, um manuell hochwertige Ground-Truth-Antworten zu kennzeichnen oder zu generieren, die für Standard-SFT erforderlich sind.
  • Komplexe Aufgaben zum logischen Denken: Aufgaben, die mehrstufige Logik, Zusammenfassung hochtechnischer Dokumente oder komplexe Programmieraufgaben umfassen, bei denen das Flash-Basismodell Schwierigkeiten hat, das Pro-Modell aber erfolgreich ist.
  • Erhebliche Leistungsunterschiede: Wenn das Lehrermodell das Basis-Schülermodell bei Ihrer spezifischen Aufgabe deutlich übertrifft, ist ein klarer Wissensspielraum für die Übertragung während der Destillation gegeben.

Voraussetzungen und Projekteinrichtung

Bevor Sie einen Destillationsjob starten, müssen Sie sicherstellen, dass Ihre Google Cloud Umgebung richtig konfiguriert ist:

  1. Zugriff auf die Zulassungsliste anfordern: Prüfen Sie, ob Ihre Google Cloud Projekt-ID der Zulassungsliste für den Vorabzugriff auf den Gemini Distillation Service hinzugefügt wurde. Wenden Sie sich an Ihren Google-Vertriebsmitarbeiter, um Ihr Projekt auf die Zulassungsliste setzen zu lassen.
  2. API aktivieren: Aktivieren Sie die Agent Platform API in Ihrem Google Cloud Projekt.
  3. IAM-Rollenberechtigungen festlegen: Sie benötigen die IAM-Rolle „Agent Platform Administrator“ (roles/aiplatform.admin).
  4. Region festlegen: Distillationsjobs müssen in der Region us-central1 ausgeführt werden.

Dataset vorbereiten

Ein wichtiges Merkmal dieses Dienstes ist die Verwendung von Datasets, die nur Prompts enthalten. Da das Lehrermodell die Zielausgaben während des Destillationsprozesses generiert, müssen Sie die erwarteten Antworten nicht angeben.

Anforderungen an Datasets

Datasets müssen im JSON Lines-Format (JSONL) vorliegen und in einem Cloud Storage-Bucket gespeichert werden. Jeder Eintrag muss dem Format für Gemini-Abstimmungs-Datasets entsprechen und die folgenden Anforderungen erfüllen:

  • Systemanweisungen: Sie können ein optionales systemInstruction-Feld (mit der Rolle „system“) einfügen, um Systemprompts zu definieren.
  • Eingabe: Das Inhaltsfeld (mit der Rolle „Nutzer“) ist für die primäre Eingabe erforderlich.
  • Prompts mit mehreren Turns: Sie können zwischen den Rollen „user“ und „model“ wechseln, sofern der letzte Eintrag in der Sequenz „user“ ist.

Im Folgenden finden Sie zwei Beispiele für dataset.jsonl-Dateien:

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "You're the artist here. Choose as many strands of thread as you like, as long as you're using three or more. Go for color combinations that you think would make a pretty pattern. Get creative! If you only use one color of thread, you won't be able to create a pattern.\n\nProvide a summary of the article in two or three sentences:\n\n"
        }
      ]
    }
  ]
},
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "You're the artist here. Choose as many strands of thread as you like, as long as you're using three or more. Go for color combinations that you think would make a pretty pattern. Get creative! If you only use one color of thread, you won't be able to create a pattern.\n\nProvide a summary of the article in two or three sentences:\n\n"
        }
      ]
    },
    {
      "role": "model",
      "parts": [
        {
          "text": "Choose several strands of embroidery thread in a variety of colors."
        }
      ]
    },
    {
      "role": "user",
      "parts": [
        {
          "text": "You will need one egg (raw or hard boiled but hard boiled is best) and one spoon for each person participating in the race. You might even like to use dyed Easter eggs as something special for Easter. It's best to have this race on grass or some other soft surface, to give dropped eggs a chance!"
        }
      ]
    }
  ]
}

Best Practices

Beachten Sie beim Erstellen des Datasets die folgenden Richtlinien:

  • Größe: Für eine spürbare Qualitätsverbesserung werden mindestens 1.000 Beispiele empfohlen.
  • Vielfalt: Achten Sie darauf, dass Ihre Prompts die Grenzfälle und unterschiedlichen Längen abdecken, die in Ihrem Produktions-Traffic zu erwarten sind.

Destillierungsanfrage konfigurieren

Für einen Destillationsjob müssen sowohl das Generierungsverhalten des Lehrer- als auch die Trainingshyperparameter des Schülermodells konfiguriert werden.

Generierungsverhalten des Lehrermodells konfigurieren

Sie müssen definieren, wie das Lehrermodell auf Ihren Datensatz reagiert. Die Qualität des Schülermodells hängt direkt von der Qualität der Ausgabe des Lehrermodells ab. Um das Generierungsverhalten des Lehrermodells zu konfigurieren, legen Sie die candidateCount fest:

  • candidateCount: Die Anzahl der zu generierenden Antwortvarianten. Beispiel: 4. Bereich [1, 5]). Wenn er in der Anfrage nicht angegeben ist, wird der Standardwert 4 verwendet.

Destillations-Hyperparameter festlegen

Die Distillations-Hyperparameter steuern den Trainingsprozess des Schüler-Modells. Weitere Informationen zu Hyperparametern in der Gemini Enterprise Agent Platform finden Sie im Abschnitt Abstimmungsjob erstellen im Leitfaden zur überwachten Feinabstimmung.

Die folgenden Hyperparameter müssen beim Erstellen eines Destillationsjobs festgelegt werden:

  • epochCount: Die Anzahl der Durchläufe des Student-Modells über das Dataset. Beispiel: 20. Bereich [1, 100]). Wenn nicht angegeben, wird der Standardwert 4 verwendet.
  • learningRateMultiplier: Ändert die Basis-Lernrate des Schüler-Modells. Beispiel: 2.0. Bereich [0.25, 4]). Wenn nicht angegeben, wird der Standardwert 1 verwendet.

Destillationsjob starten

Während des Vorabzugriffszeitraums können Sie Destillierungsjobs über die REST-Version der Agent Platform API einreichen und überwachen. Sie können einen neuen Destillationsjob starten oder kontinuierliches Tuning für einen bereits destillierten Modell-Checkpoint durchführen.

Neuen Destillationsjob erstellen

Erstellen Sie eine JSON-Datei mit dem Namen request.json, die Ihre Jobkonfiguration enthält. Im folgenden Beispiel ist die Konfiguration für die Generierung des Lehrers im Feld hyperParameters verschachtelt:

{
    "description": "Distillation testing job.",
    "baseModel": "gemini-2.5-flash",
    "tunedModelDisplayName": "flash-distillation-run-1",
    "distillationSpec": {
        "promptDatasetUri": "gs://your-bucket/path/to/prompt_dataset.jsonl",
        "validationDatasetUri": "",
        "base_teacher_model": "gemini-3.1-pro-preview",
        "hyperParameters": {
            "epochCount": "20",
            "learningRateMultiplier": 2.0,
            "generation_config": {
              "candidateCount": 5
            }
        }
    }
}

Senden Sie den Job mit curl:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs \
  -d @request.json

Kontinuierliche Optimierung durchführen

Wenn Sie das Feinabstimmen mit einem zuvor destillierten Modell-Checkpoint fortsetzen möchten, fügen Sie den preTunedModel-Block in Ihre request.json-Datei ein. Die kontinuierliche Abstimmung wird nur für zuvor destillierte Modellprüfpunkte mit demselben zugrunde liegenden Student-Modell unterstützt. Zuvor überwacht abgestimmte Modellprüfpunkte (auch mit demselben Basis-Schülermodell) werden nicht unterstützt.

Im Folgenden sehen Sie ein Beispiel für die Einrichtung des kontinuierlichen Feinabstimmens für einen zuvor destillierten Modellprüfpunkt:

{
    "description": "Continuous distillation testing job.",
    "preTunedModel": {
      "tunedModelName": "projects/YOUR_PROJECT_ID/locations/us-central1/models/PRETUNED_MODEL_ID@1",
      "checkpointId": "1",
      "baseModel": "gemini-2.5-flash"
    },
    "tunedModelDisplayName": "flash-distillation-continuous",
    "distillationSpec": {
        "promptDatasetUri": "gs://your-bucket/path/to/prompt_dataset.jsonl",
        "validationDatasetUri": "",
        "base_teacher_model": "gemini-3.1-pro-preview",
        "hyperParameters": {
            "epochCount": "20",
            "learningRateMultiplier": 2.0,
            "generation_config": {
              "candidateCount": 5,
            }
        }
    }
}

Senden Sie die Nutzlast mit curl:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs \
  -d @request.json

Destillationsjob überwachen

Die Antwort auf die Einreichung enthält einen Jobnamen mit Ihrem JOB_ID. Sie können den Status Ihres Jobs (state, Fehler und endgültige Hyperparameter) mit einer GET-Anfrage abrufen:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs/JOB_ID

Sie können den Fortschritt auch visuell in der Google Cloud Console verfolgen. Rufen Sie dazu Agent Platform > Tuning auf und wählen Sie die Regionus-central1 aus.

Für diesen Release mit Vorabzugriff gelten für die Benutzeroberfläche der Agent Platform Console die folgenden bekannten Einschränkungen:

  • Fortschritt beim Erstellen von Beispielen für Lehrkräfte: Für den Prozess zum Erstellen von Beispielen für Lehrkräfte gibt es kein Fortschritts-Widget. Auch wenn der Status „Wird ausgeführt: Vorbereitung für das Optimieren“ angezeigt wird, wird der Job im Hintergrund normal ausgeführt.
  • Diagramme zur Abstimmung des Schülermodells: Während der Abstimmungsphase des Schülermodells werden in der Benutzeroberfläche Diagramme für die Verlustkurve und die Gesamtzahl der Text-Tokens für das Training angezeigt.
  • Checkpoint-Tabelle: In der Benutzeroberfläche wird eine Tabelle mit Zwischen-Checkpoints und Links zum generierten Agent Platform-Vorhersageendpunkt für die Bewertung angezeigt. In der Spalte „Epoche“ dieser Tabelle wird aufgrund eines bekannten Problems „0“ angezeigt.

Destillationsjob abbrechen

So brechen Sie einen laufenden Destillationsjob ab:

  • Verwenden Sie die Google Cloud Console und ändern Sie die folgende URL:

    https://console.cloud.google.com/agent-platform/tuning/managed?project=YOUR_PROJECT_ID&vertex_ai_region=us-central1

    Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.

  • Verwenden Sie curl, um eine POST-Anfrage zum Abbrechen des Jobs zu senden:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/tuningJobs/YOUR_JOB_ID:cancel
    

    Ersetzen Sie Folgendes:

    • YOUR_PROJECT_ID durch Ihre Projekt-ID,
    • YOUR_JOB_ID durch Ihre Job-ID.

Ergebnis auswerten

Nachdem der Destillationsjob erfolgreich abgeschlossen wurde, wird das neue Schülermodell automatisch in der Gemini Enterprise Agent Platform Model Registry registriert und es werden ein oder mehrere dedizierte Endpunkte für die Bereitstellung von Vorhersagen erstellt. Um das Ergebnis zu bewerten, suchen Sie den Endpunkt, senden eine Vorhersageanfrage und führen schließlich die Bewertung durch.

So bewerten Sie das Ergebnis:

  1. Senden Sie die folgende GET-Anfrage, um den Status des Tuning-Jobs abzurufen.

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/tuningJobs/YOUR_JOB_ID
    

    Ersetzen Sie Folgendes:

    • YOUR_PROJECT_ID durch Ihre Projekt-ID,
    • YOUR_JOB_ID durch Ihre Job-ID.
  2. Abgeschlossene Jobs enthalten ein endpoint-Feld, das im tunedModel-Objekt verschachtelt ist. Extrahieren Sie die ENDPOINT_ID vom Ende des zurückgegebenen Pfadstrings (z. B. projects/.../endpoints/YOUR_ENDPOINT_ID). Notieren Sie sich die Endpunkt-ID.

    Prüfen Sie, ob der Tuning-Job erfolgreich abgeschlossen wurde. Der Endpunkt ist nicht verfügbar, solange der Tuning-Job noch ausgeführt wird oder fehlgeschlagen ist. Wenn das Feld endpoint fehlt, können Sie den Tuning-Job debuggen, indem Sie die Schlüssel state oder error des Jobs aufrufen.

  3. Erstellen Sie eine JSON-Nutzlastanfrage mit dem Namen generate_content_request.json, die Ihren Prompt enthält:

    {
      "contents": {
        "role": "user",
        "parts": [
          {
            "text": "hi, say something"
          }
        ]
      }
    }
    
  4. Verwenden Sie das folgende POST-Beispiel, um eine Vorhersageanfrage zu senden:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_ENDPOINT_ID:generateContent \
      -d @generate_content_request.json
    

    Ersetzen Sie Folgendes:

    • YOUR_PROJECT_ID: Ihre Projekt-ID.
    • YOUR_JOB_ID: Ihre Job-ID.
    • ENDPOINT_ID: Ihre Endpunkt-ID.
  5. So werten Sie die Ergebnisse aus:

    1. Führen Sie einen Holdout-Testsatz mit Prompts aus, die nicht in den Trainingsdaten enthalten sind, um Ihr neu destilliertes Modell zu testen.

    2. Vergleichen Sie die Ausgaben mit dem Basismodell gemini-2.5-flash, um die Qualitätsverbesserungen zu messen.

    3. Vergleichen Sie die Ausgaben mit dem gemini-3.1-pro-Modell, um festzustellen, wie gut das Schülermodell die Argumentation des Lehrermodells nachvollzieht.

Beschränkungen

In der folgenden Tabelle werden die Einschränkungen für die Destillation beschrieben:

Für die Destillation gelten die folgenden Einschränkungen:

  • Modellbeschränkungen:
  • Dataset-Einschränkungen:
    • Volumenbegrenzungen:
      • Die maximale Kapazität des Trainingssets beträgt 50.000 Beispiele.
      • Die JSONL-Quelldatei darf nicht größer als 1 GB sein.
    • Spezifikationen für das Kontextfenster:
      • Der Dienst unterstützt maximal 8.000 Eingabetokens pro Eintrag. Destillationsjobs werden beendet, wenn mehr als 10% der bereitgestellten Einträge diesen Schwellenwert überschreiten.
      • Das Sampling des Lehrermodells ist auf eine maximale Ausgabe von 24.000 Tokens begrenzt. Wenn das Lehrermodell mehr als 24.000 Tokens generiert, wird der Inhalt an diesem Limit abgeschnitten, was sich auf die Leistung des Schülermodells auswirken kann.
    • Modalität: Beschränkt auf textbasierte Daten. Multimodale Eingaben wie Videos, Bilder oder Funktionsaufrufe werden nicht unterstützt.
  • Konfigurations- und Hyperparameter-Einschränkungen
    • Halten Sie sich beim Definieren von „distillationSpec“ und den zugehörigen „hyperParameters“ an die folgenden Grenzen:
      • Verschlüsselung: CMEK ist für Destillierungsaufgaben mit den eigenen Modellen von Google nicht verfügbar.
      • epochCount: Beschränkt auf einen ganzzahligen Wert zwischen 1 und 100.
      • learningRateMultiplier: Die Werte müssen im Gleitkomma-Bereich von 0.25 bis 4.0 liegen.
  • Einstufige Destillation: Das Sampling des Lehrermodells und die Abstimmung des Schülermodells werden in einem einzigen API-Aufruf ausgeführt. Wenn Sie eine große Menge an Daten für das Sampling haben, müssen dieselben Daten beim nächsten Tuning noch einmal gesampelt werden.

Zugriff erhalten

Wenn Sie den Gemini Distillation Service testen möchten, wenden Sie sich an unser Tuning Service-Team unter cloud-ai-tuning-service-support@google.com, um Zugriff und eine Zulassungsliste für Ihr Projekt anzufordern.

Für eine optimale Leistung und Ressourcenverwaltung empfehlen wir, ein separates Google Cloud Projekt für Ihre Destillierungsaufgaben zu erstellen. Wenn Sie sich an unser Team wenden, geben Sie Ihre Projekt-ID oder Projektnummer an, um die Zulassungsliste zu beschleunigen.

Kontingent- und Zugriffsrichtlinien

Es gelten die folgenden Kontingente und Zugriffsrichtlinien:

  • Kapazität: Projekte, die kürzlich auf unsere Zulassungsliste gesetzt wurden, werden mit einem Standardkontingent von 4 gleichzeitigen Anfragen bereitgestellt. Um Ressourcenkonflikte zu vermeiden, empfehlen wir, ein separates Projekt zu verwenden und nicht eines, in dem bereits andere Gemini-Abstimmungsjobs ausgeführt werden.

  • Zugriffszeitraum: Der Zugriff wird für einen anfänglichen Zeitraum von 30 Tagen gewährt.