当前位置: 首页 > news >正文

从Token到序列:阿里GSPO算法如何让大模型训练更稳、更强?

在大语言模型(LLM)飞速发展的今天,强化学习(RL)早已成为提升模型能力的“核心引擎”。它能让模型通过不断“试错”优化,学会解数学题、写代码等复杂任务。但随着模型规模越来越大(比如动辄千亿参数的混合专家模型MoE),现有强化学习算法开始“力不从心”——最先进的GRPO算法常常因为训练不稳定导致模型崩溃。

为此,阿里巴巴通义千问团队提出了全新的强化学习算法GSPO(Group Sequence Policy Optimization)。它不仅解决了GRPO的稳定性问题,还为最新的Qwen3系列模型突破奠定了基础。今天,我们就用通俗的语言聊聊GSPO的核心思路,以及它如何通过一个巧妙设计兼顾“稳定性”和“灵活性”。

先聊聊GRPO的“痛点”:为什么训练会崩溃?

要理解GSPO的优势,得先看看GRPO的问题。

GRPO是目前流行的强化学习算法,但它有个关键缺陷:按单个Token(比如一个词、一个字)计算“重要性权重”。简单说,就是模型每生成一个Token,都会单独计算这个Token对最终结果的“贡献度”,再用这个贡献度调整模型参数。

但问题来了:单个Token的“贡献度”波动很大。比如生成一句话时,可能某个词的权重突然变得特别高,另一个词的权重又特别低。这些波动会随着句子长度增加不断累积,就像多米诺骨牌一样,最后导致整个模型的参数更新“失控”,甚至崩溃。

更麻烦的是,对于混合专家模型(MoE)——这种模型会“动态调用”不同的“专家模块”处理不同内容——单个Token的权重波动会更剧烈。因为MoE的“专家选择”本身就有随机性,这会让GRPO的Token级权重彻底失效,训练根本无法收敛。

GSPO的破局思路:从“逐个打分”到“整体评价”

GSPO的核心改进很简单:把优化单位从“单个Token”升级到“整个序列”(比如一句话、一个段落)。

想象一下:评价一篇作文时,GRPO是逐句打分,每句的分数权重差异很大,最后总分忽高忽低;而GSPO是先给整篇作文打一个整体分,再基于这个整体分调整每句话的“贡献”。这样一来,单个句子的小波动就不会影响全局,稳定性自然提升了。

具体来说,GSPO做了三件关键事:

  1. 序列级重要性比率:不再计算单个Token的“贡献”,而是计算整个序列的“整体似然”(可以理解为“这篇作文整体合理的概率”)。
  2. 长度归一化:不同长度的序列(比如短句和长文)用不同的“缩放系数”,避免长序列的波动被放大。
  3. 序列级裁剪:如果某个序列的“整体似然”偏离正常范围太远,就直接排除它,不让它干扰训练。

这些设计让GSPO的训练曲线始终“稳步上升”,而GRPO常常大起大落(如图1所示)。即使增加训练量、延长生成内容长度,GSPO也能持续提升性能,这是GRPO做不到的。

GSPO-token:既保稳定,又留灵活

GSPO用“整体评价”解决了稳定性,但实际训练中,我们有时需要更精细的调整——比如某句话里,某个词明显更重要(比如数学公式里的关键符号),这时又需要按Token微调。

于是,团队又提出了GSPO-token:它能像GSPO一样保持整体稳定,又能像GRPO一样做Token级调整。关键在于一个巧妙的设计:

当所有Token的“优势值”(可以理解为“重要性分数”)相同时,GSPO-token就和GSPO完全等效;当Token的优势值不同时,它又能单独调整每个Token的权重。

举个例子就明白了:

