POLARIS 训练脚本逐行解读:从 batch size 到 clip_ratio 的核心超参数调优

发布时间:2026/8/20 21:09:39

POLARIS 训练脚本逐行解读:从 batch size 到 clip_ratio 的核心超参数调优
POLARIS 训练脚本逐行解读从 batch size 到 clip_ratio 的核心超参数调优【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARISPOLARIS 是一个开源的强化学习RL后训练配方项目专注于通过 RL 扩展来提升强推理模型的数学能力。在它的官方训练脚本中Qwen3-4B 经三阶段 RL 训练后AIME25 得分从 65.6 跃升至 79.4甚至超过了 Claude-4-Opus 与 Grok-3-Beta 等商业系统。本文以 scripts/train/qwen3-4b 下的脚本为例逐行解读 POLARIS 训练脚本从 batch size 到 clip_ratio 的核心超参数调优思路一次讲清帮你理解这套配方为什么有效。POLARIS 是什么一个被验证的 RL 训练配方POLARISPost-training recipe for scaling Reinforcement Learning on Advanced Reasoning models把「数据筛选 动态采样 三阶段 RL」整合成一套可复现的训练配方。它构建在 Verl 之上开源了完整的训练脚本、数据集与评测代码任何人都可以按文档复现。4B 模型在 32 张 H800 GPU 上训练约 10 天即可完成约 0.33 小时/步batch size 为 128、rollout 数为 8。训练脚本的整体结构三阶段 RL 训练流程POLARIS 的训练脚本放在 scripts/train/qwen3-4b/ 下包含stage1.sh、stage2.sh、stage3.sh三个脚本对应三阶段训练策略stage1在完整数据集上预热让模型适应长思维链输出stage2用 drop_easy_data.py 丢弃简单样本聚焦难题stage3继续用 search_optimal_temperature.py 重搜最优采样温度进一步打磨每个脚本调用python3 -m verl.trainer.main_ppo启动 GRPO 训练所有超参数以keyvalue形式传给训练器。脚本开头的参数解析如何传入模型与数据脚本开头是一个简易参数解析器支持四个参数./scripts/train/qwen3-4b/stage1.sh \ --model /path/to/qwen3-4b \ --data_path parquet/stage1/qwen3-4b-s1.parquet \ --experiment_name qwen3-4b-stage1--model基础模型路径stage2/3 需传入上一阶段转换出的 HF 权重--data_path训练数据stage2/3 使用过滤后的 harder 数据--n_node节点数单机默认 1--experiment_name实验名用于 wandb 与日志区分stage 之间衔接时需要用 model_merger.py 把 Verl 检查点转换为 HF 格式例如python verl/scripts/model_merger.py --local_dir /path/to/checkpoints/global_step_xxx/actor --target_dir checkpoints_hf/ckpt-4b-stage1数据与评测配置train_files、val_files 怎么设data.train_files${DATA} data.val_filesevaluation/benchmarks/aime24.parquet data.max_prompt_length1024 data.max_response_length39936验证集直接用 aime24.parquet 等真实竞赛题max_prompt_length1024控制题目长度max_response_length是本文最值得关注的参数之一它从 stage1 的 39936 一路增加到 stage3 的 52224。POLARIS 论文强调推理模型在训练中会自然产生更长、更深入的思维链响应长度上限若不够模型性能会明显下滑batch size 三层结构train_batch_size 到 micro batch 的调优data.train_batch_size128 actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu1 actor_rollout_ref.actor.ppo_mini_batch_size128GRPO/PPO 的 batch size 是分层结构理解这三层是 batch size 调优的关键层级参数含义本脚本取值全局批次data.train_batch_size一次参数更新对应的全部样本数128mini batchppo_mini_batch_size一次梯度更新实际用到的样本数128micro batchppo_micro_batch_size_per_gpu单卡每次前向/反向的样本数1由于 rollout 数n8全局 128 个 prompt 实际产生 128×81024 条完整轨迹参与训练。micro batch 设为 1 是为了配合下面要讲的 token 级动态批大小避免长序列把显存撑爆。动态批大小use_dynamic_bsz 与 token 级显存控制actor_rollout_ref.actor.use_dynamic_bszTrue actor_rollout_ref.actor.ppo_max_token_len_per_gpu40960 actor_rollout_ref.rollout.max_num_batched_tokens40960这是 POLARIS 脚本里非常巧妙的设计。推理模型的响应长度差异极大几百到几万 token如果按样本数固定 batch长序列样本会触发 OOM。打开use_dynamic_bszTrue后系统改为按token 总量动态决定每批装多少样本ppo_max_token_len_per_gpu就是单卡显存预算的 token 上限max_num_batched_tokens则是 rolloutvLLM 推理侧的批量 token 上限。调优时这两个值基本由「卡显存大小 ÷ 激活显存开销」决定是 batch size 调优中替代样本数的最实用手段。clip_ratio_low 与 clip_ratio_high不对称裁剪的调参技巧actor_rollout_ref.actor.clip_ratio_low0.2 actor_rollout_ref.actor.clip_ratio_high0.28clip_ratio 是 PPO/GRPO 中最敏感的超参数之一。经典 PPO 用对称裁剪如 0.2/0.2而 POLARIS 采用不对称裁剪低侧 0.2、高侧 0.28。在 core_algos.py 中可以看到裁剪实现pg_losses2 -advantages * torch.clamp(ratio, 1 - cliprange_low, 1 cliprange_high)其直觉是当新策略概率大幅超过旧策略ratio 1.28时限制更严格防止策略被激进样本带偏而 ratio 略高1.2~1.28时仍允许模型快速吸收有益更新。高侧略放宽、低侧收紧配合entropy_coeff0关闭熵正则让模型在保持探索的同时稳定收敛。调参建议先在 0.2/0.2 起步若训练后期收益比advantage波动大可尝试 0.15/0.25 或 0.2/0.3观察 clip fraction 指标是否长期偏高。KL 与熵正则use_kl_loss、entropy_coeff 与 kl_coefactor_rollout_ref.actor.use_kl_lossFalse actor_rollout_ref.actor.kl_loss_coef0 actor_rollout_ref.actor.entropy_coeff0 algorithm.kl_ctrl.kl_coef0.001一个容易误读的点脚本同时关闭了 actor 侧的 KL 损失use_kl_lossFalse和熵正则entropy_coeff0但仍保留了algorithm.kl_ctrl.kl_coef0.001作为 GRPO 算法级 KL 控制系数用于约束策略与参考模型ref model的距离。这说明 POLARIS 的做法是让 KL 控制只发生在算法层避免额外的损失项干扰梯度信号。采样温度调优从 1.4 到 1.5 的三阶段策略actor_rollout_ref.rollout.temperature1.4 # stage1 actor_rollout_ref.rollout.temperature1.45 # stage2 actor_rollout_ref.rollout.temperature1.5 # stage3温度是 POLARIS 配方中第二个关键调优点。三个 stage 的温度单调上升1.4 → 1.45 → 1.5配合top_p1.0、top_k-1的宽松采样。注意Qwen3 官方建议推理温度 0.6但 RL 训练必须用更高温度制造多样性否则优势估计缺乏区分度每进入下一 stage脚本都建议用 search_optimal_temperature.py 在 1.4~1.6 区间重搜温度目标是让新阶段的多样性分数与上一阶段对齐1.7B 脚本的温度更高stage2 达 1.55而 r1-distill-7b 脚本保持 0.7 左右的低温说明温度要与基座模型的推理风格匹配学习率与 FSDPlr1e-6 与 offload 的取舍actor_rollout_ref.actor.optim.lr1e-6 actor_rollout_ref.actor.fsdp_config.param_offloadTrue actor_rollout_ref.actor.fsdp_config.optimizer_offloadTruelr1e-6是刻意压低的极小学习率——RL 训练梯度噪声大过大的学习率会让策略在长思维链空间里剧烈震荡。FSDP 侧stage1 打开参数与优化器 offload省显存、慢一点stage2/3 则关闭 offload 换速度因为max_response_length变长后需要更多显存留给激活。同时enable_gradient_checkpointingTrue进一步压缩显存。三阶段脚本差异速查表参数stage1stage2stage3调优方向max_response_length399364812852224逐步放宽容纳更长思维链rollout.temperature1.41.451.5逐步升温维持采样多样性ppo_max_token_len_per_gpu409603276832768与序列长度联动调整ulysses_sequence_parallel_size122长序列时开启序列并行fsdp param/optimizer_offloadTrueFalseFalsestage1 省显存后续换速度dyn_sampling_polarisTrueTrueTrue全程开启动态采样如何跑起来环境安装与启动命令克隆仓库后按以下步骤安装依赖git clone https://gitcode.com/gh_mirrors/polaris34/POLARIS cd POLARIS pip install -e ./verl pip install -e ./ pip install transformers4.51.0 pip install vllm0.8.4 pip install tensordict0.6.2 unset VLLM_ATTENTION_BACKEND注意训练前需把模型 config.json 的max_position_embeddings设为 131072然后逐 stage 启动训练。多机场景可直接用 train_with_ray.py 一键拉起 Ray 集群。调优建议清单batch size 调优显存不足优先调ppo_max_token_len_per_gpu与max_num_batched_tokens而非强行减小样本数clip_ratio 调优从 0.2/0.2 起步观察 clip fraction 指标波动大时向 0.15/0.25 方向收紧低侧温度调优每阶段用 search_optimal_temperature.py 重搜不要照搬固定值响应长度宁可多留余量max_response_length不足会让推理能力倒退数据过滤用 drop_easy_data.py 逐步移除已掌握的简单题把算力集中到难题上POLARIS 的训练脚本把「动态批大小 不对称裁剪 升温采样 渐进数据过滤」几个反直觉的技巧组合在一起才换来 AIME25 上 13.8 分的巨大提升。理解了这些超参数的作用你就能在自己的模型上复现这套 RL 训练配方了。【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Findex 搜索原理揭秘:sublime_fuzzy 模糊匹配算法如何工作

