说明怎样做才能通过互联网访问你制作的网站做网站需要学那些
说明怎样做才能通过互联网访问你制作的网站,做网站需要学那些,陵水网站设计公司,金寨县建设规划局网站关注公众号#xff1a;AI模力圈
作者#xff1a;昇腾实战派 x 疆浙户
强化学习基础
强化学习讨论的核心问题在于如何让智能体#xff08;Agent#xff09;在复杂且不确定和环境#xff08;environment#xff09;中#xff0c;找到一个策略#xff08;Policy#x…关注公众号AI模力圈作者昇腾实战派 x 疆浙户强化学习基础强化学习讨论的核心问题在于如何让智能体Agent在复杂且不确定和环境environment中找到一个策略Policy能最大化其动作Action所获得的奖励Reward。其中Policy是一个输出为状态State输出为Action的执行概率的函数。强化学习模型在NLP任务中的理解智能体语言模型预训练模型环境模型生成的所有token状态prompt新生成的token动作模型生成一个新的token动作空间所有动作/token的集合即词表状态空间所有状态的集合基于以上模型使用强化学习解决问题时一般需要进行以下动作:设计动作空间即规定词表设计状态空间即词表中token的排列组合环境建模设计一个状态转移函数输入为动作输出为状态设计奖励函数输入为和输出为进行此动作获得的奖励强化学习的目标在当前状态下找到一个最优策略达到目标状态价值函数前面提到我们需要设计一个奖励函数来评价动作的奖励也就是价值函数。 实际上一个动作的收益分为两种即时收益和未来收益。即时收益当前状态执行某个动作马上获得的Reward未来收益当前状态执行某个动作后进入了新的状态新的状态之后的收益总和 综合考虑下的设计t时刻采取a动作的总收益期望值t时刻采取a动作的即时收益的期望值通过a进入t1状态的未来收益的期望值其中t时刻采取a动作的总收益期望值t时刻采取a动作的即时收益的期望值t1状态的总收益的期望值:折扣因子决定了多大程度考虑未来收益这里的Q就是动作价值函数V就是状态价值函数。状态价值从当前状态到目标状态的所有动作的收益期望动作价值从当前状态达到目标状态期间执行动作所获得的总体收益的期望即时收益是常数未来状态的状态价值是期望Actor-CriticActor-Critic是一种结合策略优化Actor和值函数评估Critic的强化学习框架。其核心思想是通过两个组件的协同工作实现高效学习Actor策略网络负责生成动作的概率分布通过策略梯度更新参数以最大化长期回报Critic值函数网络评估状态或状态-动作对的价值或通过时序差分TD误差更新参数以逼近真实值函数imageActor更新的本质也就是策略梯度更新是为了寻找一个合理的策略让最终的即时收益reward期望最大化。然而对空间中对所有可能性进行穷举是不可能的因此通常做法是采样一些轨迹N个动作用它们的reward来判断策略的好坏并调整现有策略网络权重使高优势动作的概率增加低优势动作的概率减少。首先Actor网络与环境交互并根据当前状态S按照策略函数选择一个动作并得到即时奖励和下一个状态然后Critic网络计算当前状态的价值和下一个状态的价值并根据即时奖励得到TD误差权重更新Actor网络接收到TD误差作为优势函数的近似调整自身网络权重使得高优势动作的概率增加。这个权重调整后会对策略函数进行更新使得agent能够学习到更优的策略。Critic网络更新最小化TD误差PPO算法核心思想在每次更新策略时不允许策略改变太大以提高算法的稳定性所以叫Proximal Policy Optimization近端策略优化Actor model演员/策略模型对应期望训练的目标LLM模型。一般初始化时会加载SFT阶段产出的SFT模型在训练过程中不断更新最后生成目标模型Critic model评论家/价值模型RL过程中预估总体收益。和Actor model一样它需要进行参数更新一般可初始化为与Actor一样或更小的模型Reward model用于计算实时收益。该模型在RL过程中冻结Reference model初始化与Actor模型一致用于计算与Actor的差距避免Actor模型训坏朝不受控制的方向更新产生较大偏差。该模型在RL过程中冻结imagePPO算法流程rollout采样模型推理从数据集中随机抽取一个prompt输入Actor生成一个QA对{prompt, response}价值采样{prompt, response}输入Critic进行打分模型为response中的每个token计算一个预期收益即估计每一步的value输出为一个张量value[i]生成奖励{prompt, response}输入Reward model计算QA对的结果奖励ref_logprobs采样获取使用Ref model生成每一个token时的概率分布old_logprobs采样获取使用Actor生成每一个token时的概率分布KL惩罚项基于ref_logprobs和old_logprobs计算模型的KL散度用于构成优势函数约束模型不会偏离太远GAE根据第一次前向生成的经验计算优势new_logprobs采样在每个mini batch中对Actor进行采样Actor Loss计算在每个mini batch中根据new_logprobs和old_logprobs以及优势函数计算损失对Actor进行更新Critic Loss计算根据第二步的value以及第三步计算的reward计算Critic Loss对Critic进行更新PPO的改进点使用GAE求解优势函数优势函数的定义为是动作的期望为所有动作的平均期望。二者的差就是动作的价值相对其他动作Critic期望的“优势”时序差分法TD存在一个隐藏的条件那就是我们的V函数需要足够准确特别是这个优势函数call了V函数两次那么如果V函数有偏的话这个优势函数就会更大的引入偏差蒙特卡洛法倾向于轨迹采样方差高但是偏差小 时序差分法倾向于模型预测方差低但是偏差高GAE引入了一个新的参数λ,当λ0的时候GAE会退化成时序差分法而λ1的时候GAE则会退化为蒙特卡洛法而在之间取值的时候就可以调节两者的权重从而寻找一个最优的平衡点。重要性采样Actor-Critic 结构的强化学习算法通常可以分为两大种类on-policy 和 off-policy。其主要区别在于产生数据的PolicyActor和进行参数更新的Policy是否相同。PPO采用的方法是产生策略和参数更新都使用同一个网络但不是同一时间的网络即模型共计进行两次策略生成对应old_logprobs采样和new_logprobs采样。第一次先生成一个batch的策略但不对参数进行更新然后在这个batch内重新进行一次策略生成对每个mini batch生成一个新的策略用这两个策略共同进行参数更新loss下降鼓励贴近new策略loss上升鼓励保持old策略loss上升鼓励贴近old策略loss下降鼓励保持new策略裁剪机制重要性采样过程中如果与差异过大会导致过于激进的参数更新从而导致训练效果变差因此PPO还在Loss中添加了一个clip操作来避免新旧策略差异过大的情况以上就是PPO中Actor的的完整Loss。实际应用过程中一般取0.1或0.2GRPO 算法群组相对策略优化(GRPO,Group Relative Policy Optimization)通过组内奖励标准化省去价值函数与PPO相比架构图如下image参数含义输入状态。策略模型输出的动作GRPO 中输出多个动作。奖励GRPO 中输出多个奖励。价值。优势函数GRPO中计算多个优势函数。KL散度用于衡量两个概率分布之间的差异。广义优势估计用于计算优势函数。对多个奖励进行组计算生成多个优势函数。优势函数为其中是第 个输出中第 个token的优势值。是第 个输出的奖励。是所有输出奖励的均值。是所有输出奖励的标准差。目标函数引入KL散度正则化其中是目标函数。$ $表示期望。是生成的响应总数。${i}{t}$ 表示对所有生成的响应和每个响应中的token进行求和。是一个裁剪函数用于限制新旧策略之间的差异。是第 个输出中第 个token的优势值。是一个超参数用于平衡奖励和KL散度。是KL散度用于衡量新旧策略之间的差异。优势一无 Critic(Value Model) 架构解决显存问题去掉价值网络用群体采样直接计算相对优势对每个状态采样 G 个动作群体计算组内归一化奖励。显存节省 30% 仅需维护Actor网络优势二相对优势估计解决偏差问题PPO用绝对优势依赖价值网络GRPO用相对优势组内竞争把”专家打分”改成”组内内卷”:优势三双重约束机制优化策略更新PPO的单一截断 → GRPO的双重约束。柔性控制策略更新局部全局约束截断约束Clipping限制单步策略更新幅度同PPOKL散度惩罚显式约束新旧策略分布差异避免整体剧烈变化对应公式细化后的损失函数公式通俗比喻班级考试每个学生的进步看班级排名自动抵消试卷难度差异。老师操作不允许单题进步/退步超过20%截断全班整体成绩不能波动太大KL散度惩罚。优点无需老师打分避免基准偏差。对比 PPO vs GRPO特性PPOGRPO网络架构需要策略网络和价值网络仅需策略网络优势计算使用广义优势估计(GAE)使用群体相对评估计算复杂度较高需要训练两个网络较低仅训练一个网络内存需求高两个网络的参数低仅策略网络参数KL散度控制通常在奖励中加入KL惩罚直接在目标函数中添加KL项样本效率取决于价值网络的准确性受益于群体相对评估适用任务广泛适用于各种RL任务特别适合有比较型奖励的任务实现复杂度相对复杂需要调整两个网络相对简单只需关注策略网络imageDAPO 算法DAPODecoupled Clip and Dynamic sAmpling Policy Optimization即解耦裁剪和动态采样策略优化整体上相对于 GRPO 进行了四点改进Clip-Higher动态采样Token Level Loss长度惩罚其中前2个是主要亮点是命名的来源目标函数image其中1.期望算子:对任务数据集 中的问题-答案对 以及旧策略 生成的 个输出 {} 求期望。2.Token级加权损失分母为所有样本的总Token数分子为每个Token的损失累加实现Token级梯度加权区别于GRPO的样本级平均确保长序列的每个Token对梯度更新贡献平等避免有效推理步骤被稀释。3.解耦剪裁操作新旧策略的概率比衡量Token 的生成概率变化。解耦剪裁范围下界 限制高概率Token的过度衰减如避免高频词概率骤降。上界 允许低概率Token更大幅度提升如鼓励探索低频推理步骤解决传统PPO/GRPO单一剪裁抑制多样性的问题4.动态采样约束要求每个增强动作序列 与原始动作 在某种意义上是等价的且等价的增强动作序列数量在 到 之间。确保每个批次中既有正确样本 is_equivalent1 也有错误样本避免全对/全错导致的梯度消失。算法流程imageAlgorithm 1 是核心的算法流程集成了动态采样、解耦剪裁、Token级损失等关键技术。以下是分步解析结合公式和图表说明核心机制Input: 初始策略模型 πθ, 奖励模型 R, 任务提示 D, 超参数 εlow, εhigh, G, Lmax, LcacheOutput: 优化后的策略模型 πθ1: 初始化旧策略模型 πθ_old πθ2: for 训练步骤 step in 1 to M:3: 从任务提示 D 中采样一个批次 Db4: 更新旧策略模型 πθ_old πθ # 同步旧策略为当前策略5: for 每个问题 q in Db:6: 从旧策略 πθ_old 采样 G 个输出 {oi}i1^G7: 用奖励模型 R 计算每个输出 oi 的奖励 {ri}i1^G8: 动态采样过滤保留满足 0 |{oi | is_equivalent(oi, a)}| G 的样本9: for 每个保留的样本 oi:10: 计算组内归一化优势值 Âi,t (ri - mean(r)) / (std(r) ε) # 公式911: 计算每个Token的梯度贡献clip(ri,t, 1-εlow, 1εhigh) * Âi,t # 解耦剪裁公式812: 按Token级加权损失更新策略模型 πθ:θ θ η * ∇θ J_DAPO(θ) # 目标函数公式813: end for1.输入与初始化step 1-2输入参数πθ初始策略模型如Qwen2.5-32B基础模型。R基于规则的奖励函数正确1错误-1见论文2.4节。D任务数据集如DAPO-Math-17K包含17K道数学题。ε_low/ε_high解耦剪裁超参数默认0.2/0.28允许低概率Token更大幅度更新。初始化旧策略πθ_old初始化为当前策略用于生成对比样本。2.动态批次采样step 3-8步骤3-4从任务提示中采样批次Db并同步旧策略为当前策略确保生成样本基于最新策略。步骤5-7对每个问题q用旧策略生成G个输出如G16并计算奖励正确/错误。步骤8关键动态采样过滤仅保留“部分正确”的批次如16个样本中3-13个正确避免全对/全错导致梯度消失见Figure 6中基线模型因全对样本停滞DAPO通过过滤维持有效梯度。3.优势计算与梯度生成step9-11步骤9计算组内归一化优势值消除批次内奖励波动使优势值反映样本相对质量如某样本奖励高于组平均则优势为正。步骤10-11解耦剪裁对低概率Tokenr_{i,t} 1允许更大幅度提升ε_high0.28高概率Token限制下降ε_low0.2维持输出多样性见Figure 2中熵值稳定。4.Token级加权更新step12目标函数按总Token数归一化长序列的每个有效Token获得更高梯度权重避免被无效内容稀释见Figure 4中响应长度有序增长。梯度更新使用AdamW优化器学习率1e-6线性预热20步确保稳定收敛技术创新解耦剪裁范围Clip-Higher 策略传统的 PPO 的剪裁范围限制低概率 token 的探索空间。DAPO 提出解耦剪裁范围允许低概率 token 进步更多高概率 token 退步限制更严通过增大 ϵ_high,提升策略熵值避免熵坍塌。image根据 DAPO 论文内容Figure 2 展示了在强化学习训练过程中应用 Clip-Higher 策略前后的关键指标对比包含两个子图蓝色表示未应用时的基线模型紫色曲线表示应用 Clip-Higher 策略前后的准确率变化。子图(a)AIME测试集准确率中应用前(蓝色曲线)基线模型在约3000步后准确率达到约40%随后增长停滞。应用后(紫色曲线)准确率持续上升最终在约5000步时达到50%显著优于基线。表明Clip-Higher通过增大剪裁上限εhigh允许低概率token的探索空间扩大从而提升模型的解题能力。子图(b)actor 模型的熵值中应用前(蓝色曲线)熵值在训练初期快速下降出现熵坍塌现象模型输出趋同。应用后(紫色曲线)熵值维持在较高水平约0.4表明模型保持了输出多样性。表明Clip-Higher通过解耦剪裁范围εhigh εlow抑制了高概率token的过度主导促进低概率token的探索避免了熵坍塌。该图直观展示了DAPO算法通过调整剪裁范围在提升性能的同时维持模型探索能力的核心机制。动态采样过滤无效样本只保留部分正确的样本保持有效梯度。例如在一场考试中保留准确率 30%-70% 的题目避免全班全对、全班全错的题目浪费训练资源。确保每个批次中至少有一个正确和错误样本避免梯度消失。提升训练稳定性减少梯度方差Figure 6。imageFigure 6 展示了在 DAPO 训练过程中应用动态采样Dynamic Sampling前后的训练曲线对比横坐标为训练步数纵坐标为 AIME 2024 竞赛的准确率avg32。蓝色曲线w/o Dynamic Sampling表示未应用时的基线模型紫色曲线w/ Dynamic Sampling应用动态采样策略后的训练进展。蓝色曲线w/o Dynamic Sampling训练初期上升较慢约4000步达到40%后续增长停滞。曲线波动较大表明梯度信号不稳定。紫色曲线w/ Dynamic Sampling训练初期0-2000步准确率快速上升约3000步达到45%最终稳定在50%。曲线平滑波动较小显示训练稳定性高。通俗的例子模型通过只训练中等难度的题目如班级30%-70%正确率的题目避免浪费时间在太简单或太难的题目上。 学生模型能更高效地提升成绩避免在已经掌握或无法解决的题目上反复训练。Token 级损失重视细节原始 GRPO 算法采用样本级损失计算首先对每个样本内按 token 计算损失平均值然后汇总样本间的损失。在这种方法中每个样本在最终损失计算中被分配相同的权重。基线模型对应Figure 4 蓝色曲线基线模型使用样本级损失每个样本等权重长序列的无效Token如重复符号被平均稀释模型误以为“生成越长越正确”导致熵值异常升高。由于在损失计算中所有样本都被分配了相同的权重较长 reponses包含更多token中的标记对整体损失的贡献可能不成比例地较低这可能导致两种不利影响。首先对于高质量的长样本这种影响会阻碍模型在其中学习推理相关模式的能力。其次我们观察到过长的样本通常会表现出低质量的模式例如胡言乱语和重复的单词。为了平衡长短序列影响抑制低质量长生成DAPO采用token级损失简化上面DAPO损失为对应Figure 4 紫色曲线DAPO的Token级损失公式10按Token总数加权迫使模型为每个Token负责避免“用废话凑长度”熵值反映真实有效多样性。 总体看基线模型像话痨学生为凑字数说废话熵值暴增老师损失函数却按篇给分导致废话连篇。DAPO像“逻辑老师”每句话Token单独打分学生被迫说有意义的话熵值虽低但句句关键。传统GRPO按样本平均损失Sample-level导致长序列的每个Token贡献被稀释如1000Token的样本和100Token的样本权重相同。 DAPO改用Token级加权分母为总Token数使长序列的有效Token获得更高梯度权重鼓励模型生成“有意义的长推理”而非“无意义的长废话”。image蓝色曲线w/o token-level loss表示未应用时的基线模型紫色曲线w/ token-level loss应用动态采样策略后的训练进展。子图(a)生成熵Entropy对比蓝色曲线w/o Token-level loss 熵值从0.5快速增长5000步时骤升至3.0后面未继续绘制可能是随后因无效生成过多导致曲线截断。样本级损失导致长序列的无效Token被平均化模型为追求奖励盲目生成高熵多样性内容但包含大量无意义重复或错误推理。紫色曲线w/ Token-level loss 熵值从0.5缓慢增加9000步时稳定在1.0左右曲线平滑无剧烈波动。Token级损失按每个Token贡献加权梯度抑制低质量高熵生成保留有效推理的多样性如多步验证、公式推导等有意义的变化。子图(b)平均响应长度Mean Response Length对比蓝色曲线w/o Token-level loss从1000 tokens快速增长500步时突破3000 tokens后续因生成大量无效内容如重复计算步骤、无意义符号导致曲线失控最终截断。样本级损失无法区分有效/无效Token模型通过堆砌内容提升奖励形成“长度膨胀但推理无效”的恶性循环。紫色曲线w/ Token-level lossDAPO模型响应长度。从1000 tokens缓慢增加9000步时稳定在1800 tokens曲线平滑且无骤增。Token级损失对有效推理步骤如公式推导、逻辑转折赋予更高梯度权重鼓励模型生成“紧凑且逻辑完整”的长序列避免无意义扩张。 结合两个子图看基线模型的长度膨胀是“注水”DAPO的长度增长是“精炼”每增加100 tokens对应1-2步有效推理。超长奖励塑性控制答案长度超出长度的部分逐步扣分类似考试作文字数限制通过长度感知惩罚缓解截断样本的奖励噪声。安全区如 0 - 4096 tokens允许模型生成较长但合理的推理序列如10步以上推导不施加惩罚。缓冲区4096 - 20480 tokens随长度增加渐进惩罚避免突然降分给模型调整空间。超长篇 20480 tokens强惩罚抑制无意义超长生成如重复、乱码。通俗的比喻考试改革了只训练中等难度题目动态采样。允许偏科学生在弱项进步更多解耦剪裁。作文每句话都算分Token级损失。字数超限逐步扣分超长奖励塑形。image紫色曲线w/o overlong filtering表示未应用时的基线模型蓝色曲线w/ overlong filtering为应用动态采样策略后的训练进展。 注意这里曲线的颜色换了之前的多幅图都是蓝色曲线是基线。子图(a)AIME测试集准确率对比紫色曲线w/o Overlong Filtering准确率整体低于绿色曲线最大值出现在3500步的0.3。传统“一刀切”惩罚如直接赋-1误罚合理长推理序列导致模型难以区分“长度过长”与“推理错误”梯度更新受噪声干扰。蓝色曲线w/ Overlong Filtering准确率整体高于基线最大值出现在3000步的0.35。通过“软超长惩罚”Soft Overlong Punishment区分长度范围允许模型在合理长度内探索复杂推理抑制无意义超长生成减少奖励噪声对训练的干扰。子图(b)生成熵Entropy对比紫色曲线w/o Overlong Filtering熵值在3500步之前稳定下降之后熵值突增。蓝色曲线w/ Overlong Filtering熵值稳定下降未出现波动或则突增的。算法对比PPO目标min(新旧策略比×绝对优势, 截断后的新旧策略比×绝对优势)GRPO目标min(新旧策略比×相对优势, 截断后的新旧策略比×相对优势) KL惩罚项DAPO目标min(新旧策略比×动态采样后的相对优势, 解耦剪裁后的新旧策略比×相对优势) Token级权重调整 超长惩罚项算法推荐场景不推荐场景PPO老师打分简单任务如游戏控制稀疏奖励、大模型显存受限GRPO班级排名数学推理、代码生成连续控制任务DAPO精准打击复杂长文本推理如AIME竞赛小模型轻量级训练如果你对多模态大模型、强化学习、昇腾 NPU 部署、模型性能优化感兴趣欢迎持续关注【AI模力圈】。我们会持续更新1. 多模态模型结构拆解2. 强化学习算法原理与实践3. 昇腾 NPU 迁移部署与踩坑复盘4. 模型训练与推理性能优化图解版、速读版内容也会同步更新到公众号 / 小红书。