Erfahren Sie mehr über verschiedene Optimierungsmethoden und deren Funktionsweise.
Modelle können auf folgende Arten optimiert werden:
Feinabstimmung: Die Feinabstimmung nutzt das Vorwissen des Basismodells als Ausgangspunkt und passt das Modell an, indem es mit einem kleineren, aufgabenspezifischen Datensatz abgestimmt wird. Dieser Prozess ändert die Parametergewichte für ein Modell, dessen Gewichte durch vorheriges Training festgelegt wurden, um das Modell für eine Aufgabe zu optimieren.
Hinweis: Sie können derzeit keine Feinabstimmung der Basismodelle in watsonx.ai vornehmen, aber Sie können sie prompt abstimmen.Optimierung der Eingabeaufforderung: Passt den Inhalt der Eingabeaufforderung an, die an das Modell übergeben wird, um das Modell zum Generieren einer Ausgabe zu führen, die einem von Ihnen angegebenen Muster entspricht. Das zugrunde liegende foundation model und seine Parametergewichte werden nicht verändert. Nur die Eingabeaufforderungseingabe wird geändert.
Obwohl das Ergebnis der Prompt-Abstimmung eine neue abgestimmte Modellanlage ist, fügt das Prompt-Abstimmungsmodell lediglich eine Funktionsschicht hinzu, die ausgeführt wird, bevor die Eingabe durch das zugrunde liegende foundation model verarbeitet wird. Beim Prompt-Tuning eines Modells wird das zugrundeliegende foundation model nicht verändert, was bedeutet, dass es für unterschiedliche Geschäftsanforderungen verwendet werden kann, ohne jedes Mal neu trainiert zu werden. Dadurch reduzieren Sie den Rechenbedarf und die Inferenzkosten.
Weitere Informationen finden Sie unter Abstimmung eines foundation model.
Funktionsweise der Eingabeaufforderungsoptimierung
Basismodelle sind sensibel auf die Eingabe, die Sie ihnen geben. Ihre Eingabe oder die Art und Weise, wie Sie das Modell anfordern , kann Kontext einführen, den das Modell zum Anpassen seiner generierten Ausgabe verwendet. Die Eingabeaufforderungsentwicklung zur Suche nach der richtigen Eingabeaufforderung funktioniert häufig gut. Sie kann jedoch zeitaufwendig und fehlerträchtig sein und ihre Effektivität kann durch die Länge des Kontextfensters eingeschränkt werden, die vom zugrunde liegenden Modell zugelassen wird.
Die Eingabeaufforderungsoptimierung eines Modells in Tuning Studio wendet maschinelles Lernen auf die Task der Eingabeaufforderungsentwicklung an. Anstatt der Eingabe selbst Wörter hinzuzufügen, ist die Eingabeaufforderungsoptimierung eine Methode zum Suchen einer Folge von Werten, die beim Hinzufügen als Präfix zum Eingabetext die Fähigkeit des Modells verbessern, die gewünschte Ausgabe zu generieren. Diese Folge von Werten wird als Eingabeaufforderungsvektorbezeichnet.
Normalerweise werden Wörter in der Eingabeaufforderung vom Modell vektorisiert. Die Vektorisierung ist der Prozess der Konvertierung von Text in Token und anschließend in Zahlen, die vom Tokenizer des Modells definiert werden, um die Token zu identifizieren. Schließlich werden die Token-IDs codiert, d. h. sie werden in eine Vektordarstellung konvertiert. Dies ist das Eingabeformat, das von der Einbettungsschicht des Modells erwartet wird. Bei der Eingabeaufforderungsoptimierung wird der Textvektorisierungsprozess des Modells umgangen und stattdessen direkt ein Eingabeaufforderungsvektor erstellt. Dieser veränderbare Eingabeaufforderungsvektor wird mit dem vektorisierten Eingabetext verknüpft und die beiden werden als eine Eingabe an die Einbettungsschicht des Modells übergeben. Werte aus diesem manipulierten Eingabeaufforderungsvektor wirken sich auf die Einbettungsgewichtungen von Wörtern aus, die vom Modell festgelegt werden, und beeinflussen die Wörter, die das Modell zur Ausgabe hinzufügt.
Um die besten Werte für den Eingabeaufforderungsvektor zu finden, führen Sie ein Optimierungsexperiment aus. Sie veranschaulichen den gewünschten Ausgabetyp für eine entsprechende Eingabe, indem Sie dem Modell Eingabe-und Ausgabebeispielpaare in Trainingsdaten bereitstellen. Bei jedem Trainingslauf des Experiments wird die generierte Ausgabe mit der Trainingsdatenausgabe verglichen. Basierend auf dem, was es aus den Unterschieden zwischen den beiden lernt, passt das Experiment die Werte im Eingabeaufforderungsvektor an. Nach vielen Durchläufen der Trainingsdaten findet das Modell den am besten geeigneten Eingabeaufforderungsvektor.
Sie können den Trainingsprozess starten, indem Sie Text bereitstellen, der vom Experiment vektorisiert wird. Oder Sie können zulassen, dass das Experiment Zufallswerte im Eingabeaufforderungsvektor verwendet. Wenn die Anfangswerte nicht genau richtig sind, werden sie im Rahmen des Trainingsprozesses wiederholt geändert. Wenn Sie einen eigenen Initialisierungstext bereitstellen, kann das Experiment schneller zu einem guten Ergebnis kommen.
Das Ergebnis des Experiments ist eine optimierte Version des zugrunde liegenden Modells. Sie übergeben Eingaben an das optimierte Modell zur Inferenz, und das Modell generiert eine Ausgabe, die dem optimierten Muster folgt.
Für weitere Informationen über den Prompt-Tuning-Prozess, der in Tuning Studio verwendet wird, siehe Prompt-Tuning-Workflow.
Weitere Informationen
- IBM Research Blogbeitrag: Was ist Prompt-Tuning?
- Forschungspapier: Die Macht der Skala für parameter-effizientes Prompt-Tuning
- Optimierungsparameter
Übergeordnetes Thema: Tuning Studio