Findex 搜索原理揭秘:sublime_fuzzy 模糊匹配算法如何工作

2026/8/20 21:09:39

Findex 搜索原理揭秘:sublime_fuzzy 模糊匹配算法如何工作 【免费下载链接】findex Findex is a highly customizable application finder written in Rust and uses GTK3 项目地址: https://gitcode.com/gh_mirrors/fi/findex 如果你用过 Linux 桌面上的高效…

IsaacLab实战:Franka机械臂抓取立方体,从环境配置到一次跑通

IsaacLab实战:Franka机械臂抓取立方体,从环境配置到一次跑通

2026/8/20 20:59:39

IsaacLab实战:Franka机械臂抓取立方体,从环境配置到一次跑通 【免费下载链接】IsaacLab Unified framework for robot learning built on NVIDIA Isaac Sim 项目地址: https://gitcode.com/GitHub_Trending/is/IsaacLab 你花三天搭好的 RL 训练环…

检测到逃逸风险怎么办?container-escape-check 之后的 10 大 Docker 安全加固措施

检测到逃逸风险怎么办?container-escape-check 之后的 10 大 Docker 安全加固措施

2026/8/20 20:59:39

检测到逃逸风险怎么办?container-escape-check 之后的 10 大 Docker 安全加固措施 【免费下载链接】container-escape-check docker container escape check || Docker 容器逃逸检测 项目地址: https://gitcode.com/gh_mirrors/co/container-escape-check 在…

