Feinabstimmung für Anfänger erklärt (Wie vortrainierte Modelle neue Fähigkeiten erlernen)


Feinabstimmung für Anfänger erklärt (Wie vortrainierte Modelle neue Fähigkeiten erlernen)

# Einführung

Dieser Artikel ist Teil meiner Noob-Reihe, in der wir über die Fragen schreiben, die die Leute am häufigsten googeln, die sie aber aufgrund der komplexen Mathematik und dergleichen möglicherweise nicht intestine verstehen. Wenn Sie additionally hier sind, haben Sie vielleicht schon irgendwo von der Feinabstimmung im Zusammenhang mit großen Sprachmodellen (LLMs) gehört. Dieses Konzept gab es beim traditionellen maschinellen Lernen bereits seit Jahren, aber nach LLMs gewann es an Popularität, da nun plötzlich jeder Zugriff auf diese riesigen, allgemeinen vortrainierten Modelle hat, die Sie je nach Ihren Aufgaben, Ihren eigenen Bedürfnissen und in Ihrem eigenen Ton anpassen können. Dieser Anpassungsvorgang wird im Grunde als Feinabstimmung bezeichnetund es ist mittlerweile eines der häufigsten Dinge, die Menschen mit LLMs tun. Aber Sie können es nicht verstehen, bis Sie den Schritt verstanden haben, der davor steht, und das ist das „Vortraining“. Unter Feinabstimmung versteht man im wahrsten Sinne des Wortes das „Tuning“ von etwas, das bereits existiert, und dieses „Etwas“ ist ein vorab trainiertes Modell. Versuchen wir additionally, diese Konzepte aufzuschlüsseln, damit Sie es in Zukunft wissen, wenn Sie jemand danach fragt.

# Was ist Vortraining?

Wenn Sie mit einem frisch erstellten Modell beginnen, dem Millionen oder Milliarden von Parametern mit Zufallszahlen zugewiesen sind, und Sie versuchen, ihm direkt eine ganz bestimmte Aufgabe beizubringen – sagen wir, wie man Filme in verschiedene Kategorien einordnet –, muss es gleichzeitig die gesamte englische Sprache von Grund auf lernen, was unmöglich ist, insbesondere aufgrund des begrenzten Datensatzes, den Sie möglicherweise haben. Es ist so, als würde man einem Kleinkind Biologie beibringen, bevor es die Sprache oder grundlegende naturwissenschaftliche Konzepte verstehen kann.

Das Vortraining löst dieses Drawback, indem es die harten und allgemeinen Dinge einmalig aus einer riesigen Datenmenge lernt. Der Rechen- und Datenbedarf ist zu diesem Zeitpunkt recht hoch. Aber sobald Sie es trainieren, haben Sie ein Modell, das bereits Sprache versteht. In dieser Part bringen Sie ihm eine sehr einfache Fähigkeit bei: das nächste Wort vorherzusagen. Sie zeigen dem Modell einen Textabschnitt, bei dem das nächste Wort ausgeblendet ist, und es muss raten, was als nächstes kommt. Gute Vermutungen erleiden einen kleinen Verlust, schlechte Vermutungen einen großen, und das Modell passt sich an.

Beispieldiagramm vor dem Training

Wenn wir beispielsweise im obigen Diagramm den Satz angeben „Die Katze saß auf dem ____“das Modell lernt das „Matte“ ist weitaus wahrscheinlicher als „Auto“. Die Wiederholung dieses Trainings über Milliarden von Sätzen, Büchern und Artikeln hinweg macht das Modell zu einem sehr guten Prädiktor für das nächste Wort und zwingt es dazu, Grammatik, Fakten, Argumentationsmuster und mehr zu berücksichtigen. Nach dem Vortraining verfügen Sie über ein Modell, das bereits Sprache versteht. Jede Aufgabe, die Sie später erstellen, steht auf diesem Fundament und muss nicht bei Null beginnen. Deshalb werden diese auch oft genannt Fundamentmodelle.

