大模型RL面试速查Hands-On Modern RL附录中PPO、DPO、GRPO核心代码片段全解【免费下载链接】hands-on-modern-rl An open-source, hands-on curriculum bridging the gap from basic RL concepts to LLM alignment, RLVR, and advanced Agentic systems.项目地址: https://gitcode.com/gh_mirrors/ha/hands-on-modern-rl 本指南带你快速过一遍开源项目Hands-On Modern RL从基础强化学习到大模型对齐、RLVR 与 Agentic 系统的实战课程中的代码速查附录。这份附录按面试考查频率整理了PPO、DPO、GRPO三大高频手写代码题每个算法都给出「一句话记忆 伪代码 Python/PyTorch 实现 易错点」四种视角面试前 30 分钟翻一遍就够用。附录在哪先认识代码速查目录附录appendix_code_cheatsheet是整本课程的面试提分利器每个文件对应一道高频手写题文件算法考查频率ppo-gae.mdPPO Clipped Loss、Value Loss、GAE★★★★★dpo-family.mdDPO、IPO、KTO、SimPO★★★★★grpo-rlvr.mdGRPO 组内归一化、Reward Model★★★★dapo.mdDAPO 四刀改进★★★使用建议先背一句话口诀 → 白板写伪代码 → 追问细节时翻 PyTorch 段 → 睡前过一遍易错点。三个核心算法的完整工程版代码还可对照各章的「代码地图」ppo-code-map.py、dpo-code-map.py、grpo-code-map.py。PPO 核心代码片段全解clipped loss 怎么手写PPO 是大模型 RL 面试中考查频率最高的算法面试官通常要求写出 clipped policy loss并追问 value loss 和 GAE。GAE从后往前一步递推口诀从后往前扫$\hat{A}t \delta_t \gamma\lambda \hat{A}{t1}$。delta_t reward_t gamma * value_{t1} * (1 - done_t) - value_t advantage_t delta_t gamma * lambda * (1 - done_t) * advantage_{t1} return_t advantage_t value_t三个高频追问点values长度是 T1最后一位是 bootstrap valuedone1时截断递推$\lambda0$ 退化为 TD(0)$\lambda1$ 退化为 Monte-Carlo。Clipped Policy Lossmin 取保守值口诀ratio 用exp(new_logp - old_logp)算别用除法clip 到 $[1-\epsilon, 1\epsilon]$原始与裁剪两个 surrogate取 min。ratio torch.exp(new_logps - old_logps) surr1 ratio * advantages surr2 torch.clamp(ratio, 1 - eps, 1 eps) * advantages loss -torch.min(surr1, surr2).mean()Value Loss 与总 LossValue loss 对两个 MSE 取maxpolicy loss 取 min这是经典混淆点value_clipped old_values torch.clamp(values - old_values, -eps, eps) loss 0.5 * torch.max((values - returns) ** 2, (value_clipped - returns) ** 2).mean()总损失policy_loss vf_coef * value_loss - ent_coef * entropy典型系数 1.0 / 0.5 / 0.01。训练曲线长什么样下图是 PPO 在 BipedalWalker 上的真实收敛过程DPO 核心代码片段全解4 条 log-prob 别搞混口诀4 条 logp2 模型 × 2 回答每条算「当前 − 参考」好减坏、乘 β、过 sigmoid、取负 log。这是后训练岗位几乎每场都考的手写题。log_ratio_w policy_chosen_logps - ref_chosen_logps # 好回答的隐式奖励 log_ratio_l policy_rejected_logps - ref_rejected_logps logits beta * (log_ratio_w - log_ratio_l) loss -F.logsigmoid(logits).mean()三个易错点ref 的 log-prob 必须detach用的是 $\log\frac{\pi_\theta}{\pi_{ref}}$ 而非 raw log-prob$\beta$ 是温度不是学习率。变体 30 秒速记完整版见 dpo-family.md算法核心区别IPO把 $-\log\sigma$ 换成 $(\Delta - \frac{1}{2\beta})^2$ 平方损失避免梯度饱和KTO无需配对单条点赞/点踩即可好样本推过基线 $z_{ref}$、坏样本压到基线下SimPO不要 ref 模型logp 除以回答长度消除长度偏差再减 margin $\gamma$GRPO 核心代码片段全解砍掉 Critic 的 PPO口诀同 prompt 采 G 条回答组内 reward 做 z-score 当 advantage抄 PPO 的 clip 和 KL砍掉 Critic。# 1. 组内归一化只比较同一 prompt 的 G 条回答不是全局归一化 advantages (rewards - rewards.mean(dim1, keepdimTrue)) \ / (rewards.std(dim1, keepdimTrue) 1e-8) # 2. Clipped policy loss与 PPO 完全相同 ratio torch.exp(log_probs - old_log_probs) policy_loss -torch.min(ratio * advantages, torch.clamp(ratio, 1 - eps, 1 eps) * advantages).mean() # 3. KL 惩罚k3 估计器方向是 ref - new log_ratio ref_log_probs - log_probs kl (torch.exp(log_ratio) - 1 - log_ratio).mean() loss policy_loss kl_coeff * klPPO vs GRPO 对比PPO 需要 4 个模型actor/critic/ref/rmGRPO 只要 2~3 个actor/ref/verifierGRPO没有 value loss——这是被追问时的第一反应答案。RLVR 是 GRPO 的特例reward 不来自学习的 RM而来自规则验证器数学答案比对、代码执行测试因此没有 reward hacking 风险。下图是 RLVR-GRPO 训练曲线可以看到 reward 与 pass rate 同步爬升进阶追问若面试官提到 DAPO记住「四刀」——解耦裁剪$\varepsilon_{low}0.2/\varepsilon_{high}0.28$、动态采样过滤全对/全错 prompt、token 级 loss、超长软惩罚详见 dapo.md。面试前一晚高频易错点速查清单 把下面这张表过一遍覆盖三大算法 80% 的翻车点易错点正确做法ratio 用除法 / 分母用错用exp(logp_new - logp_old)分母必须是采样时的旧策略policy 取 min / value 取 max 混淆policy loss 对两项 surrogate 取minvalue loss 对两个 MSE 取max忘了 stop gradientold_log_probs、old_values、ref_logps都要detachGAE 方向 / done mask必须从后往前done1截断递推DPO 四条 logp 搞混每个模型出 2 条chosen rejectedref 要 detachGRPO 归一化范围只在同一 prompt 的 G 条回答内归一化非全局KL 是序列级先对每条 completion 的 token log_prob 求和再算 KL备考路线先用 sft-kl.md 的 SFT shift-right 热身 → 主攻 ppo-gae.md 与 dpo-family.md 两个五星题 → 用 grpo-rlvr.md 收尾最后用各章 metrics.md 类文档熟悉真实训练指标的含义面试白板就能稳稳过关。【免费下载链接】hands-on-modern-rl An open-source, hands-on curriculum bridging the gap from basic RL concepts to LLM alignment, RLVR, and advanced Agentic systems.项目地址: https://gitcode.com/gh_mirrors/ha/hands-on-modern-rl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
FOC控制算法核心解析:从坐标变换到电流环与工程避坑 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 2:10:04
源师兄软串口引脚怎么选不踩坑?P1到P16六大选项完整对比指南 源师兄软串口引脚怎么选不踩坑?P1到P16六大选项完整对比指南 【免费下载链接】software-serial-module 源师兄扩展项目: 软串口模块 | 由源师兄组织创建 项目地址: https://gitcode.com/yuanshixiong/software-serial-module
源师兄软串口模块(so… · 2026/9/25 2:10:04
VisiData DirSheet 完全指南:把终端目录变成可浏览、可编辑的数据表 数据分析CLI数据可视化 【免费下载链接】visidata A terminal spreadsheet multitool for discovering and arranging data 项目地址: https://gitcode.com/gh_mirrors/vi/visidata 点击查看 免费下载 导读
DirSheet 是 VisiData 内置的目录数据表:打开… · 2026/9/25 2:09:57
CiLocks的keyevent速查表:8个Android按键码如何操控锁屏界面 CiLocks的keyevent速查表:8个Android按键码如何操控锁屏界面 【免费下载链接】CiLocks Crack Interface lockscreen, Metasploit and More Android/IOS Hacking 项目地址: https://gitcode.com/GitHub_Trending/ci/CiLocks
CiLocks 是一款开源的 Android 锁屏… · 2026/9/25 2:36:01
PaddleSpeech 标点恢复实战:基于 ERNIE 的 IWSLT2012-中文标点预测全流程指南 人工智能语音音频NLP媒体生成 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation … · 2026/9/25 2:36:01
wheel-picker-cj 源码拆解:双 Scroll 同步实现滚轮吸附的底层原理 wheel-picker-cj 源码拆解:双 Scroll 同步实现滚轮吸附的底层原理 【免费下载链接】wheel-picker-cj 滚轮选择UI组件 项目地址: https://gitcode.com/Cangjie-TPC/wheel-picker-cj
wheel-picker-cj 是一款基于仓颉(Cangjie)语言开发的… · 2026/9/25 2:36:01
阿里云部署OpenClaw:79元/年搭24小时AI代理,TaoToken统一Key接入配置指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 2:36:01
Comp AI CRM 渲染性能实践:用 useTransition 取代手动加载状态,告别多余重渲染 后端前端CRM人工智能AI Agent 【免费下载链接】crm Comp AI CRM is an open source, CRM designed for AI agents. Agentic-first CRM. 项目地址: https://gitcode.com/gh_mirrors/crm48/crm 点击查看 免费下载 本指南基于 Comp AI CRM 仓库内置的 Vercel React 最… · 2026/9/25 2:35:55
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37