Modellabstimmung für Gemini-Textmodelle

Auf dieser Seite finden Sie empfohlene Schritte zur Feinabstimmung eines Textmodells mit Gemini. Dieser Leitfaden behandelt Anwendungsfälle für Klassifizierung, Sentimentanalyse und Extraktion.

Beschränkungen

  • Gemini-Modelle unterstützen keine Konfidenzwerte.
  • Gemini kann keine numerischen Punktzahlen für die Sentimentanalyse bereitstellen. Dadurch wird die Möglichkeit einer Schätzung der Stimmung auf Basis eines numerischen Schwellenwerts eingeschränkt.

Zur Verbesserung der Zuverlässigkeit der Ausgaben Ihres KI-Modells sollten Sie Methoden wie Selbstkonsistenz für die Konfidenzbewertung einbinden. Bei dieser Methode werden mehrere Ausgaben aus dem Modell für dieselbe Eingabe generiert und dann mithilfe eines Mehrheitswahlsystems die wahrscheinlichste Ausgabe ermittelt. Der Konfidenzwert kann als Verhältnis dargestellt werden, das den Anteil der Fälle angibt, in denen die Mehrheitsausgabe generiert wurde.

Bei Aufgaben der Sentimentanalyse sollten Sie ein LLM als Beurteiler verwenden, um mündliche Konfidenzwerte bereitzustellen. Das Modell soll das Sentiment analysieren und dann eine verbale Bewertung (z. B. „sehr wahrscheinlich“) anstelle einer numerischen Bewertung zurückgeben. Verbale Scores sind im Kontext von LLMs in der Regel besser interpretierbar und weniger anfällig für Verzerrungen.

Textmodell-Feinabstimmung mit Gemini

Es gibt zwei Optionen, mit denen Sie Textmodelle für die Klassifizierung, Extraktion und Sentimentanalyse mit Gemini optimieren können, Prompts mit einem vortrainierten Modell und einer benutzerdefinierten Feinabstimmung.

  • Prompts mit vortrainierten Gemini-Modellen erstellen: Prompts sind effektive Anweisungen, mit denen KI-Modelle wie Gemini die gewünschten Ergebnisse generieren. Dazu müssen Sie Prompts entwickeln, die die Aufgabe, das gewünschte Format und den relevanten Kontext klar vermitteln. Sie können die Funktionen von Gemini mit minimalem Aufwand einrichten. Sie eignet sich am besten für:

    • Wenig beschriftete Daten: Wenn Sie nur wenige beschriftete Daten haben oder sich keine lange Feinabstimmung leisten können.
    • Schnelles Prototyping: Wenn Sie ein Konzept schnell testen oder eine Referenzleistung ohne hohe Investitionen in die Feinabstimmung erzielen möchten.
  • Individuelle Feinabstimmung von Gemini-Modellen: Sie können Ihre Modelle mit Gemini auf Ihre spezifischen Datasets abstimmen, um individuelle Ergebnisse zu erhalten. Wenn Sie ein KI-Modell erstellen möchten, das in Ihrer spezifischen Domain funktioniert, sollten Sie eine Feinabstimmung in Betracht ziehen. Dazu wird das Basismodell anhand Ihres eigenen Datasets mit Labels neu trainiert und die Gewichtungen an Ihre Aufgabe und Daten angepasst. Sie können Gemini an Ihre Anwendungsfälle anpassen. Die Feinabstimmung ist am effektivsten, wenn Folgendes zutrifft:

    • Sie haben beschriftete Daten: Ein umfangreicher Dataset zum Trainieren (z. B. 100 Beispiele oder mehr), mit dem das Modell die Besonderheiten Ihrer Aufgabe genau lernen kann.
    • Komplexe oder einzigartige Aufgaben: Für Szenarien, in denen erweiterte Prompt-Strategien nicht ausreichen und ein auf Ihre Daten zugeschnittenes Modell erforderlich ist.

Testen Sie nach Möglichkeit beide Ansätze, um zu ermitteln, mit welchem Ergebnis Sie für Ihren spezifischen Anwendungsfall bessere Ergebnisse erzielen. Wir empfehlen, mit Prompts zu beginnen, um den optimalen Prompt zu finden. Fahren Sie dann bei Bedarf mit der Feinabstimmung fort, um die Leistung weiter zu steigern oder wiederkehrende Fehler zu beheben.

Das Hinzufügen weiterer Beispiele kann zwar von Vorteil sein, aber es ist wichtig, zu bewerten, wo das Modell Fehler macht, bevor Sie weitere Daten hinzufügen. Unabhängig vom Ansatz sind hochwertige und gut mit Labels versehene Daten für eine gute Leistung und besser als die Menge entscheidend. Außerdem sollten die Daten, die Sie für die Feinabstimmung verwenden, der Art der Daten entsprechen, die dem Modell in der Produktion begegnen. Informationen zur Modellentwicklung, -bereitstellung und ‑verwaltung finden Sie in der Hauptdokumentation zu Vertex AI.

