Fine-Tuning
Ein trainiertes Modell kann Sprache verarbeiten, aber du möchtest, dass es Unternehmensnachrichten als „Rückgabe“, „Lieferung“ oder „Zahlung“ klassifiziert. Die allgemeine Fähigkeit ergibt noch nicht die erwartete Arbeitsweise. Du bereitest Beispielnachrichten mit den richtigen Kategorien vor.
Fine-tuning ist das weitere Trainieren eines bestehenden Modells oder seiner Anpassungsparameter mit neuen Daten. Es verändert die Zahlen, die das Verhalten steuern, sodass die Anpassung auch bei späteren Anfragen erhalten bleiben kann.
Im Beispiel vergleicht das Modell seine Vorhersagen mit den vorgegebenen Kategorien, und das Training verändert die Parameter. Einige Beispiele in einen einzelnen Prompt, also den Eingabetext, einzufügen ist ein anderer Vorgang: Für sich genommen verändert er keine Gewichte.
Es können alle Gewichte oder nur kleine Ergänzungen wie LoRA trainiert werden. Fine-tuning garantiert keine Verbesserung bei jeder Aufgabe; schlechte Daten können Fehler festigen, und die Anpassung an einen Bereich kann andere Verhaltensweisen verändern. Der Ausgangspunkt stammt gewöhnlich aus dem Pre-training.
Siehe auch: Catastrophic Forgetting [Polski] — eine deutliche Verschlechterung zuvor gelernter Fähigkeiten beim weiteren Training.
Mechanismus und Details
Beim ursprünglichen GPT folgte auf das Training mit Text ein Training anhand von Beispielen mit Labels für konkrete Aufgaben. Optimiert wurden die Parameter des Modells und der hinzugefügten Ausgabeschicht. Diese Aufteilung beschreibt Improving Language Understanding by Generative Pre-Training, §3.2.
Was sich tatsächlich verändert
Beim vollständigen Fine-Tuning werden alle Parameter des trainierten Modells aktualisiert. Man kann auch nur ausgewählte Parameter oder kleine Anpassungsmodule trainieren. Beispielsweise lässt LoRA die Basisgewichte eingefroren und trainiert Matrizen, die deren Veränderung beschreiben; Einzelheiten nennen Hu et al., §2 und §4.1. Eingefrorene Basisgewichte schließen Training also nicht aus. Entscheidend ist, ob andere Parameter optimiert werden.
Eigenes Beispiel: Ein Datensatz enthält Kundenmitteilungen und die korrekten Kategorien „Rückgabe“, „Lieferung“ und „Zahlung“. Das Training kann ein vorhandenes Modell an diese Klassifikation anpassen. Einige solche Beispiele in einen gewöhnlichen Prompt einzufügen verändert dessen Eingabe, aktualisiert aber für sich genommen keine Parameter. Die Unterscheidung zwischen Anpassung im Kontext und Fine-Tuning beschreiben Brown et al., Language Models are Few-Shot Learners, §2.
Supervised Fine-Tuning verwendet Beispiele gewünschter Antworten oder Labels. Die Bezeichnung „Fine-Tuning“ allein legt weder eine bestimmte Zielfunktion noch die Anzahl trainierter Parameter fest. Das hier beschriebene Order-Consistency SFT ist eine spezielle Methode zum Trainieren eines Scorers, keine allgemeine Definition dieser Phase.
Siehe auch: Sequence Packing — das Anordnen mehrerer Textbeispiele in einer Trainingseingabe, um Füllbereiche zu verringern.