Die überwachte Feinabstimmung ist eine gute Option, wenn Sie eine klar definierte Aufgabe mit verfügbaren, mit Labels versehenen Daten haben. Sie ist besonders effektiv bei domainspezifischen Anwendungen, bei denen sich die Sprache oder der Inhalt erheblich von den Daten unterscheiden, mit denen das große Modell ursprünglich trainiert wurde. Sie können die Datentypen Text, Bild, Audio und Dokument optimieren.
Bei der überwachten Feinabstimmung wird das Modellverhalten mit einem mit Labels versehenen Dataset angepasst. Bei diesem Prozess wird die Gewichtung des Modells angepasst, um den Unterschied zwischen den Vorhersagen und den tatsächlichen Labels zu minimieren. Beispielsweise kann damit die Modellleistung für die folgenden Arten von Aufgaben verbessert werden:
- Klassifizierung
- Zusammenfassung
- Extraktives Question Answering
- Chat
Unterstützte Modelle
Die folgenden Gemini-Modelle unterstützen die überwachte Abstimmung:
gemini-1.5-pro-002
(In GA, unterstützt Text, Bilder, Audio und Dokumente)gemini-1.5-flash-002
(In GA, unterstützt Text, Bilder, Audio und Dokumente)gemini-1.0-pro-002
(In der Vorabversion, unterstützt nur die Textabstimmung)
Beschränkungen
- Maximale Anzahl der Eingabe- und Ausgabetokens:
- Trainingsbeispiele: 32.000
- Bereitstellung: 32.000
- Größe des Validierungs-Datasets: 256 Beispiele
- Dateigröße des Trainingsdatensatzes: bis zu 1 GB für JSONL
- Adaptergröße:
Gemini 1.5 Pro
: Unterstützte Werte: 1 und 4 (Standard ist 4). Höhere Werte zu verwenden (z. B. 8 oder 16), führt zu einem Fehler.Gemini 1.5 Flash
: Unterstützte Werte: 1, 4, 8 und 16 (Standard ist 8).
Anwendungsfälle für die Verwendung der überwachten Feinabstimmung
Foundation-Modelle funktionieren gut, wenn die erwartete Ausgabe oder Aufgabe in einem Prompt klar und präzise definiert werden kann und der Prompt konsistent die erwartete Ausgabe erzeugt. Wenn Sie möchten, dass ein Modell bestimmte Nischenthemen oder Besonderheiten lernt, die von den allgemeinen Mustern abweichen, sollten Sie das Modell entsprechend abstimmen. Sie können das Modell zum Beispiel mithilfe der Modellabstimmung Folgendes antrainieren:
- Bestimmte Strukturen oder Formate zum Generieren einer Ausgabe.
- Spezifisches Verhalten, z. B. wenn eine grobe oder ausführliche Ausgabe bereitgestellt werden soll.
- Bestimmte benutzerdefinierte Ausgaben für bestimmte Eingabetypen angeben.
Bei den folgenden Beispielen handelt es sich um Anwendungsfälle, die sich nur schwer mit Eingabeaufforderungen erfassen lassen:
Klassifizierung: Die erwartete Antwort ist ein bestimmtes Wort oder eine bestimmte Wortgruppe.
Durch Abstimmung des Modells kann verhindert werden, dass das Modell ausführliche Antworten generiert.
Zusammenfassung: Die Zusammenfassung folgt einem bestimmten Format. Es kann beispielsweise vorkommen, dass Sie personenidentifizierbare Informationen aus einer Chatzusammenfassung entfernen müssen.
Das Format der Ersetzung der Namen der Sprecher durch
#Person1
und#Person2
ist schwierig zu beschreiben. Das Foundation Model erzeugt möglicherweise keine solche Antwort.Antwort auf Extraktionsfrage: Die Frage bezieht sich auf einen Kontext und die Antwort ist ein Teilstring des Kontexts.
Die Antwort "Last Glacial Maximum" ist eine spezifische Wortgruppe aus dem Kontext.
Chat: Sie müssen die Modellantwort anpassen, damit sie einer Identität, einer Rolle oder einem Zeichen genügt.
Sie können ein Modell auch in folgenden Situationen optimieren:
- Prompts führen nicht konsistent zu den erwarteten Ergebnissen.
- Die Aufgabe ist zu kompliziert, um sie in einem Prompt zu definieren. Beispiel: Das Modell soll ein Verhalten klonen, das nur schwer in einem Prompt zu beschreiben ist.
- Sie haben komplexe Ahnungen über eine Aufgabe, die leicht zu erahnen, aber schwierig in einem Prompt zu formalisieren ist.
- Sie möchten die Beispiele für Schnellerstellungen entfernen, um die Kontextlänge zu reduzieren.
Region für Abstimmungsjob konfigurieren
Nutzerdaten wie das transformierte Dataset und das optimierte Modell werden in der Abstimmungsjobregion gespeichert. Während der Abstimmung kann die Berechnung für verfügbare Beschleuniger auf andere US
- oder EU
-Regionen übertragen werden. Das Offloading ist für Nutzer transparent.
Wenn Sie das Vertex AI SDK verwenden, können Sie die Region bei der Initialisierung angeben. Beispiel:
import vertexai vertexai.init(project='myproject', location='us-central1')
Wenn Sie einen überwachten Job zur Feinabstimmung durch Senden einer POST-Anfrage mit der
tuningJobs.create
-Methode erstellen, verwenden Sie die URL, um die Region anzugeben, in der der Abstimmungsjob ausgeführt wird. In der folgenden URL geben Sie beispielsweise eine Region an, indem Sie beide Instanzen vonTUNING_JOB_REGION
durch die Region ersetzen, in der der Job ausgeführt wird.https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
Wenn Sie die Google Cloud Console verwenden, können Sie den Namen der Region im Drop-down-Feld Region der Seite Modelldetails auswählen. Dies ist dieselbe Seite, auf der Sie das Basismodell und den Namen eines abgestimmten Modells auswählen.
Kontingent
Das Kontingent wird für die Anzahl der gleichzeitigen Abstimmungsjobs erzwungen. Jedes Projekt kommt mit einem Standardkontingent zum Ausführen mindestens eines Abstimmungsjobs. Dies ist ein globales Kontingent, das für alle verfügbaren Regionen und unterstützten Modelle gilt. Wenn Sie weitere Jobs gleichzeitig ausführen möchten, müssen Sie für Global concurrent tuning jobs
zusätzliche Kontingente anfordern.
Preise
Preise für die Optimierung von Gemini 1.5 Flash und Gemini 1.5 Pro finden Sie unter Vertex AI-Preise.
Nach der Abstimmung fallen aber Inferenzkosten für das feinabgestimmte Modell an. Die Inferenzpreise sind für alle stabilen Versionen von Gemini gleich.
Die beaufsichtigte Feinabstimmung für gemini-1.0-pro-002
befindet sich in der Vorabversion.
Solange die Funktion in der Vorabversion verfügbar ist, ist die Modellabstimmung kostenlos.
Weitere Informationen finden Sie unter Vertex AI-Preise und Verfügbare stabile Gemini-Modellversionen.