Aufforderungen mit Gemini

Sie nutzen die Spracherkennungsfunktionen von Gemini-Modellen, indem Sie einige Beispiele für Ihre Aufgabe (Klassifizierung, Extraktion, Sentimentanalyse) im Prompt selbst bereitstellen. Das Modell lernt aus diesen Beispielen und wendet dieses Wissen auf Ihre neue Eingabe an.

Gängige Prompt-Techniken, mit denen die Ergebnisse optimiert werden können, sind:

  • Zero-Shot-Prompts: Das Modell wird direkt angewiesen, eine Aufgabe auszuführen, ohne bestimmte Beispiele anzugeben.
  • Few-Shot-Prompts: Sie geben neben der Anleitung einige Beispiele an, um das Modell zu unterstützen.
  • Chain-of-Thought-Prompting: Aufteilen komplexer Aufgaben in kleinere Schritte und entsprechende Anleitung für das Modell durch die einzelnen Schritte.

Das Prompt-Design ist zwar flexibel, aber bestimmte Strategien können die Ausgabe eines Modells steuern. Um die Leistung zu optimieren, sind gründliche Tests und Bewertungen unerlässlich.

Large Language Models (LLM), die mit riesigen Textdaten trainiert werden, lernen Sprachmuster und ‑beziehungen. Bei einem Prompt sagen diese Modelle die wahrscheinlichste Fortsetzung vorher, ähnlich wie bei der erweiterten automatischen Vervollständigung. Berücksichtigen Sie daher beim Erstellen von Prompts die Faktoren, die die Vorhersage eines Modells beeinflussen.

Der Prozess des Prompt Engineering wird im folgenden Diagramm veranschaulicht: Der Prompt Engineering-Prozess

Eingabedaten vorbereiten

Es gibt verschiedene Arten von Prompts, die Sie verwenden können. Die folgenden Beispiele zeigen, wie Sie ein Few-Shot-Prompt-Verfahren verwenden:

Klassifizierung

Anfrage

               Classify the following as red wine or white wine:
               
                  Name: Chardonnay
                  Type: White wine
                  Name: Cabernet
                  Type: Red wine
                  Name: Moscato
                  Type: White wine
               
               Name: Riesling
               Type: 
            

Antwort

         White wine
         

Extraktion

Anfrage

            Extract the technical specifications from the text below in a JSON format.
INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol OUTPUT: { "product":"Google Nest Wifi", "speed":"1200Mpbs", "frequencies": ["2.4GHz", "5GHz"], "protocol":"WP3" } Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

Antwort

         {
         "product": "Google Pixel 7",
         "network": "5G",
         "ram": "8GB",
         "processor": "Tensor G2",
         "storage": "128GB",
         "color": "Lemongrass"
         }
         

Sentimentanalyse

Anfrage

            Classify the sentiment of the message. Please only print the category name without anything else.
            
               Message: I had to compare two versions of Hamlet for my Shakespeare class and unfortunately I picked this version. Everything from the acting (the actors deliver most of their lines directly to the camera) to the camera shots (all medium or close up shots...no scenery shots and very little back ground in the shots) were absolutely terrible. I watched this over my spring break and it is very safe to say that I feel that I was gypped out of 114 minutes of my vacation. Not recommended by any stretch of the imagination.
               Category: negative
               Message: This Charles outing is decent but this is a pretty low-key performance. Marlon Brando stands out. There's a subplot with Mira Sorvino and Donald Sutherland that forgets to develop and it hurts the film a little. I'm still trying to figure out why Charlie want to change his name.
               Category: negative
Message: My family has watched Arthur Bach stumble and stammer since the movie first came out. We have most lines memorized. I watched it two weeks ago and still get tickled at the simple humor and view-at-life that Dudley Moore portrays. Liza Minelli did a wonderful job as the side kick - though I'm not her biggest fan. This movie makes me just enjoy watching movies. My favorite scene is when Arthur is visiting his fiancée's house. His conversation with the butler and Susan's father is side-spitting. The line from the butler, "Would you care to wait in the Library" followed by Arthur's reply, "Yes I would, the bathroom is out of the question", is my NEWMAIL notification on my computer.

Antwort

         Positive
         

Vorhersageantwort abrufen

Hier ist ein Beispiel für eine Python-Codeantwort für das Klassifizierungsbeispiel. Weitere Informationen finden Sie in der Übersicht über die Unterstützung generativer KI für Vertex AI.

from vertexai import generative_models
from vertexai.generative_models import GenerativeModel

