Das Erscheinen von Chatgpt im Jahr 2022 veränderte die Artwork und Weise, wie die Welt künstliche Intelligenz wahrgenommen hat. Die unglaubliche Leistung von Chatgpt führte zur raschen Entwicklung anderer mächtiger LLMs.
Wir konnten grob sagen, dass Chatgpt eine aktualisierte Model von GPT-3 ist. Im Vergleich zu den vorherigen GPT -Versionen verwendeten diese Zeit jedoch OpenAI -Entwickler nicht nur mehr Daten oder nur komplexe Modellarchitekturen. Stattdessen haben sie eine unglaubliche Technik entwickelt, die einen Durchbruch ermöglichte.
In diesem Artikel werden wir über RLHF sprechen – einen grundlegenden Algorithmus, der im Kern von ChatGPT implementiert ist und die Grenzen menschlicher Anmerkungen für LLMs übertrifft. Obwohl der Algorithmus auf der proximalen Richtlinienoptimierung (PPO) basiert, werden wir die Erklärung einfach behalten, ohne auf die Particulars des Verstärkungslernens zu gehen, was nicht im Mittelpunkt dieses Artikels steht.
NLP -Entwicklung vor Chatgpt
Um besser in den Kontext einzusteigen, erinnern wir uns daran, wie LLMs in der Vergangenheit vor Chatgpt entwickelt wurden. In den meisten Fällen bestand die LLM -Entwicklung aus zwei Phasen:

Die Vorausbildung umfasst Sprachmodellierung-eine Aufgabe, bei der ein Modell versucht, ein verstecktes Token im Kontext vorherzusagen. Die Wahrscheinlichkeitsverteilung, die vom Modell für das versteckte Token erzeugt wird, wird dann mit der Bodenwahrheitsverteilung für die Berechnung des Verlusts und der weiteren Rückpropagation verglichen. Auf diese Weise lernt das Modell die semantische Struktur der Sprache und die Bedeutung hinter Wörtern.
Wenn Sie mehr darüber erfahren möchten Framework vor dem Coaching und der FeinabstimmungSchauen Sie sich meine an Artikel über Bert.
Danach ist das Modell in einer nachgeschalteten Aufgabe, die unterschiedliche Ziele umfasst, fein abgestimmt: Textübersetzung, Textübersetzung, Textgenerierung, Beantwortung von Fragen usw. In vielen Situationen erfordert Feinabstimmungen ein menschlichem Datensatz, das vorzugsweise genügend Textmuster enthalten sollte, um das Modell zu verallgemeinern und das Überfassen zu vermeiden.
Hier erscheinen die Grenzen der Feinabstimmung. Datenanmerkungen sind normalerweise eine zeitaufwändige Aufgabe, die vom Menschen ausgeführt wird. Lassen Sie uns beispielsweise eine Frage-Antwort-Aufgabe übernehmen. Um Trainingsmuster zu erstellen, benötigen wir einen manuell beschrifteten Datensatz mit Fragen und Antworten. Für jede Frage würden wir eine genaue Antwort benötigen, die ein Mensch gegeben hat. Zum Beispiel:

In Wirklichkeit würden wir für die Ausbildung eines LLM Millionen oder sogar Milliarden solcher (Frage, Antwort) Paare benötigen. Dieser Annotationsprozess ist sehr zeitaufwändig und skaliert nicht intestine.
Rlhf
Nachdem es das Hauptproblem verstanden hat, ist es jetzt ein perfekter Second, sich mit den Particulars von RLHF einzulassen.
Wenn Sie bereits ChatGPT verwendet haben, haben Sie wahrscheinlich eine State of affairs gestoßen, in der ChatGPT Sie auffordert, die Antwort zu wählen, die besser zu Ihrer ersten Eingabeaufforderung passt:

Diese Informationen werden tatsächlich verwendet, um Chatgpt kontinuierlich zu verbessern. Lassen Sie uns verstehen, wie.
Erstens ist es wichtig zu bemerken, dass die Auswahl der besten Antwort zwischen zwei Optionen eine viel einfachere Aufgabe für einen Menschen ist, als eine genaue Antwort auf eine offene Frage zu geben. Die Idee, die wir uns ansehen werden, basiert genau darauf: Wir möchten, dass der Mensch nur eine Antwort aus zwei möglichen Optionen zum Erstellen des kommentierten Datensatzes auswählt.

Antwortgenerierung
In LLMs gibt es verschiedene Möglichkeiten, eine Antwort aus der Verteilung der vorhergesagten Token -Wahrscheinlichkeiten zu erzeugen:
- Eine Ausgangsverteilung haben P Über Tokens wählt das Modell immer deterministisch das Token mit höchster Wahrscheinlichkeit.

- Eine Ausgangsverteilung haben P Über Token mildert das Modell zufällig ein Token nach seiner zugewiesenen Wahrscheinlichkeit.

