Einführung in die Modellabstimmung

Prompt-Designstrategien wie wenige Shots Prompts führen möglicherweise nicht immer zu den gewünschten Ergebnissen. Mit der Modellabstimmung können Sie die Leistung eines Modells bei bestimmten Aufgaben verbessern oder dafür sorgen, dass das Modell bestimmte Ausgabeanforderungen erfüllt, wenn die Anweisungen nicht ausreichen und Sie eine Reihe von Beispielen haben, die die gewünschten Ausgaben zeigen.

Auf dieser Seite finden Sie eine Anleitung zum Optimieren des Textmodells hinter dem Gemini API-Textdienst.

So funktioniert die Modellabstimmung

Das Ziel der Modellabstimmung ist es, die Leistung des Modells für Ihre spezifische Aufgabe weiter zu verbessern. Zur Abstimmung des Modells wird das Modell mit einem Trainings-Dataset bereitgestellt, das viele Beispiele der Aufgabe enthält. Bei Nischenaufgaben können Sie die Modellleistung erheblich verbessern, wenn Sie das Modell anhand einer kleinen Anzahl von Beispielen optimieren.

Ihre Trainingsdaten sollten als Beispiele mit Prompt-Eingaben und erwarteten Antwortausgaben strukturiert sein. Außerdem können Sie Modelle mithilfe von Beispieldaten direkt in Google AI Studio abstimmen. Ziel ist es, dem Modell beizubringen, das gewünschte Verhalten oder die gewünschte Aufgabe zu imitieren. Dazu werden viele Beispiele angeführt, die dieses Verhalten oder diese Aufgabe veranschaulichen.

Wenn Sie einen Abstimmungsjob ausführen, lernt das Modell zusätzliche Parameter, mit denen es die erforderlichen Informationen codieren kann, um die gewünschte Aufgabe auszuführen oder das gewünschte Verhalten zu erlernen. Diese Parameter können dann zur Inferenzzeit verwendet werden. Die Ausgabe des Abstimmungsjobs ist ein neues Modell, das praktisch eine Kombination aus den neu gelernten Parametern und dem ursprünglichen Modell ist.

Unterstützte Modelle

Die folgenden Foundation Models unterstützen die Modellabstimmung. Es wird nur die Textvervollständigung in einem Schritt unterstützt.

  • Gemini 1.0 Pro
  • text-bison-001

Workflow der Modellabstimmung

Der Workflow für die Modellabstimmung sieht so aus:

  1. Bereiten Sie das Dataset vor.
  2. Importieren Sie das Dataset, wenn Sie Google AI Studio verwenden.
  3. Starten Sie einen Abstimmungsjob.

Nach der Modellabstimmung wird der Name des abgestimmten Modells angezeigt. Sie können es auch in Google AI Studio als Modell auswählen, das beim Erstellen einer neuen Aufforderung verwendet werden soll.

Dataset vorbereiten

Bevor Sie mit der Abstimmung beginnen können, benötigen Sie ein Dataset, mit dem Sie das Modell abstimmen können. Für eine optimale Leistung sollten die Beispiele im Dataset von hoher Qualität, vielfältig und für echte Eingaben und Ausgaben repräsentativ sein.

Format

Die in Ihrem Dataset enthaltenen Beispiele 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, kann das Modell das Muster nicht erkennen, auch dann nicht, wenn sich die Frage genau in einem Beispiel im Dataset befunden hat.

Das Hinzufügen einer Aufforderung oder Präambel zu jedem Beispiel im Dataset kann auch dazu beitragen, die Leistung des abgestimmten Modells zu verbessern. Hinweis: Wenn Ihr Dataset eine Aufforderung oder eine Präambel enthält, sollte diese auch zum Zeitpunkt der Inferenz in den Prompt für das abgestimmte Modell aufgenommen werden.

Größe der Trainingsdaten

Sie können ein Modell mit nur 20 Beispielen abstimmen und zusätzliche Daten verbessern im Allgemeinen die Qualität der Antworten. Je nach Anwendung sollten Sie 100 bis 500 Beispiele als Ziel festlegen. In der folgenden Tabelle sind empfohlene Dataset-Größen zum Abstimmen eines Textmodells für verschiedene gängige Aufgaben aufgeführt:

Aufgabe Anzahl der Beispiele im Dataset
Klassifizierung 100+
Zusammenfassung 100-500+
Dokumentsuche 100+

Abstimmungs-Dataset hochladen

Die Daten werden entweder inline mit der API oder über Dateien übergeben, die in Google AI Studio hochgeladen werden.