假设我们要优化模型生成的一句话:“小明在公园吃苹果”。

  • 情况1:所有词的重要性相同(比如这句话里每个词都很关键,缺一不可)。这时GSPO-token会给“小明”“在”“公园”“吃”“苹果”这5个Token相同的优势值(比如都设为0.8)。此时GSPO-token的计算结果和GSPO完全一样——都是基于整句话的“整体似然”优化,稳定性拉满。
  • 情况2:某些词更重要(比如“苹果”是核心,其他词次要)。这时可以给“苹果”设更高的优势值(比如1.2),其他词设较低的值(比如0.6)。GSPO-token会单独放大“苹果”的权重,让模型更关注这个词的生成质量,而GSPO只能用整体优势值(比如0.8),做不到这种精细调整。

这个设计让GSPO-token既能继承GSPO的稳定性,又能应对需要Token级优化的场景(比如多轮对话、长文本生成),灵活性拉满。

为什么GSPO对MoE模型特别友好?

混合专家模型(MoE)是大模型的“效率神器”,但它的训练一直是个难题——不同“专家模块”的激活状态(比如处理“数学”和“文学”的专家切换)会导致Token级权重剧烈波动,GRPO根本扛不住。

GRPO只能靠“路由回放”(记录专家激活状态,反复复用)勉强训练,但这会增加大量内存和通信成本,还限制了模型容量。

而GSPO根本不需要这些“额外操作”:它关注的是“整个序列的似然”,而MoE模型的“语言建模能力”(生成通顺内容的能力)是稳定的,因此序列级的似然不会剧烈波动。就算单个Token的专家激活有变化,也不会影响整体优化,训练自然更稳定、更高效(如图3所示)。

总结:GSPO为大模型训练“开了新道”

GSPO的提出,本质上是从“局部优化”转向“全局+局部协同优化”。它用序列级设计解决了GRPO的稳定性痛点,又用GSPO-token保留了Token级调整的灵活性,这让它在大规模LLM(尤其是MoE模型)的训练中表现卓越。

目前,GSPO已经成功应用于Qwen3系列模型的训练,为其性能突破打下了基础。未来,随着模型规模继续扩大,这种兼顾稳定与灵活的强化学习算法,可能会成为大模型训练的“标配”。

(注:文中图表引用自论文《Group Sequence Policy Optimization》,具体实验细节可参考原论文。)

http://www.dtcms.com/a/318579.html

相关文章:

  • CubeFS存储(一)
  • 16-DS18B20-±0.5℃精度-12bitADC--55°C ~ +125°C
  • ubuntu server 工业环境部署手册[2025-08-06]
  • ⭐CVPR 文本到 3D 场景生成新突破:Prometheus 框架解析
  • http请求结构体解析
  • 【C++】二叉树进阶
  • 人工智能大数据模型驱动企业创新
  • 商用密码应用安全性评估法律法规的重要性及演变过程
  • 力扣-15.三数之和
  • 五、Istio管理网格外部服务
  • 快速准确的千兆像素病理图像分类,采用分层蒸馏多实例学习(每日一文)
  • ssm复习
  • 【RabbitMQ】高级特性—死信队列详解
  • 560. 和为 K 的子数组 - 前缀和思想
  • MATLAB下载教程MATLAB R2025a 保姆级安装步骤(附安装包)
  • 数据结构——双向链表及makefile
  • c++ 中 原子锁、互斥锁、自旋锁的区别和详细用法
  • 大模型 + 垂直场景:搜索 / 推荐 / 营销 / 客服领域开发
  • 【Redis】Linux部署redis 7集群部署三主三从、ACL新建用户及密码(图文教程)
  • ​ubuntu22.04系统入门 (四)linux入门命令 权限管理、ACL权限、管道与重定向
  • 集合数据类型Map和Set
  • pcl手动直通滤波
  • LeetCode每日一题,8-6
  • 基于Simulink/MWORKS的文字与开关量混合传输系统设计
  • 流式输出 vs 非流式输出
  • SpringBoot设置跨域的几种方式
  • 互斥锁与条件变量
  • 每日五个pyecharts可视化图表-bars(5)
  • Java语言基础深度面试题
  • List、ArrayList 与顺序表