Man trainiert quick nie selbst etwas vor. Sie laden das fertige Ergebnis herunter – ein vorab trainiertes Modell wie Lama, Mistraloder Qwen – und von dort aus beginnen. Damit sind wir schon beim eigentlichen Thema Feintuning.

# Was ist Feinabstimmung?

Viele Anfänger glauben, dass die Gewichte für immer eingefroren sind, sobald ein Modell trainiert wurde. In Wirklichkeit bedeutet ein vorab trainiertes Modell, dass die Gewichte auf „gute Werte“ eingestellt wurden, die Intelligenz kodieren und bei allgemeinen Aufgaben intestine funktionieren. Sobald Sie dieses Modell haben, Sie können diese Intelligenz mithilfe aufgabenspezifischer Daten an Ihre spezifischen Bedürfnisse anpassen – und dies wird als „Feinabstimmung“ bezeichnet. Auch der Datenbedarf ist in dieser Part deutlich geringer als im Vortraining, da Sie nur Beispiele für die Aufgabe benötigen, an der Sie interessiert sind.

Es ist sehr ähnlich, wie verschiedene Köche an derselben Kochschule ausgebildet werden und dann, wenn sie einem Restaurant beitreten, Restaurant-spezifische Fähigkeiten erlernen. Da wir hier nicht etwas von Grund auf aufbauen, ist es kostengünstiger – ähnlich wie die Idee, dass die Ausbildung einer völlig neuen Particular person für ein Restaurant weitaus aufwändiger ist als die Ausbildung einer Particular person, die bereits eine Kochschule besucht hat. Das folgende Diagramm fasst den Unterschied zwischen Vortraining und Feinabstimmung zusammen.

Vergleichsdiagramm zwischen Vortraining und Feinabstimmung

# Wie erfolgt die Feinabstimmung?

Wir haben die Vorhersage des nächsten Tokens und den Prozess des Vortrainings besprochen. Werfen wir nun einen Blick auf die Feinabstimmungsschleife.

Feinabstimmung des Trainingsschleifendiagramms

Sie zeigen dem Modell ein Beispiel für aufgabenspezifische Daten – sagen wir einen Movie – und bitten es, den Movie zu kategorisieren und eine Vermutung anzustellen. Anschließend vergleichen Sie seine Antwort mit der idealen Antwort, verschieben die Gewichtungen ein wenig und wiederholen den Vorgang, bis er bei der nachgelagerten Aufgabe besser wird. Außerdem werden bei der Feinabstimmung im Vergleich zum Vortraining zwei wesentliche Dinge anders gemacht:

  1. Daten → Kleine, hochwertige, aufgabenspezifische Daten statt des gesamten Internets.
  2. Lernrate → Eine kleine Lernrate und wenige Durchgänge, da wir möchten, dass sich das Modell anpasst, ohne seine allgemeinen Fähigkeiten zu überschreiben.

# Zwei gängige Arten der Feinabstimmung

Obwohl Sie im Web unterschiedliche Definitionen finden, lässt sich die Feinabstimmung je nach Anzahl der Modellparameter, die Sie optimieren oder anpassen möchten, grob in zwei Kategorien einteilen:

Arten von Feinabstimmungsdiagrammen

  1. Vollständige Feinabstimmung: In dieser Einstellung kann jeder Parameter in Ihrem Modell frei geändert werden. Sie führen die obige Schleife aus und alle Milliarden Zahlen verschieben sich ein wenig in Richtung Ihrer Aufgabe. Das Hauptproblem bei diesem Ansatz ist der Speicher – Sie benötigen genug, um das gesamte Modell zu speichern und zu aktualisieren, was für ein großes LLM ernsthafte {Hardware} bedeutet. Es besteht auch ein höheres Risiko des katastrophalen Vergessens, was einfach bedeutet, dass das Modell bei der spezifischen Aufgabe intestine wird, bei allen anderen jedoch seine allgemeinen Fähigkeiten verliert.
  2. Parametereffiziente Feinabstimmung (PEFT): Anstatt jedes Gewicht im Netzwerk zu aktualisieren, frieren PEFT-Techniken das Basismodell ein – jede ursprüngliche Zahl bleibt gesperrt – und führen einen kleinen Satz brandneuer, trainierbarer Zahlen ein. nur solche trainieren. Es gibt verschiedene Techniken, um dies zu erreichen, wie z. B. LoRA, QLoRA und Immediate Tuning, deren Einzelheiten jedoch den Rahmen dieses Artikels sprengen würden. PEFT erfordert weniger Gedächtnis- und Trainingszeit und ein geringeres Risiko, bereits erlerntes Wissen zu vergessen. Für die meisten LLM-Feinabstimmungen ist dies die Standardauswahl.

