Die Entstehung großer Sprachmodelle (LLMs) hat unzählige neue Möglichkeiten für KI -Anwendungen gebracht. Wenn Sie Ihr eigenes Modell schon immer feinstimmen wollten, zeigt Ihnen dieser Leitfaden, wie Sie dies leicht tun können, ohne Code zu schreiben. Wir werden Tools wie Axolotl und DPO verwenden, um Sie Schritt für Schritt durch den gesamten Prozess zu führen.
großes Sprachmodell (LLM) ist ein leistungsstarkes KI -Modell, das massive Textdaten (Billionen von Zeichen) trainiert, um die nächste Phrase in einer Sequenz vorherzusagen. Dies war nur mit Fortschritten in der GPU-Computing in den letzten 2 bis 3 Jahren möglich, die es ermöglicht haben, ein so großes Modell in wenigen Wochen auszubilden.
Sie haben möglicherweise zuvor mit LLM über Produkte wie Chatgpt oder Claude interagiert und ihre Fähigkeit, menschliche Reaktionen zu verstehen und zu erzeugen, persönlich erlebt.
Können wir nicht einfach GPT-4O verwenden, um mit allem umzugehen? Obwohl es das mächtigste Modell ist, das wir zum Zeitpunkt des Schreibens haben, ist es nicht immer die praktischste Option. Die Feinabstimmung Ein kleineres Modell (Parameterbereich von 3 bis 14 Milliarden) kann vergleichbare Ergebnisse bei einem kleinen Teil der Kosten erzielen. Darüber hinaus ermöglicht Ihnen die Feinabstimmung, Ihr eigenes geistiges Eigentum zu besitzen und die Abhängigkeit von Dritten zu verringern.
Verstehen Sie unbedingt die verschiedenen verfügbaren Arten von LLMs, bevor Sie eingehend angepasst werden:
Verstärkungslernen (RL) ist eine Technik, bei der Modelle lernen, indem sie Feedback zu ihrem Verhalten erhalten. Es wird auf Anweisungsmodelle oder Dialogmodelle angewendet, um die Qualität der Ausgabe weiter zu verbessern. In der Regel funktioniert RL nicht über dem zugrunde liegenden Modell, da es eine niedrigere Lernrate verwendet, was nicht ausreicht, um signifikante Änderungen vorzunehmen.
DPO ist ein RL -Formular, bei dem das Modell mit den Vor- und Nachteilen desselben Eingabeaufforderung/Dialogs -Antwortpaares trainiert wird. Durch die Präsentation dieser Paare lernt das Modell günstige Beispiele und vermeidet schlechte Beispiele.
DPO ist besonders nützlich, wenn Sie den Stil oder Verhalten Ihres Modells anpassen möchten, zum Beispiel:
DPO ist jedoch nicht geeignet, um neue Kenntnisse oder Fakten über Modelle zu vermitteln. Zu diesem Zweck sind beaufsichtigte Feinabstimmungstechniken (SFT) oder Suchverbesserten Generation (RAG) besser geeignet.
In Produktionsumgebungen verwenden Sie normalerweise Benutzer -Feedback, um DPO -Datensätze zu generieren, wie z. B.
Wenn Ihnen Benutzerdaten fehlen, können Sie auch synthetische Datensätze erstellen, indem Sie größere, leistungsstärkere LLMs nutzen. Sie können beispielsweise ein kleineres Modell verwenden, um die falsche Antwort zu generieren und es dann mit GPT-4O zu korrigieren.
Der Einfachheit halber werden wir den vorgefertigten Datensatz von Huggingface verwenden: Olivermolenschot/alpaca_messages_dpo_test. Wenn Sie den Datensatz untersuchen, werden Sie feststellen, dass er Hinweise mit ausgewählten und abgelehnten Antworten enthält - dies sind gute und schlechte Beispiele. Diese Daten wurden mit der GPT-3,5-Turbo- und GPT-4-Synthese erstellt.Sie benötigen normalerweise mindestens 500 bis 1000 Datenpaare, um effektiv ohne Überanpassung ausgebildet zu werden. Der größte DPO-Datensatz enthält bis zu 15.000 bis 20.000 Datenpaare.
Verwenden Sie Axolotl, um das QWEN2.5 3B-Anweisungsmodell
# ... (YAML configuration remains the same) ...
Schritt zum Training
export HF_HOME=/workspace/hf
python -m axolotl.cli.train /workspace/config.yml
# ... (YAML configuration remains the same) ...
Da dies ein kleinerer Datensatz mit nur 264 Zeilen ist, sollte das Training nur wenige Minuten dauern. Das fein abgestimmte Modell wird in /Workspace /DPO-Output gespeichert.
Sie können mit der CLI das Modell auf das Umarmungsface hochladen:
export HF_HOME=/workspace/hf
python -m axolotl.cli.train /workspace/config.yml
Ersetzen Sie Ihren Namen/Ihr REPO durch Ihren tatsächlichen Benutzernamen und den Repository -Namen.
Für die Bewertung wird empfohlen, Tools wie die Inferenz (Textergenerierung Inferenz) zu verwenden, um das ursprüngliche Modell und das fein abgestimmte Modell zu hosten. Verwenden Sie dann die Temperatureinstellung auf 0 (um eine deterministische Ausgabe sicherzustellen), um die beiden Modelle zu begründen, und vergleichen Sie die Antworten der beiden Modelle manuell.
Dieser praktische Ansatz bietet bessere Einblicke, als sich ausschließlich auf Schulungen zur Bewertung von Verlustmetriken zu verlassen, da Verlustmetriken möglicherweise nicht die Feinheiten der Sprachgenerierung in LLM erfassen.
Mit
Fine-Tuning LLM mit DPO können Sie Ihre Modelle anpassen, um die Anforderungen Ihrer Anwendung besser zu erfüllen und gleichzeitig die Kosten unter Kontrolle zu halten. Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie die Leistung von Open -Source -Tools und -Datensätzen nutzen, um Modelle zu erstellen, die Ihren spezifischen Anforderungen entsprechen. Unabhängig davon, ob Sie den Stil Ihrer Antwort anpassen oder Sicherheitsmaßnahmen implementieren möchten, bietet DPO eine praktische Möglichkeit, LLM zu verbessern.Ich wünsche Ihnen eine glückliche Feinabstimmung!
Das obige ist der detaillierte Inhalt vonFeinabstimmung eines Open-Source-LLM mit Axolotl unter Verwendung direkter Präferenzoptimierung (DPO). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!