Daten für die beaufsichtigte Feinabstimmung von Gemini-Modellen vorbereiten

In diesem Dokument wird beschrieben, wie Sie einen Datensatz für das überwachte Fine-Tuning für ein Gemini-Modell definieren. Sie können die Datentypen Text, Bild, Audio und Dokument abstimmen.

Datasets für die überwachte Feinabstimmung

Ein Dataset für die überwachte Feinabstimmung wird verwendet, um ein vortrainiertes Modell für eine bestimmte Aufgabe oder Domain abzustimmen. Die Eingabedaten sollten ähnlich denen aussehen, die Sie für das Modell in der Praxis erwarten. Die Ausgabelabels sollten die richtigen Antworten oder Ergebnisse für jede Eingabe darstellen.

Trainings-Dataset

Zum Abstimmen eines Modells stellen Sie ein Trainings-Dataset bereit. Die besten Ergebnisse erzielen Sie erst einmal mit 100 Beispielen. Bei Bedarf können Sie die Anzahl der Beispiele auf Tausende hochskalieren. Die Qualität des Datasets ist viel wichtiger als die Menge.

Validierungs-Dataset

Wir empfehlen dringend, einen Validierungsdatensatz bereitzustellen. Mit einem Validierungs-Dataset können Sie die Effektivität eines Abstimmungsjobs messen.

Beschränkungen

Informationen zu Einschränkungen für Datasets, z. B. maximale Anzahl von Ein- und Ausgabetokens, maximale Größe des Validierungsdatasets und maximale Dateigröße des Trainingsdatasets, finden Sie unter Über das überwachte Fine-Tuning für Gemini-Modelle.

Dataset-Format

Wir unterstützen die folgenden Datenformate:

Beispiel für ein Dataset für Gemini

{
  "systemInstruction": {
    "role": string,
    "parts": [
      {
        "text": string
      }
    ]
  },
  "contents": [
    {
      "role": string,
      "parts": [
        {
          // Union field data can be only one of the following:
          "text": string,
          "fileData": {
            "mimeType": string,
            "fileUri": string
          }
        }
      ]
    }
  ]
}

Parameter

Das Beispiel enthält Daten mit den folgenden Parametern:

Parameter

contents

Erforderlich: Content

Der Inhalt der aktuellen Unterhaltung mit dem Modell.

Bei Einzelabfragen ist dies eine einzelne Instanz. Bei Mehrfachabfragen ist dies ein wiederkehrendes Feld, das den Unterhaltungsverlauf und die letzte Anfrage enthält.

systemInstruction

Optional: Content

Weitere Informationen finden Sie unter Unterstützte Modelle.

Anleitung für das Modell, um es zu einer besseren Leistung zu steuern. Beispiel: „Antworten Sie so kurz wie möglich“ oder „Verwenden Sie in Ihrer Antwort keine technischen Begriffe“.

Die text-Strings werden auf das Tokenlimit angerechnet.

Das Feld role von systemInstruction wird ignoriert und wirkt sich nicht auf die Leistung des Modells aus.

tools

Optional. Ein Code, der es dem System ermöglicht, mit externen Systemen zu interagieren, um eine Aktion oder eine Reihe von Aktionen außerhalb des Wissens und Umfangs des Modells auszuführen. Weitere Informationen

Inhalt

Der strukturierte Basisdatentyp, der mehrteilige Inhalte einer Nachricht enthält.

Diese Klasse besteht aus zwei Hauptattributen: role und parts. Das Attribut role bezeichnet die Person, die den Inhalt erzeugt, während das Attribut parts mehrere Elemente enthält, die jeweils ein Datensegment innerhalb einer Nachricht darstellen.

Parameter

role

Optional: string

Die Identität der Entität, die die Nachricht erstellt. Folgende Werte werden unterstützt:

  • user: Gibt an, dass die Nachricht von einer realen Person gesendet wurde, in der Regel eine von Nutzern erstellte Nachricht.
  • model: Gibt an, dass die Nachricht vom Modell generiert wird.

Der Wert model wird verwendet, um Nachrichten aus dem Modell in die Unterhaltung einzufügen, die Unterhaltungen über mehrere Themen führen.

Bei Unterhaltungen, die nicht mehrere Themen enthalten, kann dieses Feld leer bleiben oder nicht festgelegt werden.

