公司动态
单机复现 POLARIS-1.7B 实战:从 Qwen3 基座到 AIME24 66.9 分的完整流程
单机复现 POLARIS-1.7B 实战从 Qwen3 基座到 AIME24 66.9 分的完整流程【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARISPOLARIS-1.7B 复现并不神秘。这个开源项目通过强化学习RL把 Qwen3-1.7B 的 AIME24 成绩从 48.3 分拉升到 66.9 分涨幅高达 18.6 分而且整套训练流程在单机 8 卡 H800上就能跑完。本文将用一份完整、可直接照抄的单机复现指南带你从环境搭建、数据准备、两阶段强化学习训练一路走到 AIME24 评估打分把 POLARIS-1.7B 的复现全流程一次讲透。POLARIS 是什么为什么 1.7B 值得复现POLARIS 是一套开源的后训练配方Post-training recipe核心思想是用强化学习去放大已具备推理能力的基座模型。项目口号是 Scaling RL on advanced reasoning models代码库基于成熟的 [verl] 训练框架构建训练和评估代码全部开源。复现 1.7B 版本有三个现实理由成本门槛极低相比 4B 版本需要 32 张 H800 跑 10 天1.7B 版本在单机 8 卡 H800 上即可完成两阶段训练适合个人研究者验证。效果提升显著官方开源数据显示POLARIS-1.7B-Preview 在 AIME24 上达到66.9 分18.6AIME25 达到53.0 分16.2碾压同规模基线。流程完备数据、训练脚本、评估脚本、评测基准全部随仓库提供拿来即用是学习RL 后训练推理模型的最佳样本。复现前准备一键安装运行环境首先把仓库克隆到本地并安装依赖。这里给出官方推荐的完整环境安装步骤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安装完成后有一个非常容易踩的坑不要使用 xformers 后端务必在启动 Ray 集群的每台机器上先执行unset VLLM_ATTENTION_BACKEND否则 vLLM 会报 CUDA 错误。这一步官方在训练脚本的注释里专门做了警告复现时最容易翻车的地方就在这儿。训练数据从哪来Parquet 数据文件POLARIS 官方已经把训练数据打包进了仓库路径如下阶段一全量数据parquet/stage1/polaris-data-53K.parquet约 5.3 万条数学题阶段二数据parquet/stage2/qwen3-4b-s2.parquet1.7B 版本需要自己生成见下文这些数据是从 DeepScaleR 数据集和 AReaL 数据集中过滤而来每个样本包含题目problem、答案answer和奖励信息。如果你有自己的 JSONL 数据可以用仓库自带的转换脚本scripts/data/jsonl2parquet.py一键转成 Parquet 格式python scripts/data/jsonl2parquet.py --jsonl_data data/jsonl_data/polaris-data-53K.jsonl转换脚本会自动根据文件名中的stage1/stage2/stage3关键字把输出写入parquet/下对应的子目录。阶段一训练跑通基础 GRPO 强化学习POLARIS-1.7B 的训练脚本位于scripts/train/qwen3-1.7b/包括stage1.sh和stage2.sh两个脚本。训练前有一个重要前提需要把 Qwen3 基座模型 config.json 中的max_position_embeddings改为 131072以支持超长推理序列。阶段一脚本的核心配置如下节选关键参数算法GRPOalgorithm.adv_estimatorgrpo批量train_batch_size128每个 prompt 采样 8 条回复rollout.n8长度prompt 最长 1024 token回复最长 39936 token温度采样温度 1.5top_p1.0学习率1e-6总轮数 30硬件单节点 8 卡 H800-80GB执行命令非常简单./scripts/train/qwen3-1.7b/stage1.sh \ --model /path/to/qwen3-1.7b \ --data_path parquet/stage1/polaris-data-53K.parquet \ --experiment_name qwen3-1.7b-stage1训练过程中会自动用evaluation/benchmarks/aime24.parquet作为验证集每 10 步保存一次 checkpoint 并测试一次。1.7B 模型每步训练耗时远低于 4B 版本总步数 500 步左右即可对齐官方节奏。阶段一与阶段二之间的三步关键操作阶段一训练完成后不能直接进入阶段二中间需要三步精修操作这正是 POLARIS 配方与普通 GRPO 训练拉开差距的地方。第一步把 checkpoint 转成 HuggingFace 格式使用仓库自带的模型合并脚本verl/scripts/model_merger.pypython verl/scripts/model_merger.py \ --local_dir /path/to/checkpoints/global_step_xxx/actor \ --target_dir checkpoints_hf/ckpt-1.7b-stage1第二步搜索最优采样温度官方强调重新搜索最优温度优于直接沿用默认设置。仓库提供了自动搜索脚本search_optimal_temperature.py会在 1.4~1.6 区间内按 0.05 步长自动批量评测python search_optimal_temperature.py --start 1.4 --end 1.6 --step 0.05 --model /path/to/model搜索原理是找到与阶段一**多样性分数Distinct-n**最接近的温度确保阶段二在相似分布上继续训练。第三步过滤简单样本drop easy data官方建议基于训练过程剔除已被模型完全掌握的简单题脚本为drop_easy_data.py。它会读取训练日志中每个样本的得分把平均得分高于 0.9 的样本视为已学会、从数据集中移除python drop_easy_data.py \ --data_path parquet/stage1/polaris-data-53K.parquet \ --experiment_name qwen3-1.7b-stage1 \ --output parquet/stage2/qwen3-1.7b-s2.parquet这一步保证了阶段二把算力集中砸在还不会的难题上是分数持续爬升的关键。阶段二训练在精炼数据上继续强化阶段二使用阶段一的转换模型作为起点配合过滤后的数据集继续训练./scripts/train/qwen3-1.7b/stage2.sh \ --model checkpoints_hf/ckpt-1.7b-stage1 \ --data_path parquet/stage2/qwen3-1.7b-s2.parquet \ --experiment_name qwen3-1.7b-stage2与阶段一相比阶段二有两个明显变化回复长度上限提升到 48128 token允许模型输出更长的推理链采样温度提升到 1.55验证温度提高到 1.4配合ulysses_sequence_parallel_size2开启序列并行以容纳长序列。训练完成后再次执行 checkpoint 合并得到最终的checkpoints_hf/ckpt-1.7b-stage2这就是你的 POLARIS-1.7B 复现模型。如何验证成绩AIME24 评估与打分训练完成只是第一步复现是否成功要用官方评估脚本说话。评估支持两种方式推荐使用 vLLM 方式更快输出 JSONL 文件python scripts/eval/eval_vllm_aime24.py \ --model /path/to/model --n 32 --max_length 90000 --k 20 --t 1.4评估脚本scripts/eval/eval_vllm_aime24.py会为每道题做 32 次随机采样8 卡平分每卡 4 个随机种子然后取多数一致答案。如果想用 VeRL 方式输出 Parquet 文件也可以直接跑官方 shell 脚本./scripts/eval/eval_model_aime24.sh --model /path/to/model --n 32 --max_length 90000 --k 20 --t 1.4生成结果后用官方评分脚本evaluation/grade.py统一打分python evaluation/grade.py --file_name evaluation/results/aime24-reproduced.parquet解码参数提醒官方建议使用比 Qwen3 默认更高的采样温度0.6 → 1.4同时回复长度要留足64K否则截断会导致性能跌破 Qwen3 基线——这是很多人复现分数不达标的最常见原因。复现踩坑清单与实战建议最后把整个复现过程中的高频坑和官方建议汇总成清单环境版本必须锁定transformers 4.51.0、vllm 0.8.4、tensordict 0.6.2混用版本容易出现隐藏的不兼容问题。不要用 xformers务必unset VLLM_ATTENTION_BACKEND这是官方反复强调的硬性要求。先改 max_position_embeddings训练前把基座模型的上下文长度配置改为 131072。验证集自动评测脚本默认每 10 步在 AIME24 验证集上测试一次观察验证分数曲线即可判断训练是否正常。温度必须重新搜索不要偷懒沿用默认 1.5/1.55换基座、换数据后最优温度都会漂移。easy data 过滤看情况如果训练集规模小过滤阈值默认 0.9可以适当调低避免数据过度削减。总结从 Qwen3-1.7B 基座到 AIME24 66.9 分的 POLARIS-1.7B 复现核心就三件事两阶段 GRPO 训练、中间的温度搜索与数据精炼、超长上下文与高温度的评估。整套流程在单机 8 卡 H800 上即可完成数据和脚本全部随仓库提供是学习强化学习后训练推理模型不可多得的完整案例。照着本文的步骤一步步执行你就能亲手复现出属于自己的 POLARIS-1.7B并在 AIME24 上拿到接近官方水平的成绩。【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考