大模型入门(2)——初读两篇论文后的感悟
这两天读了
GPG-A Simple and Strong Reinforcement Learning Baseline for Model Reasoning
The Unreasonable Effectiveness of Entropy Minimization in LLM Reasoning
GPG: A Simple and Strong Reinforcement Learning Baseline for Model Reasoning
第一篇主要介绍了一个叫做组策略梯度(GPG)的强化学习方法,旨在简化大语言模型(LLM)的强化学习微调(RLFT)过程,同时在推理任务中实现卓越的性能。
GPG主要创新点体现在与近端策略优化算法(PPO)和组相对策略优化(GRPO)的对比上:
1.直接优化原始强化学习目标:
传统方法PPO:为了保证训练的稳定性,通常会引入“替代损失函数”(surrogate loss function)来近似原始的强化学习目标。这意味着它们不是直接优化模型的最终表现,而是通过一个中间的、经过修改的损失函数来间接优化
GPG的优势:GPG 摒弃了这种间接的优化方式,它直接针对原始的强化学习目标进行优化
2.简化强化学习组件:
PPO 算法为了减少梯度估计的方差和约束策略更新,需要额外引入两个关键组件:
评论家模型 (Critic Model): 一个独立的神经网络,用于估计状态(V)或状态-动作对(Q)的价值,为策略更新提供基线
参考模型 (Reference Model): 策略网络的一个旧版本副本,用于衡量新策略与旧策略之间的偏离程度,以确保更新的稳定性
GPG的优势:它彻底消除了对评论家模型和参考模型的需求。这种简化大大降低了模型架构的复杂性,减少了训练所需的计算资源和内存消耗
3.无分布约束:
PPO和GRPO的约束:为了保证训练的稳定性,会引入额外的“分布约束”,例如 KL 散度约束。这些约束限制了新旧策略之间的差异,防止策略发生剧烈变化
GPG的优势:GPG不施加任何此类分布约束,这赋予其更大灵活性、可扩展性。论文中的消融实验证明对GPG而言,引入这些约束会损害其性能。
4.改进的优势和梯度估计:
现有问题分析: 论文深入分析了现有强化学习算法在处理 LLM 推理任务时面临的两个核心问题:
奖励偏差: 现有的优势函数可能存在奖励偏差。
梯度估计偏差和高方差: 在分布式训练中,由于存在无效样本(例如,模型输出完全错误或完全正确,导致梯度为零),标准的反向传播算法计算出的梯度可能存在偏差,同时梯度估计也可能面临高方差问题。
GPG 的解决方案:
准确梯度估计 (Accurate Gradient Estimation, AGE): GPG 提出了 AGE 技术,通过对有效样本的梯度进行平均,而不是简单地对所有样本(包括零梯度样本)进行平均,从而得到一个更准确、无偏的梯度估计。
方差减少机制: 为了进一步应对高方差问题,GPG 引入了一个阈值机制和重采样策略。当有效样本的比例低于预设阈值时,GPG 会累积有效样本并进行重采样,直到有效样本比例达到阈值,从而稳定梯度估计,提高训练的稳定性和收敛速度。

The Unreasonable Effectiveness of Entropy Minimization in LLM Reasoning
第二篇介绍了一个叫做熵最小化(EM)的方法,探讨了其在提升大语言模型推理能力方面的“不合理有效性”。即使在没有标注数据或外部监督的情况下,EM也能显著提高LLMs在数学、物理和编程等复杂任务上的表现。
这个模型的前提是要求模型的置信度与正确性之间具有相关性。
文章提出了三种基于熵最小化的无监督方法,用于LLMs的预训练后适应和推理时缩放:
EM-FT(无监督微调):通过直接最小化模型生成输出的token级熵来进行无监督微调。这种方法在不使用任何标注数据的情况下,在数学和编程任务上取得了令人惊讶的强大性能,甚至在某些基准上超越了需要标注数据的强化学习基线(如GRPO和RLOO)。
EM-RL(基于负熵奖励的强化学习):将负熵作为唯一的奖励信号应用于强化学习框架。该方法在没有标注数据的情况下,实现了与强RL基线相当或更优的性能。
EM-INF(推理时Logit优化):在推理阶段通过优化模型的logit来降低输出分布的熵,而无需进行任何参数更新或使用训练数据。这种方法被证明在复杂任务中特别有效,并且计算效率远高于传统的推理时缩放方法(如自洽性)。
研究结果表明,许多预训练的LLMs本身具有强大的推理能力,而EM能利用这些能力,不需要额外的监督。
文章也建议将EM-FT、EM-RL和EM-INF作为未来LLM预训练后和推理时算法评估的重要基线,以便更准确地评估算法创新与模型固有能力之间的贡献。
PS:这篇文章中的公式没有读懂,并且代码也没公布。不像第一篇文章那样读了知乎那篇文章后那么清晰。