如何为 POLARIS 找到最佳采样温度?search_optimal_temperature 实操指南

📅 2026/8/20 17:25:06
如何为 POLARIS 找到最佳采样温度?search_optimal_temperature 实操指南
如何为 POLARIS 找到最佳采样温度search_optimal_temperature 实操指南【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARISPOLARIS 是一个通过强化学习RL缩放来深度优化先进推理模型的开源后训练方案官方开源了配套的温度搜索脚本search_optimal_temperature.py帮助你在强化学习训练中快速锁定最优采样温度。本指南面向新手从为什么温度重要讲到如何运行脚本、解读结果带你一次性掌握 POLARIS 采样温度的完整实操流程。为什么采样温度对推理模型如此关键采样温度temperature控制着模型解码时的随机性是影响推理质量的核心超参数温度过低如 0.2输出过于保守推理路径单一难以探索多种解题思路温度过高如 2.0输出随机性过大答案飘忽正确率显著下降温度适中模型能在探索与稳定之间取得平衡推理质量最佳。POLARIS 官方建议解码温度应高于 Qwen3 默认的 0.6推荐使用 1.4 左右但同时强调不要超过训练时使用的温度否则性能反而会退化。此外POLARIS 模型建议使用超过 64K 的生成长度避免因截断导致推理链不完整。一张图看懂 POLARIS 的效果在正式介绍温度搜索之前先看看 POLARIS 在 AIME25 基准上的表现——它验证了正确的推理配置 强化学习能带来多大的提升如上图所示POLARIS-4B-Preview 在 AIME25 上拿到 79.4 分仅次于 Qwen3-235B-A22B81.5 分大幅超越了 Claude-4-Opus、Grok-3-Beta、o3-mini-high 等商业系统而基础模型 Qwen3-4B 仅为 65.6 分。如此惊人的提升离不开每一阶段训练中对采样温度的精细调优。search_optimal_temperature.py 到底做了什么search_optimal_temperature.py 是一个自动温度扫描器它根据你设定的起始温度、结束温度和步长生成一串候选温度然后对每个温度依次调用 scripts/eval/eval_vllm_aime24.py 在 AIME24 基准上进行批量推理评测并把结果按温度分别保存到输出目录。核心执行逻辑节选自源码num_steps int((args.end - args.start) / args.step) 1 temperatures [round(args.start i * args.step, 2) for i in range(num_steps)] for temperature in temperatures: cmd fpython scripts/eval/eval_vllm_aime24.py --model {args.model} --experiment_name {name} --n {args.n} --max_length {args.max_length} --t {temperature} --output {args.output_dir} --k -1 os.system(cmd)也就是说你只需要跑一次脚本就能批量拿到每个温度下的模型表现省去手动反复调参的繁琐过程。快速上手三步完成温度搜索第一步克隆仓库并安装环境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第二步运行温度搜索脚本准备好待评测的模型例如训练完 stage1 的 checkpoint运行python search_optimal_temperature.py --start 1.4 --end 1.6 --step 0.05 --model /path/to/your/model脚本会依次测试 1.40、1.45、1.50、1.55、1.60 这 5 个温度并把每个温度下的 AIME24 推理结果保存到t-search/目录中。第三步评测打分对比结果扫描完成后使用官方打分脚本统计每个温度下的正确率python evaluation/grade.py --file_name t-search/xxx/aime24-1.40-16-50000--1.jsonl对比不同温度对应的得分得分最高、且推理稳定性好的温度就是当前模型的最优采样温度。参数详解一次看懂 7 个参数参数默认值作用--start1.4温度搜索的起始值--end1.6温度搜索的结束值--step0.05温度搜索的步长越小越精细--model待评测模型的本地路径--n16每道题目的采样次数越大评测越稳定--max_length50000单条推理的最大生成长度--output_dirt-search评测结果的输出目录小技巧先用大步长0.1粗扫出一个大致区间再用小步长0.02~0.05在最优区间内精细搜索兼顾效率与精度。如何读懂搜索结果搜索结果的解读要点在于多样性diversity。在 POLARIS 的强化学习流程中RL 的 rollout 采样温度直接影响生成推理路径的多样性多样性过高生成的推理路径过于发散训练信号被稀释梯度更新不稳定多样性过低模型只会复制固定套路RL 很快就收敛到次优解。官方建议在进入下一阶段训练前搜索一个与上一阶段训练时多样性相似的温度。例如 scripts/train/qwen3-4b/stage1.sh 使用 rollout 温度 1.4那么 stage2 前就应该用search_optimal_temperature.py在 1.4 附近重新搜索找到多样性最接近 stage1 的最优温度。实战案例三阶段训练的温度调整策略POLARIS 对 4B 模型采用了三阶段 逐级升温的策略各阶段的 rollout 温度设置如下阶段训练脚本rollout 采样温度验证温度Stage1stage1.sh1.41.2Stage2stage2.sh1.451.4Stage3stage3.sh1.51.4每个阶段开始前官方都建议用search_optimal_temperature.py重新搜索一遍而不是直接沿用上一阶段的值# stage1 训练结束后将 checkpoint 合并为 HF 模型 python verl/scripts/model_merger.py --local_dir /path/to/checkpoints/global_step_xxx/actor --target_dir checkpoints_hf/ckpt-4b-stage1 # 在 1.4 ~ 1.6 区间为 stage1 模型搜索最优温度 python search_optimal_temperature.py --start 1.4 --end 1.6 --step 0.05 --model checkpoints_hf/ckpt-4b-stage1其他模型的参考值Qwen3-1.7B 为 1.5 → 1.55Deepseek-R1-Distill-Qwen-7B 为 0.7 → 1.0 → 1.1。可见不同基础模型的最优温度差异很大按模型重新搜索远比照搬默认值可靠。总结与最佳实践最后为你总结 POLARIS 采样温度搜索的几个核心要点解码温度推荐 1.4 左右显著高于 Qwen3 默认的 0.6但不要超过训练温度生成长度建议超过 64K防止长推理链被截断导致性能滑坡每个训练阶段都重新搜索温度追求与上一阶段相近的推理多样性用 AIME24 / AIME25 作为评测基准scripts/eval/eval_vllm_aime24.py 与 scripts/eval/eval_vllm_aime25.py 都已内置AIME25 推荐温度可尝试 1.4 或 1.45粗扫 细搜结合先大步长找区间再小步长精调事半功倍。掌握search_optimal_temperature.py你就掌握了 POLARIS 强化学习训练中最关键的一环。快去为你的模型跑一次温度扫描找到属于它的最优采样温度吧【免费下载链接】POLARISScaling RL on advanced reasoning models项目地址: https://gitcode.com/gh_mirrors/polaris34/POLARIS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考