Diese zweite Stichprobenmethode führt zu einem randomisierten Modellverhalten, das die Erzeugung verschiedener Textsequenzen ermöglicht. Nehmen wir vorerst an, dass wir viele Paare solcher Sequenzen generieren. Der resultierende Datensatz von Paaren wird vom Menschen gekennzeichnet: Für jedes Paar wird ein Mensch gefragt, welche der beiden Ausgangssequenzen die Eingangssequenz besser passt. Der kommentierte Datensatz wird im nächsten Schritt verwendet.
Im Kontext von RLHF wird der auf diese Weise erstellte kommentierte Datensatz genannt „Menschliches Suggestions“.
Belohnungsmodell
Nachdem der kommentierte Datensatz erstellt wurde, nutzen wir ihn, um ein sogenanntes „Belohnungs“ -Modell zu trainieren, dessen Ziel es ist, zu lernen, numerisch zu schätzen, wie intestine oder schlecht eine bestimmte Antwort für eine erste Aufforderung ist. Perfect, Wir möchten, dass das Belohnungsmodell optimistic Werte für gute Antworten und detrimental Werte für schlechte Antworten erzeugt.
Apropos Belohnungsmodell, seine Architektur entspricht genau dem anfänglichen LLM, mit Ausnahme der letzten Schicht, wobei das Modell anstatt eine Textsequenz auszugeben, eine Float -Wert ausgibt – eine Schätzung für die Antwort.
Es ist erforderlich, sowohl die anfängliche Eingabeaufforderung als auch die generierte Antwort als Eingabe an das Belohnungsmodell zu übergeben.
Verlustfunktion
Sie können logischerweise fragen, wie das Belohnungsmodell diese Regressionsaufgabe erlernen wird, wenn es im kommentierten Datensatz keine numerischen Beschriftungen gibt. Dies ist eine vernünftige Frage. Um es anzusprechen, werden wir einen interessanten Trick verwenden: Wir werden sowohl eine gute als auch eine schlechte Antwort durch das Belohnungsmodell verabschieden, das letztendlich zwei verschiedene Schätzungen (Belohnungen) ausgeben wird.
Dann werden wir clever eine Verlustfunktion konstruieren, die sie relativ vergleichen wird.

Schließen wir einige Argumentwerte für die Verlustfunktion ein und analysieren wir ihr Verhalten. Unten finden Sie eine Tabelle mit den eingesteckten Werten:

Wir können sofort zwei interessante Erkenntnisse beobachten:
- Wenn der Unterschied zwischen r₊ und r₋ ist negativdh eine bessere Antwort erhielt eine geringere Belohnung als eine schlechtere, dann ist der Verlustwert proportional groß für den Belohnungsunterschied, was bedeutet, dass das Modell erheblich angepasst werden muss.
- Wenn der Unterschied zwischen R₊ und R₋ positiv istdh eine bessere Antwort erhielt eine höhere Belohnung als eine schlechtere, dann wird der Verlust im Intervall (0, 0,69) innerhalb viel niedrigerer Werte begrenzt, was darauf hinweist, dass das Modell seine Aufgabe intestine macht, gute und schlechte Antworten zu unterscheiden.
Eine schöne Sache bei der Verwendung einer solchen Verlustfunktion ist, dass das Modell angemessene Belohnungen für generierte Texte selbst lernt, und wir (Menschen) müssen nicht jede Reaktion numerisch explizit bewerten – nur einen binären Wert liefern: Ist eine bestimmte Antwort besser oder schlechter.
Coaching eines originalen LLM
Das ausgebildete Belohnungsmodell wird dann verwendet, um das ursprüngliche LLM zu trainieren. Dafür können wir eine Reihe neuer Eingabeaufforderungen an die LLM füttern, die Ausgangssequenzen generieren. Anschließend werden die Eingabeaufforderungen zusammen mit den Ausgangssequenzen dem Belohnungsmodell zugefügt, um zu schätzen, wie intestine diese Antworten sind.
Nach der Erstellung numerischer Schätzungen werden diese Informationen als Suggestions zum ursprünglichen LLM verwendet, das dann Gewichtsaktualisierungen durchführt. Ein sehr einfacher, aber eleganter Ansatz!

Meistens wird im letzten Schritt zur Einstellung von Modellgewichten ein Verstärkungslernalgorithmus verwendet (normalerweise durch proximale Richtlinienoptimierung – PPO).
Auch wenn es technisch nicht korrekt ist, wenn Sie nicht mit Verstärkungslernen oder PPO vertraut sind, können Sie es grob als Backpropagation betrachten, wie bei normalen Algorithmen für maschinelles Lernen.
Schlussfolgerung
Während der Inferenz wird nur das ursprünglich geschulte Modell verwendet. Gleichzeitig kann das Modell im Hintergrund kontinuierlich verbessert werden, indem Benutzeranforderungen gesammelt und sie regelmäßig aufgefordert werden, zu bewerten, welche von zwei Antworten besser ist.
Abschluss
In diesem Artikel haben wir RLHF untersucht – eine hocheffiziente und skalierbare Technik, um moderne LLMs zu trainieren. Eine elegante Kombination eines LLM mit einem Belohnungsmodell ermöglicht es uns, die von Menschen ausgeführte Annotationsaufgabe erheblich zu vereinfachen, was in der Vergangenheit große Anstrengungen erforderte, wenn sie durch rohe Feinabstimmungsverfahren durchgeführt wurden.
RLHF wird im Kern vieler beliebter Modelle wie Chatgpt, Claude, Gemini oder Mistral verwendet.
Ressourcen
Alle Bilder, sofern nicht anders angegeben, werden vom Autor angegeben