# Ist Feinabstimmung immer die Antwort?

Die Feinabstimmung eignet sich hervorragend, um Modellen eine neue Fähigkeit, einen neuen Stil, ein neues Verhalten oder eine neue Aufgabe beizubringen, aber sie ist nicht das einzige Werkzeug – und oft auch nicht das erste, nach dem Sie greifen sollten. Eine bessere Eingabeaufforderung kann Ihr Drawback manchmal ohne jegliche Schulung lösen. Wenn es sinnvoller ist, Informationen entweder on-line oder in einer Datenbank zum Zeitpunkt der Abfrage nachzuschlagen, ist Retrieval-Augmented Era (RAG) die bessere Lösung, insbesondere wenn die Fakten umfangreich sind oder sich häufig ändern. Diese Ansätze sind keine Rivalen; In der Praxis verwenden die meisten Systeme sie zusammen. Es lohnt sich, dies im Hinterkopf zu behalten, bevor Sie sich zu einem vollständigen Feinabstimmungslauf begeben.

# Zusätzliche Ressourcen

Wenn Sie die Feinabstimmung speziell mit LoRA üben möchten, finden Sie hier einige empfohlene Ressourcen:

  • Umarmendes Gesicht PEFT: Die Commonplace-Open-Supply-Bibliothek für LoRA, QLoRA, Immediate Tuning und mehr. Beginnen Sie mit den Dokumenten und dem Repo.
  • Umarmendes Gesicht TRL: Lässt sich mit PEFT kombinieren und ergibt ein fertiges Produkt SFTTrainer für die überwachte Feinabstimmungsschleife.
  • Unfault: Der einsteigerfreundlichste Weg zu LoRA/QLoRA, mit kostenlosen Colab- und Kaggle-Notebooks, ca. 2x schnellerem Coaching und viel weniger VRAM.
  • Axolotl: Sobald Sie sich damit vertraut gemacht haben, ein beliebtes konfigurationsgesteuertes (YAML) Device zum Ausführen der Feinabstimmung von Pipelines, ohne viel Code schreiben zu müssen.
  • Das Authentic-LoRA-Papier: „LoRA: Low-Rank-Anpassung großer Sprachmodelle.“
  • Das QLoRA-Papier: „QLoRA: Effiziente Feinabstimmung von LLMs.“

Für ein gutes erstes Projekt schnappen Sie sich ein kleines Lehrmodell (etwa ein 8B Llama, Qwen oder Gemma), öffnen Sie ein Unsloth QLoRA-Notizbuch, verfeinern Sie es anhand einiger hundert sauberer Beispiele Ihrer Aufgabe und beobachten Sie, wie der Trainingsverlust sinkt. Sobald Sie es einmal gemacht haben, wird sich jeder Begriff in diesem Artikel viel konkreter anfühlen.

Kanwal Mehreen ist ein Ingenieur für maschinelles Lernen und ein technischer Redakteur mit einer großen Leidenschaft für Datenwissenschaft und die Schnittstelle zwischen KI und Medizin. Sie ist Mitautorin des E-Books „Maximizing Productiveness with ChatGPT“. Als Google Era Scholar 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie ist außerdem als Teradata Variety in Tech Scholar, Mitacs Globalink Analysis Scholar und Harvard WeCode Scholar anerkannt. Kanwal ist ein leidenschaftlicher Verfechter von Veränderungen und hat FEMCodes gegründet, um Frauen in MINT-Bereichen zu stärken.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert