Vorbereiten Ihrer Daten zur Optimierung eines Chat-Vervollständigungsmodells

Abgeschlossen

Bei der Feinabstimmung wird ein geeignetes Foundation-Modell kombiniert, das als Basis verwendet werden soll, und mit einer Reihe von Schulungsdaten , die Beispielaufforderungen und Antworten enthalten, aus denen das Modell lernen kann.

Diagramm eines Basismodells sowie Schulungsdaten, die zu einem optimierten Modell führen.

Wenn Sie sich für die Optimierung eines Sprachmodells entscheiden, müssen Sie das Dataset identifizieren, das Sie für die Optimierung Ihres Sprachmodells verwenden können.

Wie bei jedem maschinellen Lernmodell hat die Qualität des Datasets einen großen Einfluss auf die Qualität Ihres Modells. Auch wenn Sie weniger Daten benötigen, als wenn Sie ein Sprachmodell von Grund auf trainieren würden, benötigen Sie dennoch genügend Daten, um die Konsistenz des gewünschten Modells zu maximieren. Wie viele Daten Sie benötigen, hängt von Ihrem Anwendungsfall ab.

Für die Optimierung eines Sprachmodells für die Chatvervollständigung verwenden Sie Daten aus einer Sammlung von Beispielgesprächen. Genauer gesagt, sollten die Daten drei Komponenten enthalten:

  • Die Systemmeldung.
  • Die Benutzernachricht
  • Antwort des Assistenten

Die drei Variablen werden in einer JSON Lines- oder JSONL-Datei zusammengefasst. Eine Zeile in einem solchen Dataset könnte zum Beispiel so aussehen:

{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}

Das Dataset sollte das ideale Verhalten des Modells zeigen. Sie können dieses Dataset auf der Grundlage des Chatverlaufs einer Ihrer Chatanwendungen erstellen. Wenn Sie echte Daten verwenden, sollten Sie einige Dinge beachten:

  • Entfernen Sie alle persönlichen oder sensiblen Informationen:
  • Konzentrieren Sie sich nicht nur darauf, einen großen Trainingsdatensatz zu erstellen, sondern stellen Sie auch sicher, dass Ihr Dataset eine Vielzahl von Beispielen enthält.

Sie können mehrere Gesprächssequenzen in einer einzigen Zeile in das Dataset aufnehmen. Wenn Sie nur bestimmte Nachrichten des Assistenten optimieren möchten, können Sie optional das Schlüssel-Wert-Paar weight verwenden. Wenn Sie die Gewichtung auf 0 festlegen, wird die Nachricht ignoriert, wenn Sie sie auf 1 festlegen, wird die Nachricht für das Training berücksichtigt.

Ein Beispiel für ein Dateiformat für einen mehrstufigen Chat mit Gewichtungen:

{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris", "weight": 0}, {"role": "user", "content": "Can you be more sarcastic?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already.", "weight": 1}]}

Wenn Sie Ihr Dataset für die Optimierung eines Sprachmodells vorbereiten, sollten Sie sich über das gewünschte Modellverhalten im Klaren sein, ein Dataset im JSONL-Format erstellen und sicherstellen, dass die Beispiele, die Sie einbeziehen, qualitativ hochwertig und vielfältig sind. Indem Sie Ihr Dataset vorbereiten, erhöhen Sie die Wahrscheinlichkeit, dass das optimierte Modell die Leistung Ihrer Chat-Anwendung verbessert.