parts

part

Eine Liste geordneter Teile einer einzelnen Nachricht. Verschiedene Teile haben möglicherweise unterschiedliche IANA-MIME-Typen.

Informationen zu den Limits für die Eingaben, z. B. die maximale Anzahl von Tokens oder die Anzahl der Bilder, finden Sie in den Modellspezifikationen auf der Seite Google-Modelle.

Informationen zum Berechnen der Anzahl der Tokens in Ihrer Anfrage finden Sie unter Tokenanzahl abrufen.

Teile

Ein Datentyp mit Medien, die Teil einer mehrteiligen Content-Nachricht sind.

Parameter

text

Optional: string

Ein Text-Prompt oder ein Code-Snippet.

fileData

Optional: fileData

In einer Datei gespeicherte Daten.

functionCall

Optional: FunctionCall.

Es enthält einen String, der das Feld FunctionDeclaration.name darstellt, und ein strukturiertes JSON-Objekt mit allen Parametern für den vom Modell vorhergesagten Funktionsaufruf.

Weitere Informationen

functionResponse

Optional: FunctionResponse.

Die Ergebnisausgabe eines FunctionCall, das einen String enthält, der das Feld FunctionDeclaration.name darstellt, und ein strukturiertes JSON-Objekt, das die Ausgabe des Funktionsaufrufs enthält. Sie wird als Kontext für das Modell verwendet.

Weitere Informationen

Dataset-Beispiel

Jedes Unterhaltungsbeispiel in einem Dataset zur Feinabstimmung besteht aus einem erforderlichen messages-Feld und einem optionalen context-Feld.

Das Feld messages besteht aus einem Array von Rollen-Inhalts-Paaren:

  • Das Feld role bezieht sich auf den Autor der Nachricht und ist auf system, user oder model festgelegt. Die Rolle system ist optional und kann nur beim ersten Element der Nachrichtenliste vorkommen. Die Rollen user und model sind erforderlich und können sich abwechselnd wiederholen.
  • Das Feld content ist der Inhalt der Nachricht.

Für jedes Beispiel beträgt die maximale Tokenlänge für context und messages zusammen 131.072 Tokens. Außerdem sollte jedes content-Feld für das Feld model 8.192 Tokens nicht überschreiten.

{
  "messages": [
    {
      "role": string,
      "content": string
    }
  ]
}

Konsistenz mit Produktionsdaten gewährleisten

Die Beispiele in Ihren Datasets sollten dem erwarteten Produktionstraffic entsprechen. Wenn Ihr Dataset bestimmte Formatierungen, Keywords, Anleitungen oder Informationen enthält, sollten die Produktionsdaten auf die gleiche Weise formatiert sein und die gleichen Anweisungen enthalten.

Wenn die Beispiele in Ihrem Dataset beispielsweise ein "question:" und ein "context:" enthalten, sollte der Produktionstraffic ebenfalls so formatiert werden, dass er ein "question:" und ein "context:" in der gleichen Reihenfolge wie in den Dataset-Beispielen enthält. Wenn Sie den Kontext ausschließen, erkennt das Modell das Muster nicht, selbst wenn die genaue Frage in einem Beispiel im Dataset vorkommt.

Abstimmungs-Datasets in Cloud Storage hochladen

Zum Ausführen eines Abstimmungsjobs müssen Sie ein oder mehrere Datasets in einen Cloud Storage-Bucket hochladen. Sie können entweder einen neuen Cloud Storage-Bucket erstellen oder einen vorhandenen Bucket zum Speichern von Dataset-Dateien verwenden. Die Region des Buckets spielt keine Rolle. Wir empfehlen jedoch die Verwendung eines Buckets im selbenGoogle Cloud -Projekt, in dem Sie die Modellabstimmung ausführen möchten.

Wenn der Bucket bereit ist, laden Sie Ihre Dataset-Datei in den Bucket hoch.

Best Practices für das Prompt-Design befolgen

Wenn Sie Ihr Trainingsdataset haben und das Modell trainiert haben, ist es an der Zeit, Prompts zu entwerfen. Es ist wichtig, dass Sie in Ihrem Trainings-Dataset die Best Practices für das Prompt-Design befolgen, um eine detaillierte Beschreibung der auszuführenden Aufgabe und der gewünschten Ausgabe zu geben.

Nächste Schritte