Deepseek成功启示:从 TRPO 到 GRPO训练LLM
DeepSeek 最近在 AI 社区引起了不小的轰动,这要归功于它以相对较低的成本提供令人印象深刻的性能。这是深入了解大型语言模型 LLMs 如何训练的绝佳机会。本文将深入探讨LLMs的训练过程,特别是强化学习(Reinforcement Learning,RL)在这一领域的应用,从TRPO(Trust Region Policy Optimization)到PPO(Proximal Policy Optimization),再到最新的GRPO(Group Relative Policy Optimization)的演进。
一、LLMs训练的三阶段
在深入探讨RL算法之前,我们先简要回顾一下LLMs训练的主要阶段。LLMs的训练通常分为三个步骤:预训练(Pre-training)、监督微调(Supervised Fine-Tuning,SFT)和强化学习微调(Reinforcement Learning Fine-Tuning,通常称为RLHF)。
- 预训练:在这一阶段,模型会在一个庞大的数据集上进行训练,目标是预测序列中下一个标记(token)基于前面的标记。这一步骤使模型能够学习到语言的通用表示。
- 监督微调:预训练完成后,模型会在更具体的数据上进行微调,这些数据通常与特定任务相关,并通过有监督学习来优化模型在这些任务上的性能。
- 强化学习微调:最后,通过强化学习进一步微调模型,使其响应更符合人类偏好。这一步骤允许模型直接从人类反馈中学习,从而进一步提高其对人类意图的理解。
二、强化学习基础
在深入探讨LLMs的RL算法之前,我们先来回顾一下强化学习的基础知识。
强化学习是一种机器学习方法,其中智能体(agent)在与环境的交互中学习如何采取行动以最大化累积奖励。智能体处于环境中的一个特定状态,并可以通过采取行动过渡到其他状态。每个行动都会从环境中获得一个奖励,这是环境提供的反馈,用于指导智能体未来的行动。
例如,考虑一个机器人试图走出迷宫的情景。机器人的位置构成环境的当前状态,它可以采取的行动包括向前移动、向左转弯或向右转弯。成功走向出口会得到正奖励,而撞到墙壁或陷入迷宫则会得到负奖励。
在LLMs的上下文中,RL的应用略有不同。LLM本身充当智能体,环境包括用户提示、反馈系统和其他上下文信息。行动是模型对查询的响应,即LLM生成的标记。状态是当前正在回答的查询以及LLM到目前为止生成的标记(即部分响应)。奖励通常来自一个单独的奖励模型,该模型为每对(查询,响应)输出一个分数。
三、TRPO:信任区域策略优化
TRPO是一种强化学习算法,旨在通过约束新策略与旧策略之间的偏差来提高策略更新的稳定性。它使用优势函数(advantage function)来衡量在当前状态下选择的行动与基线相比的好坏程度。
在TRPO中,策略更新受到KL散度(Kullback-Leibler divergence)约束的限制,这是衡量两个概率分布之间差异的一种方法。TRPO的目标是在满足KL散度约束的条件下最大化替代目标函数(surrogate objective function),该函数涉及优势函数和策略比率。
尽管TRPO在稳定性方面表现出色,但由于其梯度计算复杂且计算量大,它在实际应用中的使用已逐渐减少,特别是在训练LLMs时。
四、PPO:近端策略优化
PPO是TRPO的改进版,它解决了TRPO在计算上的复杂性。PPO引入了“裁剪的替代目标函数”(clipped surrogate objective function),该函数隐式地限制了策略更新,从而大大简化了优化过程。
与TRPO类似,PPO也使用优势函数来衡量行动的好坏,但它通过裁剪策略比率来限制新策略与旧策略之间的偏差。这意味着,如果新策略的行动概率相对于旧策略有太大变化,其影响将被裁剪掉,从而确保策略更新的稳定性。
PPO因其高效性和稳定性而受到广泛关注,并成为训练LLMs的首选方法,包括ChatGPT和Gemini等模型。
五、GRPO:群组相对策略优化
尽管PPO在训练LLMs方面取得了显著成果,但它仍然需要训练多个模型,包括策略模型、奖励模型和值函数模型。这增加了训练的复杂性和成本。为了解决这个问题,GRPO提出了一种更高效的方法。
GRPO的核心思想是使用群组奖励归一化来消除对值函数模型的需求。对于每个查询,GRPO生成一组响应,并使用它们的奖励来计算每个响应的优势作为z分数。这自然地消除了对单独值函数模型的需求。
此外,GRPO还将KL散度项直接纳入其目标函数中,比较当前策略与参考策略(通常是SFT后的模型)。通过使用群组奖励归一化和简化的KL散度近似,GRPO进一步提高了训练效率和稳定性。
与PPO相比,GRPO减少了模型的复杂性和训练成本,同时保持了高效的策略更新和与人类偏好的对齐。这使得GRPO成为训练LLMs的一种有吸引力的选择。
六、RL在LLMs训练中的重要性
强化学习已成为训练当今LLMs的基石。通过允许模型直接从人类反馈中学习,RL能够进一步提高LLMs对人类意图的理解和对齐。此外,RL算法如PPO和GRPO通过平衡稳定性、效率和人类对齐来推动LLMs的创新。
随着LLMs在各个领域的应用不断扩大,对更高效和稳定的训练方法的需求也在增加。强化学习提供了满足这些需求的一种途径。通过不断改进RL算法,我们可以降低LLMs的训练成本,提高其性能,并加速NLP技术的产业化进程。
七、未来展望
尽管RL在训练LLMs方面取得了显著成果,但仍有许多挑战有待解决。例如,如何进一步提高RL算法的稳定性和效率?如何更好地利用未标记数据来加速LLMs的训练?如何使LLMs更好地适应不断变化的环境和任务?
强化学习已成为训练大型语言模型不可或缺的一部分。从TRPO到PPO,再到最新的GRPO,这些算法不断推动着LLMs的创新和发展。通过平衡稳定性、效率和人类对齐,RL算法使LLMs能够更好地理解和生成自然语言,从而在各个领域发挥更大的作用。
来源:大模型之路