Mit der Gemini API optimieren

Designstrategien für Prompts wie „wenige-Shot-Prompts“ führen nicht immer zu dem Ergebnis, Ergebnisse, die Sie benötigen. Die Feinabstimmung ist ein Prozess, mit dem Sie die bei bestimmten Aufgaben zu unterstützen oder dem Modell zu helfen, wenn die Anleitung nicht ausreicht und Sie eine Reihe von Beispielen haben die die gewünschten Ausgaben zeigen.

Diese Seite enthält eine Anleitung zur Feinabstimmung des Textmodells, das der Gemini API zugrunde liegt Text-Service.

Funktionsweise der Abstimmung

Ziel der Feinabstimmung ist es, die Leistung des Modells Ihre spezifische Aufgabe. Für die Feinabstimmung wird ein Training für das Modell bereitgestellt. Dataset mit vielen Beispielen der Aufgabe. Für Nischenaufgaben können Sie Erhebliche Verbesserungen der Modellleistung durch eine einfache Feinabstimmung des Modells. Anzahl der Beispiele.

Ihre Trainingsdaten sollten als Beispiele mit Prompt-Eingaben erwartete Antwortausgaben. Sie können Modelle auch direkt anhand von Beispieldaten abstimmen in Google AI Studio. Ziel ist es, dem Modell beizubringen, das gewünschte Verhalten nachzuahmen. oder Aufgabe, indem Sie ihm viele Beispiele geben, die dieses Verhalten oder diese Aufgabe veranschaulichen.

Wenn Sie einen Abstimmungsjob ausführen, lernt das Modell zusätzliche Parameter, die ihm helfen Die notwendigen Informationen zu codieren, um die gewünschte Aufgabe auszuführen oder das Gesuchte zu lernen verhalten. Diese Parameter können dann zum Zeitpunkt der Inferenz verwendet werden. Die Ausgabe des Abstimmungsjob ist ein neues Modell, das praktisch eine Kombination aus erlernten Parameter und das ursprüngliche Modell.

Dataset vorbereiten

Bevor Sie mit der Feinabstimmung beginnen können, benötigen Sie ein Dataset, mit dem Sie das Modell abstimmen können. Für die beste Leistung bietet, sollten die Beispiele im Dataset hochwertig, vielfältig und für echte Ein- und Ausgaben repräsentativ sind.

Format

Die im Dataset enthaltenen Beispiele sollten mit der erwarteten Produktionsversion übereinstimmen. Zugriffe. 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 wenn die genaue Frage in einem Beispiel im Dataset enthalten war.

Es kann auch hilfreich sein, zu jedem Beispiel in Ihrem Dataset einen Prompt oder eine Präambel hinzuzufügen. um die Leistung des abgestimmten Modells zu verbessern. Wenn ein Prompt oder eine Präambel in Ihrem Dataset enthalten ist, sollte sie auch im Prompt für das abgestimmte Modell zur Inferenzzeit.

Größe der Trainingsdaten

Sie können ein Modell mit nur 20 Beispielen optimieren. Zusätzliche Daten verbessert allgemein die Qualität der Antworten. Sie sollten zwischen 100 und 500 Beispiele, je nach Anwendung. In der folgenden Tabelle sehen Sie Empfohlene Dataset-Größen für die Feinabstimmung eines Textmodells für verschiedene gängige Aufgaben:

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

Klicken Sie auf die Schaltfläche Importieren und folgen Sie der Anleitung im Dialogfeld, um Daten zu importieren. aus einer Datei auswählen oder einen strukturierten Prompt mit Beispielen auswählen, um ihn als Abstimmung zu importieren Dataset.

Clientbibliothek

Um die Clientbibliothek zu verwenden, stellen Sie die Datendatei im createTunedModel bereit. aufrufen. Die maximal zulässige Dateigröße beträgt 4 MB. Weitere Informationen finden Sie im Kurzanleitung zur Optimierung mit Python.

cURL

Um die REST API mit cURL aufzurufen, stellen Sie Trainingsbeispiele im JSON-Format bereit, Das Argument training_data. Weitere Informationen finden Sie im Kurzanleitung zur Feinabstimmung mit cURL.

Erweiterte Abstimmungseinstellungen

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

  • Epochen:Ein vollständiger Trainingsdurchlauf über das gesamte Trainings-Dataset, sodass jedes Beispiel wurde einmal verarbeitet.
  • Batchgröße:Die Reihe von Beispielen, die in einer Trainingsdurchlaufung verwendet werden. Die die Batchgröße bestimmt die Anzahl der Beispiele in einem Batch.
  • Lernrate:Eine Gleitkommazahl, die dem Algorithmus angibt, um die Modellparameter bei jeder Iteration anzupassen. Beispiel: eine Lernrate von 0,3, würden Gewichtungen und Verzerrungen dreimal mehr als eine Lernrate von 0,1. Hohe und niedrige Lernraten und sollten je nach Anwendungsfall angepasst werden.
  • Multiplikator für Lernrate:Mit dem Multiplikator wird der Wert ursprüngliche Lernrate zu verbessern. Ein Wert von 1 verwendet die ursprüngliche Lernrate der modellieren. Werte über 1 erhöhen die Lernrate und Werte zwischen 1 und 0 die Lernrate senken.

In der folgenden Tabelle sehen Sie die empfohlenen Konfigurationen für die Foundation Model:

Hyperparameter Standardwert Empfohlene Anpassungen
Epoch 5

Wenn der Verlust vor fünf Epochen zu einem Plateau führt, verwenden Sie einen kleineren Wert.

Wenn der Verlust konvergieren und sich nicht auffallen lässt, 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 vom Idealwert abweicht. Vorhersagen in den Trainingsbeispielen nach jeder Epoche. Idealerweise sollten Sie am tiefsten Punkt der Kurve direkt vor dem Plateau. Beispiel: das Diagramm unten zeigt die Verlustkurve, die ungefähr im Zeitraum von 4 bis 6 können Sie den Parameter Epoch auf 4 setzen, um dieselbe Leistung zu erzielen.

Liniendiagramm, das die Verlustkurve für das Modell zeigt. Die Linie spitzt zwischen den
in der ersten und zweiten Epoche, sinkt dann stark auf fast null und steigt an,
nach drei Epochen.

Status des Abstimmungsjobs prüfen

Sie können den Status Ihres Abstimmungsjobs in Google AI Studio unter dem Meine Bibliothek oder mithilfe des Attributs metadata des abgestimmten Modells im Gemini API verfügbar.

Fehler beheben

Dieser Abschnitt enthält Tipps zur Behebung von Fehlern, die auftreten können, wenn Erstellen Ihres abgestimmten Modells.

Authentifizierung

Für die Abstimmung mithilfe der API und der Clientbibliothek ist eine Nutzerauthentifizierung erforderlich. API-Schlüssel allein reicht nicht aus. Wenn der Fehler 'PermissionDenied: 403 Request had insufficient authentication scopes' angezeigt wird, müssen Sie den Nutzer Authentifizierung.

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

Gekündigte Modelle

Sie können einen Abstimmungsjob jederzeit vor Abschluss des Jobs abbrechen. Sie können jedoch Die Inferenzleistung eines abgebrochenen Modells ist unvorhersehbar, insbesondere wenn wird der Abstimmungsjob zu Beginn des Trainings abgebrochen. Wenn du gekündigt hast, weil du Wenn Sie das Training zu einer früheren Epoche beenden möchten, sollten Sie eine neue Abstimmung erstellen und legen Sie für die Epoche einen niedrigeren Wert fest.

Nächste Schritte