用途
s1 是一个用于研究“测试时扩展”的开源项目。其核心目标是:用极少的示例(1,000 条)结合预算强制(budget forcing)技术,在推理任务上取得与 o1-preview 相当的强推理表现,并公开可复现的训练与评测配方。
主要能力
- 提供论文《s1: Simple test-time scaling》的完整资源入口。
- 发布模型:s1.1-32B(当前)与 s1-32B(旧版)。
- 发布数据集:s1K-1.1(当前)与 s1K(旧版),另有 s1-prob、s1-teasers 以及用于数据消融的 Full 59K。
- 推理支持 vLLM(含预算强制)、transformers。
- 提供评测脚本 eval/、合成数据创建脚本 data/、训练脚本 train/。
- 提供训练脚本 train/sft.py 及配套的 train/sft*sh、train/launch.sh(SLURM 集群)。
- 提供评测命令 eval/commands.sh 与统计脚本 eval/compute_sample_stats.py。
- 支持 REBASE 实验,命令位于 eval/rebase/run.sh。
- 提供复现 s1K 的完整流程(数据收集、Gemini 生成轨迹、Qwen 生成答案、特征化、过滤、评分)。
- 图表可通过 visuals/visuals.ipynb 及 visuals/s1.fig 复现。
使用方式
- 推理:安装并运行 vLLM(支持预算强制)或安装 transformers 与 torch 后运行相应脚本。
- 训练:使用 train/sft.py,通过 train/sft*sh 调用,在 SLURM 集群上可用 train/launch.sh 启动(需按集群配置修改文件)。训练 s1-32B/s1.1-32B 建议使用 16 张 H100 GPU,即 2 个节点各 8 张。s1.1 设置 block size 为 20000 以避免 OOM;若 8 GPU 出现 OOM,可在脚本中加入 --gradient_checkpointing=True。
- 评测:克隆并修改 lm-evaluation-harness(commit 4cec66e4e468d15789473d6d63c3a61a751fa524),命令见 eval/commands.sh;AIME24 使用 aime24_nofigures 结果。
- 复现 s1K:运行 data/collect_data.py,再运行 data/fix_gpqa.py 与 data/add_aime.py;用 data/gemini.py 生成 Gemini 轨迹;用 data/bulk_inference.py 生成 Qwen 答案;运行 data/featurization.py 添加特征;通过 data/filter.ipynb 做最终过滤;如需评分可使用 data/grading.ipynb。相关文件中需将 simplescaling 和 qfq 组织名替换为自己拥有的组织。
适用场景
- 研究测试时扩展与预算强制方法的科研人员。
- 需要复现 s1 系列模型训练与评测流程的开发者。
- 希望在有限数据下探索强推理模型训练配方的团队。
限制
- 官方资料未提供具体的收费、价格或商业使用条款信息。
- 官方资料未列出所有支持平台或部署环境的完整清单。
- 训练与评测涉及较多脚本修改和组织名替换,官方未提供一键部署方案。
- vLLM 使用预算强制时,在 temperature 1 下可能遇到 “Token id XXXXX is out of vocabulary” 错误,官方给出的解决方式是注释掉 vllm/engine/llm_engine.py 中 if max_input_id > tokenizer.max_token_id: 这一行的 ValueError 检查。
官方资源
- 论文:https://arxiv.org/abs/2501.19393
- 模型:https://hf.co/simplescaling/s1.1-32B(旧版:https://hf.co/simplescaling/s1-32B)
- 数据:https://hf.co/datasets/simplescaling/s1K-1.1(旧版:https://hf.co/datasets/simplescaling/s1K)
- 其他数据:https://hf.co/datasets/simplescaling/s1-prob ,https://hf.co/datasets/simplescaling/s1-teasers ,https://hf.co/datasets/simplescaling/data_ablation_full59K
- 评测结果:https://hf.co/datasets/simplescaling/results
- 复现 REBASE 所用模型:https://huggingface.co/simplescaling/step-conditional-control-old
- 旧数据集:https://huggingface.co/datasets/simplescaling/s1K-step-conditional-control-old
- 旧评测数据:https://huggingface.co/datasets/Maxwell-Jia/AIME_2024