蓝桥杯Vue

蓝桥杯Vue

2026/8/20 23:19:45

el-rate 组件 show-score 属性详解1. 作用show-score 是 Element UI 评分(el-rate)内置布尔属性:加上 show-score:星星右侧实时显示当前打分数字分值不写该属性:只展示星星,不显示分数数字 默认值&#xff…

基于MQTT与ESP8266的物联网遥控车:从游戏手柄到物理执行

基于MQTT与ESP8266的物联网遥控车:从游戏手柄到物理执行

2026/8/20 23:19:45

1. 项目缘起:当游戏手柄遇上遥控车几年前,我在整理旧物时翻出了一台尘封已久的玩具遥控车。它结构简单,一个塑料底盘,两个直流电机驱动后轮,一个舵机控制前轮转向。看着它,一个念头突然冒了出来&#xff1a…

OR值与HR值Meta分析结果解读:森林图与漏斗图解读

OR值与HR值Meta分析结果解读:森林图与漏斗图解读

2026/8/20 23:19:45

OR值和HR值Meta分析结果解读 一、方法概述 Meta分析是一种将多项独立研究结果进行定量合并的统计分析方法,其核心思想是通过加权平均的方式增大样本信息量,从而提高统计检验效能并获得更为精确的效应量估计。在医学、流行病学及社会科学领域&#xff0…

K均值聚类结果解读:轮廓系数与聚类中心特征

K均值聚类结果解读:轮廓系数与聚类中心特征

2026/8/20 23:19:45

K均值聚类分析结果解读一、分析方法介绍K均值聚类分析(K-means Clustering)是一种经典的无监督学习方法,其基本思想是将n个样本划分为k个互不重叠的簇(cluster),使得每个样本到其所属簇中心的距离最小化。该…

IGBT驱动电路设计:从核心原理到工程实践的关键技术解析

IGBT驱动电路设计:从核心原理到工程实践的关键技术解析

2026/8/20 23:19:45

1. 从“开关”到“心脏”:为什么IGBT驱动如此关键如果你拆开一台变频空调、一台工业变频器,或者一辆电动汽车的电机控制器,在密密麻麻的电路板深处,你总会找到几个被巨大散热片压着的黑色方块——那就是IGBT。很多人把IGBT称为电力…

从1只到30只:PKHeX-Plugins 把宝可梦数据合法化与批量生成变成几次点击

从1只到30只:PKHeX-Plugins 把宝可梦数据合法化与批量生成变成几次点击

2026/8/20 23:09:44

从1只到30只:PKHeX-Plugins 把宝可梦数据合法化与批量生成变成几次点击 【免费下载链接】PKHeX-Plugins Plugins for PKHeX 项目地址: https://gitcode.com/gh_mirrors/pk/PKHeX-Plugins 如果你也曾在深夜对着宝可梦编辑器里那一排"红色感叹号"束手…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/20 21:07:35

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

2026/8/20 0:08:45

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com…

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

2026/8/20 0:08:45

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 判断你是否…

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

2026/8/20 0:08:45

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 按 3MF 官方规范的字面意思,一…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…