lightbulb-onApprentissage par renforcement GSPO

Entraînez avec GSPO (Group Sequence Policy Optimization) RL dans Unsloth.

Nous introduisons GSPO qui est une variante de GRPO créée par l'équipe Qwen chez Alibaba. Ils ont observé que lorsque GRPO attribue des poids d'importance à chaque jeton, les avantages intrinsèques ne s'étendent pas et ne changent pas avec chaque jeton. Cela a conduit à la création de GSPO, qui attribue désormais l'importance à la vraisemblance de la séquence plutôt qu'aux vraisemblances individuelles des jetons.

Activez GSPO dans Unsloth en définissant importance_sampling_level = "sequence" dans la configuration GRPO. La différence entre ces deux algorithmes peut être vue ci-dessous, à la fois dans l'article GSPO de Qwen et Alibaba :

Algorithme GRPO, Source : Qwenarrow-up-right
Algorithme GSPO, Source : Qwenarrow-up-right

Dans l'équation 1, on peut voir que les avantages mettent à l'échelle chacune des lignes dans les logprobs des tokens avant que ce tenseur ne soit sommée. Essentiellement, chaque token reçoit la même mise à l'échelle bien que cette mise à l'échelle ait été appliquée à l'ensemble de la séquence plutôt qu'à chaque token individuel. Un diagramme simple de ceci peut être vu ci‑dessous :

Ratio de logprob GRPO mis à l'échelle ligne par ligne avec les avantages

L'équation 2 montre que les ratios de logprob pour chaque séquence sont sommés et exponentiés après le calcul des ratios de logprob, et seuls les ratios de séquence résultants sont multipliés ligne par ligne par les avantages.

Ratio de séquence GSPO mis à l'échelle ligne par ligne avec les avantages

Activer GSPO est simple, il vous suffit de définir le importance_sampling_level = "sequence" indicateur dans la configuration GRPO.

Mis à jour

Ce contenu vous a-t-il été utile ?