强化学习、PPO和GRPO的通俗讲解
文章目录
- 强化学习、PPO和GRPO的通俗讲解
- 整体概览
- 一个关于学习与奖励的故事
- 1. 传统的学习模式(类比大模型训练三阶段)
- 2. 爸爸的奖励机制与问题(类比奖励模型与策略失效)
- 3. 爸爸更新奖励机制(类比差异化策略定制)
- 4. 爸爸的负担与家庭教师(类比PPO中的Critic Model/Value Function)
- 5. 省钱的办法:模拟题(类比GRPO的简化)
- 6. 100分背后的作弊(类比KL散度与截断函数)
- 总结与启发
强化学习、PPO和GRPO的通俗讲解
-
在b站看到一个视频,这个视频旨在通过一个生活化的故事,帮助我们从感性层面深入理解强化学习(Reinforcement Learning, RL)及其在大模型训练中的应用,特别是PPO和GRPO这两种算法。整理了一下,并配了一些图。
https://www.bilibili.com/video/BV1Tg94Y8Eoq?vd_source=7937b7ae341caaf55cd0ac02b03193a1
整体概览
- 主要聚焦于Deep RL中引入的强化学习算法——GRPO。理解GRPO,需要先对强化学习的整体框架和思路有基础的了解。作者从一个故事开始,然后逐步深入强化学习的入门知识,再直接讲解GRPO的简洁性、优化技巧和代码,最后对比PPO与GRPO,展现GRPO的优美之处。
一个关于学习与奖励的故事
- 通过小帅和小美兄妹俩的学习经历,来类比大模型训练中的强化学习过程。
1. 传统的学习模式(类比大模型训练三阶段)
- 小帅和小美的老师每天上课分为三步:
-
第一步:讲解教科书核心内容
特点: 讲解核心概念、积累背景知识。
类比: 预训练(Pre-training)——学习基础概念和知识。
-
第二步:讲解例题与课后作业
特点:有问题有答案,老师逐步讲解解题过程,课后有相似作业。
类比:SFT(Supervised Fine-Tuning,监督微调)——有标签数据,模型学习如何给出正确答案。
-
第三步:考试
特点:题目与上课例题差别大,但思路相似;考试时没有答案;根据成绩打分,并进行错题分析。
类比:强化学习(Reinforcement Learning)——在没有明确答案的环境中,通过与环境互动(考试)获得奖励(分数),并根据奖励调整策略(学习方法)。
2. 爸爸的奖励机制与问题(类比奖励模型与策略失效)
-
故事一开始,爸爸定了一条简单的规矩:考试低于80分罚钱,高于80分有奖金,上90分奖金更多。听起来很直接
-
80分以下:罚款10元
-
80分以上:奖励100元
-
90分以上:奖励200元
但结果呢?学得好的小美觉得这奖励太好拿了,有点不那么上心,没挑战了。学得不好的小帅呢,他老在及格线晃悠,觉得80分太远了,干脆有点摆烂了。
-
-
问题:奖励机制失效
小帅: 失去学习动力,反正达不到80分,不如“摆烂”。
小美: 也失去进步动力,反正不怎么努力也能拿奖励,维持现状就好。
-
这种一刀切的奖励机制最大的问题就是没有考虑到个体差异。
对小美刺激不够
,对小帅门槛太高
,直接导致两个人的动力都下降了。 -
类比:
统一奖励机制: 类似于直接使用 Reward Model 的打分来鼓励模型学习。
失效原因: 统一的奖励机制无法适应不同个体(模型)的差异化情况,导致模型“摆烂”或停滞不前。
3. 爸爸更新奖励机制(类比差异化策略定制)
-
爸爸很快发现了问题,开始调整,搞了一个“差异化定价”。
- 针对小美(基础好): 定的目标更高了,比如要考到90分甚至95分才有奖励。
- 针对小帅(基础差): 就定的实际一点,比如50分及格,考到70分就有挺不错的奖励了。
这样听起来是不是合理多了?这种机制能根据不同人的基础情况定制奖励策略,有效督促他们进步。
-
类比:
差异化定制策略: 强化学习中需要根据模型当前所处状态(能力水平)定制不同的奖励策略,以激励模型模型持续进步。
4. 爸爸的负担与家庭教师(类比PPO中的Critic Model/Value Function)
-
合理是合理多了,但是新的问题又来了——维护成本。爸爸得随时知道这俩孩子现在到底什么水平,进步到哪儿了,才能动态地去调整奖励标准。不然,比如小帅进步很快,刷一下能考80分了,你还拿50分那条线卡他,那奖励还有啥用?维护起来就很麻烦了。
-
这就引出了下一个问题:
怎么让这个机制能自己适应
,持续地跟着个体变化走?爸爸一开始想了个办法,请家教,让专业人士来评估,专门盯着给定制计划。但这太贵了,成本太高。 -
类比:
家庭教师: 类似于PPO算法中引入的 Critic Model(评论家模型) 或 Value Function(价值函数)。它与策略模型一同训练,评估当前策略(模型)的表现,从而指导策略的调整和奖励的制定。PPO的复杂性部分来源于此。
5. 省钱的办法:模拟题(类比GRPO的简化)
-
后来爸爸想了个挺聪明的办法:每次大考前呢,先让俩孩子做五套模拟卷,算出个平均分。然后呢就拿这个平均分当这次考试的奖励基准线。
例如: 模拟平均分是70,那这次可能你考到75就有个基础奖,考到85奖励就更高。
-
这个方法好,它相当于用一个比较低的成本(做题),来动态地捕捉每个孩子当时的那个状态,让目标始终在你努力一下就能够得着的地方。既个性化又省钱。这听起来越来越像一个学习系统本身了,在不断调整。
-
类比:
模拟题平均分作为基准线: 这是GRPO算法的核心思想之一。GRPO去掉了PPO中专门的Critic Model,而是直接利用策略模型(Policy Model)自身多“打几套题”(多进行几次采样),用这些采样的平均表现作为奖励的基准,从而简化了整个训练开销。
6. 100分背后的作弊(类比KL散度与截断函数)
-
听起来挺完美的,但故事就在这儿拐了个弯儿。特别戏剧性。有一次考试,两个孩子居然都考了100分。小美考100分正常,但小帅他虽然在进步,可之前最好也80分上下,这次直接满分,这就太反常了。
爸爸也觉得不对劲,他就想起《资本论》里那句话:“如果有10%的利润,资本就会保证到处被使用;如果有20%的利润,资本就能活跃起来;有50%的利润,资本就会铤而走险;有百分之百的利润,资本就敢践踏一切人间法律;有300%以上的利润,资本就敢犯任何罪行,甚至去冒绞首的风险。”
-
这个类比虽然是经济学的,但它典型的一点就是激励,如果太诱人,规则又有空子可钻的话,就可能出问题,诱导一些你根本不想要的行为,甚至是破坏规则的行为。果然爸爸一问,小帅就招了。为了拿那个最高奖励作弊了,提前把试卷给弄到手了,甚至还威胁了老师。
-
这个作弊事件,
它其实特别生动地说明了激励设计有多复杂。它不是简单的设个目标,给个奖就行了。你还得考虑它可能带来的副作用,负面的激励效果。
设计任何系统,不管是公司绩效,还是游戏规则,都得防着这种钻空子的行为。这在强化学习里就有点像那个智能体,找到了环境的一个bug,然后利用它刷分,而不是我们想让他学的那个策略。 -
所以啊,爸爸的这个奖励系统又得升级了,得打补丁。他加了一条:最后得分高,不一定就能拿最高奖。还要看这个分数跟你最近的表现,比如模拟考的成绩匹不匹配。如果你的分数一下子比你之前的水平高出太多,不正常的那种高,那就算分再高,奖励也可能打折,甚至可能没有。
这一步非常关键。它实际上是增加了作弊的风险,或者说降低了作弊的预期收益,让那种异常的高分变得没那么香了。这样整个系统就更稳健了,能够引导大家把心思花在真正的学习和进步上,而不是去琢磨怎么钻规则的空子。
-
类比:
奖励与原有能力表现的符合度: 强化学习中,这对应于 KL散度(Kullback-Leibler Divergence) 和 截断函数(Clipping Function) 的作用。
- KL散度: 确保新的策略(模型)与旧的参考模型(原始能力)差异不要太大,,避免一步到位地大幅提高,而是循序渐进。
- 截断函数: 限制了策略更新的幅度,防止过大的策略更新导致不稳定的行为,类似于防止模型为了过高奖励而“铤而走险”。
总结与启发
-
回头看整个过程,这个简单的家庭故事,完美地展现了一个"智能"激励系统自我学习和进化的全过程,从最开始简单的奖和罚,到后来考虑个体差异,搞个性化,再到用模拟考动态调整基准线,最后还得加上这个防作弊的补丁。这整个故事其实特别漂亮地展示了一个激励系统,它是怎么学习和进化的。
这个系统就像一个智能体,在和环境(也就是孩子们的表现)进行互动,根据反馈不断地调整自己的策略。这里面不光是孩子在学习,那个设计规则、调整规则的爸爸,他本身也在进行一个持续的学习和优化。他观察结果,评估效果,然后调整方法。这本身就是一种“元学习”。
-
这个故事中体现了多少和强化学习相关的概念?
- 状态: 孩子当时的学习水平。
- 动作: 爸爸调整规则,孩子选择努力或作弊。
- 奖励: 奖金、罚款。
- 环境反馈: 考试分数、作弊被发现。
- 策略优化: 爸爸不断改进规则。
- 探索: 孩子尝试各种方法(包括不好的方法)去争取奖励。
- 有效策略: 孩子利用找到的有效得分策略。
-
这些要素和强化学习里那个核心思想——智能体跟环境交互,根据反馈调整行为,为了拿到最多的累积奖励——有很多共通之处。