s1-32B 模型:超越 o1-preview,一起探索其原因
原文链接:https://arxiv.org/abs/2501.19393
代码链接:https://github.com/simplescaling/s1
📖阅读时长:25分钟
🕙发布时间:2025-02-05
Test-time scaling是一种语言建模方法,它利用额外的测试时计算资源来提升性能,OpenAI的o1模型近期也证实了这一方法的有效性。本文旨在探寻实现Test-time scaling以及强大推理性能的最简途径。
主要贡献
- 精心策划小型数据集s1K:该数据集包含1000个问题,并配有推理过程,其构建基于难度、多样性和质量这三个标准,且通过消融实验进行了验证。
- 开发预算强制策略:通过强行终止模型的思考过程,或在模型试图结束时多次添加“Wait”来延长生成过程,以此控制测试时间计算。这一策略能促使模型复查答案,纠正推理过程中的错误步骤。
在s1K数据集上对Qwen2.532B-Instruct语言模型进行监督微调,并应用预算强制策略后,我们的模型s1-32B在竞赛数学问题(MATH和AIME24)上的表现,比o1-preview高出27%。
推理数据管理以创建s1K
初始收集59K样本
依据三个指导原则,从16个不同来源收集了最初的59,029个问题:
- 质量:数据集需保证高质量,通过检查样本,剔除格式不佳等有问题的数据集。
- 难点:数据集应具备挑战性,解答问题需要大量的推理工作。
- 多元化:数据集应涵盖不同领域,以覆盖各类推理任务。
数据来源包括NuminaMATH、AIME问题、OlympicArena、AGIEval等现有数据集,同时还创建了两个用于定量推理的新数据集:
- s1-prob:包含斯坦福大学统计系博士资格考试概率部分的182道题(https://statistics.stanford.edu),并附有涵盖复杂证明过程的手写答案。
- s1-teasers:由23个常用于量化交易职位面试的脑筋急转弯组成。每个样本包含问题及答案,均取自PuzzledQuant(https://www.puzzledquant.com/)。
针对每个问题,利用Google Gemini Flash Thinking API生成推理过程和解决方案,并提取其推理过程和响应,最终得到59K个由问题、生成的推理过程和生成的解决方案组成的三元组。
最终选择1K样本
- 质量:首先剔除在API调用过程中出现错误的问题,数据集样本数量减少至54,116个。接着,通过检查是否存在格式问题的字符串模式(如ASCII艺术图、不存在的图像引用或不一致的问题编号等),过滤掉低质量的示例,数据集进一步缩减至51,581个。从这部分数据中,挑选出384个被认为高质量且无需进一步筛选的样本作为最终1000个样本的一部分。
- 难点:在每个问题上评估Qwen2.5-7B-Instruct和Qwen2.5-32B-Instruct两个模型,由Claude 3.5 Sonnet将模型的每次尝试与参考解决方案对比,评估正确性。基于更难的问题需要更多思考标记的假设,使用Qwen2.5分词器测量每个推理轨迹的标记长度来衡量问题难度。剔除Qwen2.5-7B-Instruct或Qwen2.5-32B-Instruct能正确解答的问题,此时样本数量降至24,496个。
- 多元化:运用Claude 3.5 Sonnet,依据美国数学学会的数学学科分类(MSC)系统(如几何、动态系统、实分析等),将每个问题分类到特定领域。从24,496个问题中选择最终样本时,先随机均匀选择一个领域,然后根据倾向于更长推理轨迹的分布从该领域抽取一个问题。重复此过程,直至收集到1000个样本。经过这三个阶段的筛选,最终得到的数据集涵盖了50个不同领域。
测试时缩放
测试时缩放方法可分为:
- 顺序计算:后续计算依赖于前面的计算结果(例如较长的推理轨迹)。
- 并行计算:计算过程相互独立(例如多数投票)。
本文聚焦于顺序扩展,因为作者直观认为这种方式扩展性更佳,后续计算可基于中间结果进行,有助于更深入的推理和迭代优化。
预算强制
提出一种简单的解码时间干预方法,在测试时强制设定最大和/或最小数量的思维标记:
- 为强制设定最大令牌数,只需附加思维结束标记分隔符和“Final Answer:”,使模型提前退出思考阶段,给出当前最佳答案。
- 为强制设定最小令牌数,禁止生成思维结束标记分隔符,并可选择在模型当前推理轨迹后附加字符串“Wait”,鼓励模型对当前生成结果进行反思。
以下图为例,展示了该方法如何引导模型得出更好的答案。模型原本在“...is 2.”处试图停止,但我们禁止了思维结束标记分隔符,改为附加“Wait”,促使s1-32B自行纠正答案。
基线
预算强制的基准对比方法包括:
条件长度控制方法:依靠在提示中告知模型应生成的长度,再按粒度分为:
- Token条件控制:在提示中指定思维标记的上限。
- 步进条件控制:指定思考步骤的上限,每个步骤约100个标记。
- 类条件控制:编写两个通用提示,让模型进行短期或长期思考。
- 抑制采样:不断采样,直至生成结果符合预先设定的计算预算。该方法根据生成结果的长度获取后验响应。
指标
测量了三个指标:
- 控制:$a_{min}$、$a_{max}$分别指预先设定的最小和最大测试时间计算量(在本文中为思维标记数量,通常仅约束$a_{max}$)。由于生成的标记数量与测试时计算量相对应,该指标衡量了一种方法对测试时计算资源使用的可控程度,以百分比表示,100%为完全可控。
- 扩展:扩展指标是分段线性函数的平均斜率。对于有效的方法,该值必须为正,且越大越好。
- 性能:即该方法在基准测试中达到的最大性能。在极限情况下,具有单调递增扩展特性的方法在任何基准测试中都能实现100%的性能。
结果
设置
使用s1K数据集对Qwen2.5-32B-Instruct进行监督微调,得到模型s1-32B。
性能
- 测试时缩放:下图展示了s1-32B在预算强制策略下,随着测试时间计算量增加的性能变化。从图中可以看出,使用预算强制技术和更多测试时间计算,能提升AIME24的性能,但在六倍计算量时性能趋于平缓。通过多数投票在基础模型上扩展测试时间计算,其性能无法赶上s1-32B,这验证了顺序扩展比并行扩展更有效的观点。
- 样品效率:下图和表格将s1-32B与其他模型进行了对比。结果显示,s1-32B是样本效率最高的开放数据推理模型。尽管s1-32B仅在额外的1000个样本上进行训练,但其性能明显优于基础模型Qwen2.5-32B-Instruct。同时发布的r1-32B性能比s1-32B更强,不过它是在多800倍推理样本上训练得到的。
讨论
进一步Test-time scaling的限制
结果表明,预算强制策略可通过外推测试时间计算提升性能,如将AIME24的性能从50%提高到57%。然而,在进一步扩展时存在两个关键限制:一是性能最终会趋于平缓;二是底层语言模型的上下文窗口会对其形成约束。尽管存在这些限制,但测试时间扩展在广泛的精度范围内仍有效,部分原因是缩减测试时计算的行为具有可预测性,不受这些限制的影响。若要继续进行Test-time scaling,需要能进一步推断测试时计算的新方法。
并行扩展作为解决方案
并行扩展为顺序扩展的限制提供了一种解决思路。我们通过两种方法增强顺序扩展模型:
- 多数表决:生成$k$个解决方案后,选择出现频率最高的作为最终答案。
- 通过REBASE进行树搜索:使用REBASE流程奖励模型(从LLaMA-34B初始化,并在合成流程奖励建模数据集上进一步微调),然后通过多数投票汇总REBASE生成的解决方案。
如下图所示,在这种场景下,使用REBASE增强模型的扩展性优于多数投票,甚至比顺序扩展效果更好。不过,REBASE在每个步骤都需要为奖励模型进行额外的前向传递,会增加一定的计算开销。
近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。