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

GSPO 强化学习

在 Unsloth 中使用 GSPO(组序列策略优化)进行 RL 训练。

我们正在介绍 GSPO,它是以下方法的一种变体: GRPO 由阿里巴巴的 Qwen 团队提出。他们注意到一个现象:当 GRPO 对每个 token 使用重要性权重时,尽管优势本质上不会随着每个 token 进行缩放或变化。正是这一观察促成了 GSPO 的诞生;现在它将重要性分配在序列似然上,而不是各个 token 的单独似然上。

在 Unsloth 中启用 GSPO,只需设置 importance_sampling_level = "sequence" 在 GRPO 配置中即可。这两种算法的区别如下所示,均来自 Qwen 和阿里巴巴的 GSPO 论文:

GRPO 算法,来源: Qwen
GSPO 算法,来源: Qwen

在公式 1 中可以看到,优势会在该张量求和之前,将每一行缩放到 token 的对数概率中。实际上,每个 token 都被赋予了相同的缩放,尽管这种缩放原本是赋予整个序列而不是每个单独的 token。下面可以看到一个简单示意图:

GRPO 对数概率比按行使用优势进行缩放

公式 2 表明,在计算出对数概率比后,会先将每个序列的对数概率比求和并取指数,然后才将得到的序列比按行与优势相乘。

GSPO 序列比按行使用优势进行缩放

启用 GSPO 很简单,你只需要设置 importance_sampling_level = "sequence" 标志在 GRPO 配置中。

最后更新于

这有帮助吗?