Imbalanced Gradients in RL Post-Training of Multi-Task LLMs


TL;DR

本文通过实验证明,在大型语言模型 (LLM) 的多任务强化学习 (RL) 后训练中,不同任务会产生幅度差异悬殊的梯度,并且大梯度并不意味着大的学习增益,这种梯度不平衡现象会导致优化过程偏向特定任务,从而损害整体性能。

关键定义

本文核心关注并揭示了在 LLM 多任务后训练中的一个关键现象:

相关工作

当前,对大型语言模型进行多任务后训练的标准方法是简单地将来自不同任务的数据集合并,然后对模型进行联合优化。这种策略虽然简单,但其背后有一个隐含的假设:即所有任务贡献的梯度幅度大致相似。在计算机视觉等领域,已有研究指出这种梯度不平衡问题,但在大型语言模型领域,尤其是在强化学习后训练的背景下,该问题尚未得到充分探讨。

本文旨在解决的具体问题是:

  1. 验证在多任务强化学习后训练 LLM 的过程中,梯度不平衡现象是否确实存在且显著?
  2. 探究这种梯度不平衡是否合理,即梯度的大小是否与其对应的学习增益(任务性能提升)正相关?
  3. 如果梯度不平衡是有害的,其根本原因是什么?

本文方法

本文的研究方法并非提出一种新的算法,而是一系列旨在揭示、证实和分析“梯度不平衡”现象的诊断性实验。

核心发现:梯度不平衡现象

本文首先通过实验证实了梯度不平衡现象的存在。实验设置涵盖了多个模型(Qwen2.5-3B/7B, Llama-3.2-3B)和两种任务组合:

  1. 多领域任务:包括代码生成 (Code)、数学推理 (MATH)、数字构建 (Countdown) 和金融问答 (FinQA)。
  2. 单领域(数学)任务:包含三种不同难度的数学任务 (DeepScaleR, MATH, Arithmetic)。

实验采用均匀采样的方式构建批次数据,并追踪了每个任务在训练过程中的平均梯度平方范数。

Refer to caption Refer to caption

如上图左列所示,实验结果明确显示了梯度的显著不平衡:

这种不平衡导致聚合后的平均梯度被大梯度任务主导,使得优化偏向这些任务。从另一个角度看,这相当于为大梯度任务设置了比小梯度任务高得多的有效学习率,为了维持训练稳定,全局学习率必须调低,这又进一步导致小梯度任务训练不足。

核心论证:梯度与学习增益不相关

梯度不平衡本身不一定有害,如果大梯度能带来大的学习增益,那么这种偏向性反而是有益的。然而,本文通过两种方式证伪了这一假设。

学习增益的量化分析

本文将学习增益定义为训练奖励在一段时间内的变化量:

\[\text{Gain}(t) := \frac{1}{s}\sum_{i=1}^{s}R_{t+i} - \frac{1}{s}\sum_{i=1}^{s}R_{t-i}\]

其中 $R_k$ 是第 $k$ 步的训练奖励。如上图中间列所示,学习增益的模式与梯度幅度的模式完全不同。例如,在多领域任务中,梯度最大的 Code 任务的学习增益却是最低之一;在数学任务中,梯度最大的 Arithmetic 任务在训练后期的学习增益最小。这表明,任务间的梯度差异并不能用学习增益的差异来解释。

梯度比例采样实验

为了进一步验证,本文设计了一种“梯度比例采样”策略,即让梯度更大的任务获得更多的训练机会。其逻辑是:如果大梯度真的意味着大学习潜力,那么优先训练这些任务应该能提升整体平均性能。然而实验结果表明,这种策略并没有带来优势,有时甚至会损害模型的平均性能。这再次证实,跨任务的梯度信号不仅与学习增益不相关,甚至可能产生误导。

来源探究:与其它训练统计量无关

最后,本文探究了其他可能解释梯度不平衡的因素,但均未找到强相关性。

这些分析表明,梯度不平衡并非由训练奖励、优势或序列长度等动态变化的训练统计量所驱动,而更可能源于任务之间的内在差异

实验结论