For the complete documentation index, see llms.txt. This page is also available as Markdown.

GSPO Reinforcement Learning

Trainiere mit GSPO (Group Sequence Policy Optimization) RL in Unsloth.

Wir führen GSPO ein, eine Variante von GRPO entwickelt vom Qwen-Team bei Alibaba. Sie bemerkten die Beobachtung, dass GRPO für jedes Token Wichtigkeitsgewichte verwendet, obwohl Vorteile von Natur aus nicht mit jedem Token skaliert oder sich verändern. Dies führte zur Entwicklung von GSPO, das nun die Wichtigkeit auf die Sequenz-Wahrscheinlichkeit statt auf die individuellen Token-Wahrscheinlichkeiten der Tokens setzt.

Aktivieren Sie GSPO in Unsloth, indem Sie importance_sampling_level = "sequence" im GRPO-Konfigurationsobjekt setzen. Der Unterschied zwischen diesen beiden Algorithmen ist unten zu sehen, sowohl aus dem GSPO-Papier von Qwen und Alibaba:

GRPO-Algorithmus, Quelle: Qwen
GSPO-Algorithmus, Quelle: Qwen

In Gleichung 1 ist zu sehen, dass die Vorteile jede der Zeilen in die Token-Log-Wahrscheinlichkeiten skalieren, bevor dieser Tensor aufsummiert wird. Im Wesentlichen erhält jedes Token dieselbe Skalierung, obwohl diese Skalierung der gesamten Sequenz und nicht jedem einzelnen Token zugewiesen wurde. Ein einfaches Diagramm dazu ist unten zu sehen:

GRPO-Logprob-Verhältnis, zeilenweise mit Vorteilen skaliert

Gleichung 2 zeigt, dass die Logprob-Verhältnisse für jede Sequenz nach der Berechnung der Logprob-Verhältnisse aufsummiert und exponentiert werden, und nur die daraus resultierenden nunmehr Sequenz-Verhältnisse werden zeilenweise mit den Vorteilen multipliziert.

GSPO-Sequenzverhältnis, zeilenweise mit Vorteilen skaliert

GSPO zu aktivieren ist einfach, alles, was Sie tun müssen, ist die importance_sampling_level = "sequence" Option in der GRPO-Konfiguration zu setzen.

Zuletzt aktualisiert

War das hilfreich?