model = GenerativeModel(model_name="gemini-1.5-flash-001")
response = model.generate_content(["Classify the following as red wine or white wine:

<examples>
Name: Chardonnay
Type: White wine
Name: Cabernet
Type: Red wine
Name: Moscato
Type: White wine
</examples>

Name: Riesling
Type: "])

Feinabstimmung mit Gemini 1.0 Pro

Mit der Feinabstimmung können Sie Gemini 1.0 Pro an Ihre spezifischen Anforderungen anpassen. Führen Sie diese Schritte aus, um Gemini 1.0 Pro mit Ihren eigenen Daten zu optimieren:

Trainingsdaten vorbereiten

Konvertieren Sie Ihre Trainingsdaten in das Feinabstimmungsformat von Gemini, das eine JSONL-Dateistruktur verwendet. Jede Zeile in der Datei sollte ein einzelnes Trainingsbeispiel darstellen. Jedes Trainingsbeispiel sollte dieser Struktur folgen:

{"messages": [{"role": "system", "content": "<system_context>"},, {"role": "user", "content": "<user_input>"}, {"role": "model", "content": "<desired_output>"}]}

Hier ein Beispiel für einen Eintrag mit zwei Datenpunkten:

{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}, {"role": "user", "content": "Diversify your investment portfolio"}, {"role": "model", "content": "business"}]}
{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}, {"role": "user", "content": "Watch a live concert"}, {"role": "model", "content": "entertainment"}]}

Eine ausführliche Anleitung und weitere Beispiele finden Sie im offiziellen Leitfaden zur Gemini-Datensatzvorbereitung.

Feinabstimmungspipeline ausführen

Folgen Sie dieser Schritt-für-Schritt-Anleitung über die Benutzeroberfläche, Python oder die REST API, um Ihren Gemini-Feinabstimmungsjob zu starten. Wählen Sie bei der Einrichtung die Gemini-Modellversion aus, konfigurieren Sie die Hyperparameter für die Feinabstimmung und geben Sie die allgemeinen Einstellungen an. Wir empfehlen, mit verschiedenen Werten für Epochen, dem Multiplikator der Lernrate und Adaptergrößen zu experimentieren. Bei Datasets mit 500 bis 1.000 Beispielen sollten Sie mit den folgenden Konfigurationen beginnen, um ein gutes Verständnis für das Modelllernen zu erhalten und die optimalen Parametereinstellungen für Ihre Aufgabe zu finden:

  • epochs=2, learning_rate_multiplier=1, adapter_size=1;
  • epochs=4, learning_rate_multiplier=1, interface_size=1 (Standard);
  • epochs=6, learning_rate_multiplier=1, adapter_size=4;
  • epochs=12, learning_rate_multiplier=4, adapter_size=4; und
  • epochs=12, learning_rate_multiplier=4, center_size=1.

Wenn Sie die Leistung einer oder zwei verschiedener Konfigurationen bewerten, können Sie ermitteln, welche Parameter und Änderungen die Leistung am effektivsten verbessern. Wenn das gewünschte Leistungsniveau nicht erreicht wird, können Sie weiter mit diesen vielversprechenden Konfigurationen experimentieren.

Bewertungstools und -techniken

Eine einheitliche und vergleichbare Modellbewertung ist entscheidend, um die Leistung zu verstehen und fundierte Entscheidungen zu treffen. Hier sind einige Methoden und Tools, die Sie bei der Modellbewertung im Hinterkopf behalten sollten:

  1. Konsistente Bewertungsmethode beibehalten: Verwenden Sie für optimierte und Prompt-Modelle dieselben Bewertungsmesswerte und ‑methoden. Dies ermöglicht einen direkten, verzerrungsfreien Vergleich. Verwenden Sie nach Möglichkeit dasselbe Dataset für die Bewertung, das Sie bei der Modellentwicklung und -bereitstellung verwendet haben. Dies sorgt für einen fairen Vergleich zwischen den Modelltypen und hilft, Qualitätsabweichungen zu erkennen.
  2. Bewertungstools und ‑techniken Bewertungsdienst für generative KI in Vertex AI: Bietet synchrone Bewertungen mit niedriger Latenz für kleine Datenmengen. Geeignet für On-Demand-Bewertungen, schnelle Iterationen und Tests. Integration mit anderen Vertex AI-Diensten über das Python SDK.
  3. Empfehlung für Klassifizierung, Extraktion und Sentimentanalyse: Verwenden Sie den Messwert exact_match, wenn Sie den Bewertungsdienst verwenden.

Bereitstellung

Informationen zum Bereitstellen Ihres feinabgestimmten Modells finden Sie unter Abgestimmtes Modell bereitstellen.

Nächste Schritte