Lernpfad
Group Relative Policy Optimization (GRPO) ist eine hochmoderne Technik des Reinforcement Learning (RL), die die beeindruckende Leistung der neuesten großen Sprachmodelle (LLMs) ermöglicht. Während es nach der Veröffentlichung von DeepSeek-R1 große Aufmerksamkeit erlangte, wurde GRPO zum ersten Mal in DeepSeekMath eingeführt , einem LLM, der auf fortgeschrittene mathematische Schlussfolgerungen abgestimmt ist. GRPO wurde ursprünglich entwickelt, um die Effizienz bei der Feinabstimmung zu verbessern, und hat sich als kosteneffiziente und vielseitige Methode erwiesen, die von der Gemeinschaft angenommen wird.
In diesem Artikel werden wir GRPO genauer unter die Lupe nehmen. Wir werden untersuchen, was es ist, wie es funktioniert, welche Komponenten für die Umsetzung notwendig sind und wann es am besten eingesetzt werden kann. Ziel dieses Leitfadens ist es, dir die wichtigsten Erkenntnisse über GRPO zu vermitteln, die seine wachsende Beliebtheit rechtfertigen.
Wenn du mehr über DeepSeek erfahren möchtest, solltest du dir unseren Kurs Arbeiten mit DeepSeek in Python ansehen.
Einführung in das Reinforcement Learning
Wie wir in unserem Leitfaden zur Feinabstimmung von LLMs erläutern, ist die überwachte Feinabstimmung (SFT) die traditionelle Trainingstechnik, bei der ein Modell mit gelabelten Daten trainiert wird. Das heißt, anhand von Beispielen, die die erwarteten Ergebnisse für bestimmte Eingaben zeigen.
Eine der Einschränkungen der SFT ist, dass sie stark auf große, beschriftete Datensätze angewiesen ist, deren Erstellung kostspielig und zeitaufwändig sein kann. Außerdem besteht bei Modellen, die mit SFT trainiert werden, die Gefahr, dass sie sich zu sehr an die Trainingsbeispiele anpassen, d. h., dass sie bei bekannten Daten gut funktionieren, aber nur schwer auf neue oder unerwartete Situationen verallgemeinert werden können.
Eine Alternative zu SFT ist das Verstärkungslernen, bei dem ein Agentnicht anhand von festen Beispielen lernt, sondern indem er mit seiner Umgebung interagiert und verschiedene Aktionen ausprobiert, um eine Aufgabe zu erfüllen. Nach jeder Aktion erhält der Agent eine Rückmeldung in Form von Belohnungen oder Bestrafungen. Das Ziel ist es, den Gesamtgewinn im Laufe der Zeit zu maximieren, indem du die besten Strategien entdeckst.
Wir können einen einfachen RL-Workflow wie folgt darstellen:
Diagramm eines einfachen RL-Workflows.
Wenn du mit RL in Python beginnen möchtest, kannst du das Tutorial Reinforcement Learning nutzen: Eine Einführung mit Python-Beispielen ist für dich!
Reinforcement Learning leicht gemacht
Um das Konzept des verstärkenden Lernens zu veranschaulichen, stell dir vor, du bringst deinem Cousin das Fahrradfahren bei. Am Anfang fällt es ihr schwer, in die Pedale zu treten und das Gleichgewicht zu halten, so dass sie oft wackelt oder stürzt.
Jedes Mal, wenn sie ein Stückchen weiter reitet, feuerst du sie an. Dieses positive Feedback ermutigt sie, weiterzumachen. Aber als sie versucht, die Treppe hinunterzufahren, hältst du sie schnell auf und erklärst ihr die Risiken. Das dient als negatives Signal, um von solchen Aktionen abzuschrecken.
Ähnlich, Verstärkungslernen ermöglicht es den Modellen, verschiedene Aktionen zu erkunden. Positive Belohnungen verstärken erwünschte Ergebnisse, während negative Belohnungen von unerwünschtem Verhalten abhalten. Mit der Zeit lernt das Modell durch dieses Feedback, bessere Entscheidungen zu treffen.
Ansätze zum Verstärkungslernen
Es gibt verschiedene Techniken, um Verstärkungslernen auf ein Modell anzuwenden. Konkret wird GRPO als eine Weiterentwicklung der proximalen Politikoptimierung (PPO) und der direkten Politikoptimierung (DPO) betrachtet.
Hast du schon einmal von PPO und DPO gehört?
Optimierung der Politik in der Nähe
PPO ist ein weit verbreiteter RL-Algorithmus, der entwickelt wurde, um das Verhalten eines Modells zu optimieren und seine Belohnungen zu maximieren, indem ein separates Belohnungsmodellverwendet wird. Ein großartiges Beispiel für PPO in Aktion ist das reinforcement learning from human feedback (RLHF) von OpenAI. In RLHF wird zunächst menschliches Feedback zu den Modellausgaben gesammelt, und diese Daten werden später verwendet, um ein Belohnungsmodell zu trainieren, das das Feedback vorhersagt. Ein Belohnungsmodell ist eine Möglichkeit, menschliches Feedback zu skalieren, ohne dass Menschen dafür gebraucht werden.
Schließlich nutzt PPO das Belohnungsmodell während des Trainings, um die Parameter des Modells anzupassen und es so zu ermutigen, Antworten zu geben, die besser mit den menschlichen Vorlieben übereinstimmen. Das folgende Diagramm veranschaulicht den PPO-Workflow:
Diagramm des PPO-Workflows.
Wenn du den PPO-Workflow in Python implementieren möchtest, solltest du das Tutorial Proximal Policy Optimization mit PyTorch und Gymnasium.
Direkte Optimierung der Politik
Das Training eines separaten Belohnungsmodells kann komplex und ressourcenintensiv sein. Um diesen Prozess zu vereinfachen, wurde der DSB eingeführt, der die Art und Weise, wie menschliches Feedback gesammelt wird, verändert.
Anstatt Menschen zu bitten, Antworten mit numerischen Punkten zu bewerten, verlässt sich DPO auf den Präferenzvergleichs. Den menschlichen Kommentatoren werden zwei Antworten gezeigt und sie werden gebeten, diejenige zu wählen, die sie bevorzugen. So entsteht ein Datensatz mit bevorzugten und weniger bevorzugten Beispielen.
Das Modell wird dann direkt auf diese Präferenzpaare abgestimmt, anstatt sich auf das Belohnungsmodell zu verlassen. Durch diesen Ansatz lernt das Modell, die Wahrscheinlichkeit der bevorzugten Antwort zu erhöhen und die Wahrscheinlichkeit der weniger bevorzugten Antwort zu verringern.
Mit diesem Ansatz kann das Modell an die menschlichen Präferenzen angepasst werden, ohne dass ein separates Belohnungsmodell erforderlich ist. Werfen wir einen Blick auf diesen neuen Arbeitsablauf:
Diagramm des Arbeitsablaufs des DSB.
Das Tutorial OpenAI's Preference Fine-Tuning: Ein Leitfaden mit Beispielen hilft dir, den DSB in der Praxis umzusetzen.
Die Herausforderungen von PPO und DPO
DPO bietet viele Vorteile im Vergleich zu PPO. Ausgehend von den benötigten Daten muss PPO zunächst die Daten für das Training des Reward-Modells sammeln und dann das eigentliche Training dieses Hilfsmodells durchführen (mit allen technischen Herausforderungen, die das Training eines neuen Modells mit sich bringt), noch bevor du mit dem Training deines Zielmodells beginnst. DPO vereinfacht den Prozess, indem es die Notwendigkeit eines separaten Belohnungsmodells beseitigt. Dennoch erfordert dieser Ansatz immer noch eine große Menge an Präferenzdaten.
Siehst du zum jetzigen Zeitpunkt eine Möglichkeit, diese Einschränkungen zu beseitigen?
Was wäre, wenn wir uns nicht auf externes Feedback verlassen müssten, sondern einen automatischen Weg finden könnten, die Antworten der Modelle zu überprüfen und zu bewerten?
Das ist genau das, was GRPO auf die Tabelle bringt!
Was ist GRPO?
Group Relative Policy Optimization ist eine RL-Technik, die keine beschrifteten Daten benötigt, sondern nur eine Möglichkeit, die Korrektheit zu "überprüfen" und die Antworten entsprechend zu ordnen. Die Überprüfung erfolgt in der Regel durch programmierbare Belohnungsfunktionen, z. B. Funktionen, die die Antwort des Modells als Eingabe nehmen und eine Bewertungsnote für einen Aspekt der Funktion ausgeben können.
Einige GRPO-Ansätze verwenden ein LLM als Richter, um Antworten zu überprüfen und zu bewerten, aber die Kernidee von GRPO kann in Bereichen wie der Softwareentwicklung auch ohne ein externes Modell genutzt werden, da verschiedene Aspekte des generierten Codes durch externe Tools überprüft werden können. Zum Beispiel,
- Ist der Code kompilierbar? Hier müssen wir nur den Compiler verwenden.
- Liegt ein Laufzeitfehler vor? Hier müssen wir nur den Code ausführen.
- Besteht sie die Unit-Tests? Hier brauchen wir nur Unit-Tests.
- Ist die Ausgabe des Code-Linters sauber? Hier brauchen wir nur einen Linter.
Wie du siehst, werden keine Menschen oder Präferenzdaten benötigt!
Belohnungsfunktionen
In dem ursprünglichen Artikel von DeepSeek-Mathwurden die Belohnungsfunktionen entwickelt, um die Korrektheit und die Formatierung der mathematischen Lösungen zu bewerten. Wenn du schon einmal eine strukturierte Ausgabe für ein LLM angefordert hast, wirst du festgestellt haben, dass das Modell für den größten Teil der Fertigstellung vielleicht dem gewünschten Ausgabeformat gefolgt ist, aber es gab immer einen Eckfall, der deine Pipeline durchbrochen hat, richtig?
Im Fall von DeepSeek-Mathwurden die Belohnungsfunktionen auf Korrektheit und Formatierung ausgerichtet:
- Genauigkeit belohnt bewertet, ob die endgültige Antwort des Modells richtig ist. Bei deterministischen Mathematikaufgaben muss das Modell die endgültige Antwort in einem bestimmten Format (z. B. innerhalb eines Kastens) darstellen, um eine automatische Überprüfung anhand der Grundwahrheit zu ermöglichen.
- Formatbelohnungen stellen sicher, dass die Antworten des Modells einer vordefinierten Struktur entsprechen. Insbesondere wird das Modell ermutigt, seinen Denkprozess in bestimmte Tags einzuschließen (z. B.
und
). Diese Formatierung erleichtert die Extraktion und Analyse des Denkprozesses des Modells und fördert die Klarheit und Konsistenz der Ergebnisse.
GRPO Arbeitsablauf
An dieser Stelle fragst du dich vielleicht: Wo passt GRPO in den Trainingsablauf eines Modells?
Lass uns den Prozess Schritt für Schritt durchgehen!
- Sende eine Aufforderung an den LLM und prüfe die Antworten mehrerer Kandidaten.
- Schreibe eine oder mehrere programmierbare Funktionen, die die Aufforderungs- und Antwortpaare nehmen und ihnen jeweils eine Punktzahl zuweisen.
- Nutze diese Werte, um die LLM-Gewichte zu aktualisieren, indem du die Wahrscheinlichkeit erhöhst, dass Antworten mit überdurchschnittlichen Werten produziert werden, und sie für Antworten mit unterdurchschnittlichen Werten senkst.
Durch diese Schleife stimmt GRPO das Modell direkt auf der Grundlage der Ergebnisse der Belohnungsfunktionen ab, ohne dass Präferenzdaten gesammelt werden müssen.
Diagramm des GRPO-Workflows, bei dem die Belohnungen von einem externen Akteur berechnet werden.
Schließlich ist es interessant, dass GRPO auch den Vorteil bietet, dem Modell neue Aufgaben beizubringen, anstatt das Lernen nur auf eine Präferenz zu lenken, wie bei PPO oder DPO.
Vorteile von GRPO
Wie wir aus dem obigen Diagramm ersehen können, liegt der Hauptvorteil von GRPO darin, dass es keine beschrifteten Daten benötigt, sondern nur ein Mittel zur "Überprüfung" der Korrektheit, das durch die Verwendung von programmierbaren Belohnungsfunktionen erreicht wird.
Ein weiterer Vorteil ist, dass viel weniger Beispiele benötigt werden als bei der Feinabstimmung, was diese Technik zu einer kostengünstigen Alternative macht.
Außerdem lernt das Modell aktiv aus dem Feedback und nicht aus fest vorgegebenen Beispielen, was das Risiko einer Überanpassung verringert. Die Schulung von Modellen mit GRPO ermöglicht es ihnen, organisch bessere Strategien zu entdecken und ihre Denkkette zu verbessern.
GRPO Anwendungsfälle
Wie bereits erwähnt, kommt GRPO vor allem dann zum Einsatz, wenn du keine beschrifteten Daten hast, aber in der Lage bist, die Korrektheit der Ausgabe zu überprüfen. Sie ist auch sehr effektiv, wenn du nur wenige beschriftete Daten hast, obwohl sie nicht ausreichen, um eine traditionelle überwachte Feinabstimmung durchzuführen. Das macht GRPO besonders wertvoll in Szenarien, in denen die Kennzeichnung kostspielig oder unpraktisch ist.
Einige Bereiche, in denen GRPO deutliche Vorteile gezeigt hat, sind:
- Mathematische Fähigkeiten: Im Fall des DeepSeek-Math-Modells( ) hat GRPO beispielsweise die Fähigkeit des Modells, komplexe mathematische Probleme ohne umfangreiche gelabelte Datensätze zu lösen, effektiv verbessert.
- Codegenerierung: GRPO trägt dazu bei, die Genauigkeit und Zuverlässigkeit des generierten Codes zu verbessern, indem es dem System ermöglicht, die Ausgaben selbst zu überprüfen und iterativ zu verfeinern.
- Mehrstufige Argumentation: Es hat sich gezeigt, dass GRPO die Leistung der Modelle bei Aufgaben verbessert, die sequenzielles Denken und die Integration mehrerer logischer Schritte erfordern.
Erweitertes GRPO
Bei der Umsetzung von GRPO in der Praxis gibt es einige fortgeschrittene Tipps und Tricks, die du kennen solltest.
Erweiterte Belohnungsfunktionen
Belohnungsfunktionen geben dem Modell Rückmeldung darüber, wie gut es sein Ziel erreicht. Bei diesem Prozess gibt es entscheidende Komponenten:
- Vielfalt der Antworten: Wenn du eine große Bandbreite an möglichen Ergebnissen generierst, erhöht sich die Wahrscheinlichkeit, dass du qualitativ hochwertigere Lösungen oder Strategien entdeckst.
- Vielfalt bei den Belohnungen: Die Entwicklung von Belohnungsfunktionen, die zwischen verschiedenen Stufen des Erfolgs oder Teilerfolgs unterscheiden können, anstatt nur ein binäres Pass/Fail-Signal zu geben. Dies ist bekannt als partielle Belohnungen, die ein differenzierteres Feedback geben, indem sie verschiedene Aspekte der Antwortteilweise anerkennen. So kann beispielsweise überprüft werden, ob zumindest das Ausgabeformat korrekt ist, ob der generierte Code erfolgreich kompiliert wurde oder ob der Code eine Teilmenge der Unit-Tests besteht. Diese Art der abgestuften Belohnung ermutigt das Modell, sich schrittweise zu verbessern, auch wenn die Antwort nicht ganz korrekt ist.
Außerdem kanndas Festlegen einer Basislinie für die gesamte Gruppe eine wichtige Rolle bei der Stabilisierung und Verbesserung des Trainingsprozesses spielen. Indem diese Basislinie von den individuellen Belohnungen abgezogen wird, erhält das Modell eine Rückmeldung im Verhältnis zur Gesamtleistung der Gruppe, was die Varianz der Belohnungsschätzungen verringert und schrittweise Verbesserungen gegenüber dem Durchschnitt fördert.
Temperatur
Bei LLMs steuert der Temperaturparameter die Zufälligkeit des Abtastprozesses bei der Erzeugung der Ergebnisse. Die Einstellung der Temperatur auf 0 führt zu einem deterministischen SamplingDas heißt, das Modell wählt immer das wahrscheinlichste nächste Token.
Das sorgt zwar für Konsistenz, führt aber oft dazu, dass immer wieder die gleichen Ergebnisse erzeugt werden.und schränkt die Vielfalt der Antworten ein.
Andererseits führt eine Erhöhung der Temperatur zu mehr Zufälligkeit, so dass das Modell eine größere Bandbreite an Möglichkeiten erkunden kann. Diese Vielfalt kann von Vorteil sein, um andere oder unerwartete Lösungen zu finden.
Höhere Temperaturen haben jedoch einen Nachteil: Die Qualität jeder einzelnen Vermutung ist tendenziell geringer, weil das Modell häufiger weniger wahrscheinliche Token abfragt. Dadurch kann sich der Lernprozess insgesamt verlangsamen.
Die Wahl der richtigen Temperatur ist manchmal eine Kunst!
Belohnungs-Hacking
Modelle sind heimtückisch und nutzen die Belohnungsfunktionen manchmal auf unbeabsichtigte Weise aus, um die Belohnungen zu maximieren, ohne das Ziel wirklich zu erreichen.
Nehmen wir zum Beispiel an, dass das Modell für die Erstellung von Tests für einen bestimmten Codeausschnitt belohnt wird. Es könnte sein, dass das Modell eine Testfunktion bereitstellt, ohne jedoch tatsächlich etwas zu testen, so dass das eigentliche Ziel, die Korrektheit des Codes zu überprüfen, umgangen wird und man trotzdem die Belohnung erhält.
Beim Schreiben der Reward-Funktionen sollte man sich dieser Hacks bewusst sein. Bei der Testerstellung ist es zum Beispiel normalerweise erforderlich, dass das Modell mindestens eine 'assert' Anweisung innerhalb des Tests erzeugt. Sonst wird es bestraft.
Fazit
Zum Schluss möchte ich GRPO auf ein reales Szenario anwenden, um sicherzustellen, dass alle Konzepte gut verstanden werden.
Stell dir vor, du und deine Freunde nehmen an einem Fitness-Wettbewerb teil, bei dem es Belohnungen für die Leistung beim Laufen, Liegestützen und Rudern gibt. Am Anfang belohnt das Fitnessstudio nur die Person mit den besten absoluten Ergebnissen.
Wenn Alice also weiter läuft und mehr Liegestütze macht als Ben, gewinnt sie immer, auch wenn Ben sich deutlich verbessert hat.
Das fühlt sich Ben gegenüber unfair an, nicht wahr?
Um das zu ändern, versucht das Fitnessstudio einen anderen Ansatz: persönliche Ziele, die auf vergangenen Leistungen basieren.
Jetzt erhältst du nur noch Belohnungen, wenn du deine eigenen früheren Rekorde übertriffst. Das scheint zwar fairer zu sein, führt aber zu neuen Problemen. Neue Mitglieder wie Charlie haben keine Daten aus der Vergangenheit, mit denen sie sich vergleichen können, was es ihnen schwer macht, teilzunehmen. Außerdem müssen die Ausbilder/innen ständig die Fortschritte jedes Einzelnen verfolgen, was ineffizient ist.
Schließlich bietet das Fitnessstudio eine bessere Lösung: GRPO.
Bevor das Training beginnt, aktiviert der Sportlehrer ein System, das die Eigenschaften der Teilnehmer/innen analysiert und sie nach ähnlichen Bedingungen gruppiert. Während des Trainings verfolgt das System die Leistung jedes Teilnehmers/jeder Teilnehmerin und errechnet einen Durchschnittswert innerhalb jeder Gruppe, der als Basiswert dient. Danach werden Belohnungen verteilt, je nachdem, um wie viel die einzelnen Personen die durchschnittliche Leistung ihrer Gruppe an diesem Tag übertreffen.
Wenn Ben also deutlich besser abschneidet als die anderen in seiner Gruppe, verdient er sich eine Belohnung, auch wenn Alice immer noch die höchste Gesamtpunktzahl hat. Diese Methode ist auch für Neulinge wie Charlie fair, da sie im Vergleich zu den anderen Teilnehmern der gleichen Runde bewertet werden und nicht aufgrund ihrer Vorgeschichte.
Ein wichtiger Faktor in diesem Prozess ist die Temperatur, die bestimmt, wie streng Verbesserungen belohnt werden. Wenn die Temperatur zu niedrig ist, zählen nur große Verbesserungen gegenüber dem Ausgangswert. Wenn die Temperatur zu hoch ist, werden auch kleine Verbesserungen belohnt, was zum Experimentieren anregt, aber auch zu unregelmäßigen Fortschritten führen kann.
GRPO versucht, das richtige Gleichgewicht zu finden, das eine stetige Verbesserung gewährleistet und gleichzeitig Raum für Entdeckungen lässt.
Schließlich gibt es noch das Risiko, dass die Belohnung gehackt wird. Das würde bedeuten, dass die Teilnehmenden Wege finden, das System zu umgehen, ohne sich wirklich zu verbessern. Ben könnte sich zum Beispiel nur auf die einfachsten Übungen konzentrieren, um seine Punktzahl ohne echte Anstrengung in die Höhe zu treiben.
Um dies zu verhindern, setzt das Fitnessstudio Schutzmaßnahmen ein, wie z.B. eine ausgewogene Mischung von Übungen oder die Bestrafung von sich wiederholenden, wenig anstrengenden Übungen. Diese Beschränkungen stellen sicher, dass die Belohnungen echte Fortschritte widerspiegeln.
Wenn du mehr darüber erfahren möchtest, wie LLMs funktionieren und wie du deine eigenen entwickeln kannst, schau dir unseren Kurs an, Entwicklung von großen Sprachmodellen.
Einführung in KI-Agenten
GRPO FAQs
Wie viele Daten werden für GRPO benötigt?
In der Regel weniger als 1000 beschriftete Beispiele.
Verlangt GRPO eine Nachverfolgung der bisherigen Leistungen?
Nein. GRPO verwendet nur Informationen aus dem aktuellen Ausbildungsschritt.
Was ist eine Gruppe in GRPO?
Eine Gruppe ist eine Sammlung von Musterantworten auf dieselbe Aufforderung.
Wie verhindert GRPO das Hacken von Belohnungen?
Durch die Einbeziehung von Beschränkungen hält GRPO die Modelle davon ab, einfache Wege zu überhöhten Belohnungen auszunutzen.
Wie werden die Belohnungen in GRPO vergeben?
Jede Antwort wird belohnt, je nachdem, wie sehr sie die Grundlinie der Gruppe übertrifft, und nicht nach der absoluten Belohnung.

Andrea Valenzuela arbeitet derzeit am CMS-Experiment am Teilchenbeschleuniger (CERN) in Genf, Schweiz. Seit sechs Jahren ist sie Expertin für Datentechnik und -analyse. Zu ihren Aufgaben gehören Datenanalyse und Softwareentwicklung. Mit der Medium-Publikation ForCode'Sake setzt sie sich für die Demokratisierung des Lernens von datenbezogenen Technologien ein.
Sie hat einen BS in technischer Physik von der Polytechnischen Universität von Katalonien und einen MS in intelligenten interaktiven Systemen von der Universität Pompeu Fabra. Zu ihren Forschungserfahrungen gehört die professionelle Arbeit mit früheren OpenAI-Algorithmen zur Bilderzeugung, wie Normalizing Flows.