本文以 GRPO 算法为参考,从计算流程角度系统解析了大模型 RL 训练的三个阶段:采样、Loss 计算和参数更新,重点阐述了 per-token Loss 的精密计算过程和工程实现细节。
📝 详细摘要
文章以 GRPO 算法为参考框架,从计算流程角度系统解析了大模型 RL 训练的完整过程。内容涵盖三个阶段:采样阶段(Rollout)使用推理引擎生成 G 组回答并记录 old_per_token_logps;评估与 Loss 计算阶段涉及 Reward 计算、Advantage 组内归一化、KL 散度惩罚以及最核心的 per-token Loss 计算细节;参数更新阶段解释了新旧策略的关系、三层循环结构(ppo_epochs、mini-batch、micro-batch)以及 clip 机制的作用。文章特别强调了 Loss 是 per-token 的二维矩阵而非 per-sequence 的标量,并通过代码片段和公式详细说明了 selective_log_softmax、importance sampling ratio、agg_loss 折叠等关键实现。
💡 主要观点
- 大模型 RL 训练本质是「采样-评估-更新」的循环,GRPO 对同一 prompt 采样 G 个回答构成组。 每轮循环处理一批 prompt,生成 G 组回答,通过组内归一化计算 Advantage,驱动模型向高 reward 方向优化,同时用 KL 惩罚防止语言能力退化。
💬 文章金句
- Loss 不是对整条 response 计算一个数字,而是对 response 里的每一个 token 单独计算。
- 模型在每个位置输出的是整个词表(如 20000 维)的概率分布,loss 用的是哪一维?答案是:只取被实际选中的那个 token 对应的概率,是一个标量,不是整个分布向量。
- 「新策略」和「旧策略」不是两个不同的模型,而是同一个模型在不同时间点的参数状态。
- Advantage 是组内相对归一化的结果,同一 response 内所有 token 共享同一个 Advantage 标量。
- Clip 操作防止单次更新幅度过大,是 importance sampling 修正假设成立的前提。
📊 文章信息
AI 初评:87
来源:大模型智能
作者:大模型智能
分类:人工智能
语言:中文
阅读时间:18 分钟
字数:4464
标签: 大模型, RL 训练, GRPO, 强化学习, Loss 计算