Verwenden Sie die Schaltfläche Importieren, um Daten aus einer Datei zu importieren, oder wählen Sie einen strukturierten Prompt mit Beispielen aus, der als Dataset für die Abstimmung importiert werden soll.

Clientbibliothek

Geben Sie die Datendatei im createTunedModel-Aufruf an, um die Clientbibliothek zu verwenden. Die maximal zulässige Dateigröße beträgt 4 MB. Informationen zum Einstieg finden Sie in der Kurzanleitung zur Feinabstimmung mit Python.

Curl

Wenn Sie die REST API mit Curl aufrufen möchten, stellen Sie dem Argument training_data Trainingsbeispiele im JSON-Format bereit. Informationen zum Einstieg finden Sie in der Kurzanleitung zur Feinabstimmung mit Curl.

Erweiterte Abstimmungseinstellungen

Beim Erstellen eines Abstimmungsjobs können Sie die folgenden erweiterten Einstellungen angeben:

  • Epochen: Ein vollständiger Trainingsdurchlauf, der den gesamten Trainingssatz umfasst, sodass jedes Beispiel einmal verarbeitet wurde.
  • Batchgröße: Die Beispiele, die in einer Trainingsiteration verwendet werden. Die Batchgröße bestimmt die Anzahl der Beispiele in einem Batch.
  • Lernrate: Eine Gleitkommazahl, die dem Algorithmus angibt, wie stark die Modellparameter bei jedem Durchlauf angepasst werden sollen. Beispielsweise werden mit einer Lernrate von 0,3 Gewichtungen und Verzerrungen dreimal stärker angepasst als mit einer Lernrate von 0,1. Hohe und niedrige Lernraten haben ihre eigenen Vor- und Nachteile und sollten an Ihren Anwendungsfall angepasst werden.
  • Lernratenmultiplikator: Der Multiplikator ändert die ursprüngliche Lernrate des Modells. Bei einem Wert von 1 wird die ursprüngliche Lernrate des Modells verwendet. Werte über 1 erhöhen die Lernrate und Werte zwischen 1 und 0 senken die Lernrate.

Die folgende Tabelle enthält die empfohlenen Konfigurationen zum Optimieren eines Basismodells:

Hyperparameter Standardwert Empfohlene Anpassungen
Epoche 5 Wenn sich der Verlust vor 5 Epochen einpendelt, verwenden Sie einen kleineren Wert.
Wenn der Verlust konvergiert und nicht zu stabilisieren scheint, verwenden Sie einen höheren Wert.
Batchgröße 4
Lernrate 0,001 Verwenden Sie für kleinere Datasets einen kleineren Wert.

Die Verlustkurve zeigt, wie stark die Vorhersage des Modells nach jeder Epoche von den idealen Vorhersagen in den Trainingsbeispielen abweicht. Idealerweise sollten Sie das Training an dem niedrigsten Punkt in der Kurve direkt vor dem Plateaus beenden. Das folgende Diagramm zeigt beispielsweise, dass sich die Verlustkurve etwa bei Epoche 4 bis 6 einpendelt. Das bedeutet, dass Sie den Parameter „Epoche“ auf 4 setzen und die gleiche Leistung erzielen können.

Verlustkurve

Status des Abstimmungsjobs prüfen

Sie können den Status des Abstimmungsjobs in der Google AI Studio-UI auf dem Tab My Library (Meine Bibliothek) oder mithilfe des Attributs metadata des abgestimmten Modells in der Gemini API prüfen.

Fehler beheben

Dieser Abschnitt enthält Tipps zum Beheben von Fehlern, die beim Erstellen Ihres abgestimmten Modells auftreten können.

Authentifizierung

Für die Abstimmung über die API und die Clientbibliothek ist eine Nutzerauthentifizierung erforderlich. Ein API-Schlüssel allein ist nicht ausreichend. Wenn der Fehler 'PermissionDenied: 403 Request had insufficient authentication scopes' angezeigt wird, müssen Sie die Nutzerauthentifizierung einrichten.

Informationen zum Konfigurieren von OAuth-Anmeldedaten für Python finden Sie in der Anleitung zur OAuth-Einrichtung.

Abgebrochene Modelle

Sie können einen Modellabstimmungsjob jederzeit abbrechen, solange er noch nicht abgeschlossen ist. Die Inferenzleistung eines abgebrochenen Modells ist jedoch unvorhersehbar, insbesondere wenn der Abstimmungsjob zu Beginn des Trainings abgebrochen wird. Wenn Sie den Vorgang abgebrochen haben, weil Sie das Training zu einer früheren Epoche beenden möchten, sollten Sie einen neuen Abstimmungsjob erstellen und die Epoche auf einen niedrigeren Wert setzen.

Nächste Schritte