新智元报道
编辑:编辑部 HNYZ
【新智元导读】近日,斯坦福、UC伯克利等多机构联手发布了开源推理新SOTA——OpenThinker-32B,性能直逼DeepSeek-R1-32B。其成功秘诀在于数据规模化、严格验证和模型扩展。
32B推理模型,仅用1/8数据,与同尺寸DeepSeek-R1打成平手!
就在刚刚,来自斯坦福、UC伯克利、华盛顿大学等机构联手发布了一款SOTA级推理模型——OpenThinker-32B,并同时开源了高达114k的训练数据。
项目主页:https://www.open-thoughts.ai/blog/scale
Hugging Face:https://huggingface.co/open-thoughts/OpenThinker-32B
数据集:https://huggingface.co/datasets/open-thoughts/OpenThoughts-114k
团队发现:采用经DeepSeek-R1验证标注(基于R1蒸馏)的大规模优质数据集,便可训练出SOTA的推理模型。
具体方法,就是通过数据规模化、推理过程验证以及模型规模扩展。
由此得到的OpenThinker-32B,在数学、代码和科学等多个基准测试中,OpenThinker-32B性能直接碾压了李飞飞团队s1和s1.1模型,直逼R1-Distill-32B。
值得一提的是,相比于使用了800k数据(包含600k个推理样本)的R1-Distill,OpenThinker-32B仅用了114k数据,就能拿下几乎同等的优异成绩。
结果均通过开源评估框架Evalchemy计算得出
除此之外,OpenThinker-32还把模型权重、数据集、数据生成代码、训练代码上,全部都给公开了!
数据策展
研究人员使用了与之前训练OpenThinker-7B模型相同的OpenThoughts-114k数据集来训练OpenThinker-32B。
他们利用DeepSeek-R1模型,收集了精心挑选的17.3万个问题的推理过程和解答尝试。然后将这些原始数据作为OpenThoughts-Unverfied-173k数据集公开发布。
整个流程的最后一步是,如果推理过程未能通过验证,就过滤掉相应的数据样本。
下图可视化地展示了整个过程。
研究团队首先输入源数据或问题提示,这些内容可以来自不同的领域和平台,如BAAI/TACO、DeepMind、Python提交等,涉及代码、谜题、科学和数学等多个方面。
接着这些多元的输入会进入核心的处理模块——DeepSeek-R1,在这里对数据进行分析与处理。这些问题会被分成三个方面,分别是:科学类问题、数学与谜题和代码。
有些结果不需要验证,可能是简单的分析或直接输出。对于一些需要深入验证的内容,利用大语言模型(LLM)采用与GT(Ground Truth)对比的方式进行评判。如果是代码,执行代码并进行单元测试,确保代码的正确性和有效性。
最后能将不同方向的结果结合起来,生成开放的思考和更为综合的解决方案。
研究团队更新了最终的OpenThoughts-114k数据集,加入了一个名为 「metadata」的配置,其中包含了一些用于数据集构建的额外列:
problem
ground_truth_solution
test_cases (code only)
starter_code (code only)
DeepSeek_reasoning
DeepSeek_solution
domain
source
这些额外的元数据将使得这个数据集更容易用于新的场景,例如数据过滤、领域切换、验证检查以及更改推理过程的模板。
这些额外的元数据将得使该数据集使用起来更加容易,仅需一行代码就能完成例如过滤、更换领域、检查验证和更改推理跟踪模板等。
load_dataset("open-thoughts/OpenThoughts-114k", "metadata", split="train")
研究团队表示,他们期待看到社区利用这些问题和标准答案,在OpenThinker模型上进行强化学习(RL)的研究。DeepScaleR已经证明,规模较小时,这种方法效果特别好。
验证
为了得到最终的OpenThoughts-114k数据集,研究团队对答案进行了验证,并剔除了不正确的回答。
如下表所示,保留那些未通过验证的推理过程可能会损害性能,尽管未经验证的模型与其他32B推理模型相比仍然表现良好。
验证的作用在于,在扩大训练提示集的多样性和规模的同时,保持R1注释的质量。另一方面,未经验证的数据可以更容易地扩展,因此也值得进一步探索。
对于代码问题,我们通过对照已有的测试用例来验证解答尝试,从而完成推理过程的验证。
受到代码执行过程中所面临挑战的启发,我们在Curator中实现了一个代码执行框架,使用户能够大规模、安全地执行代码,并对照预期输出进行验证。
对于数学问题,研究团队使用一个LLM(大语言模型)评判器来进行验证,它会同时接收标准答案和DeepSeek-R1的解答尝试。
结果发现,在数据生成过程中,使用LLM评判器而不是更严格的解析引擎(Math-Verify)进行验证,可以获得更高的有效数据率,并能训练出性能更好的下游模型。
训练
研究团队使用LLaMa-Factory对Qwen2.5-32B-Instruct在OpenThoughts-114k数据集上进行了三轮微调,上下文长度为16k。完整训练配置可在GitHub中找到。
OpenThinker-32B在AWS SageMaker集群上使用四个8xH100 P5节点训练了90小时,累计使用了2,880个H100小时。
同时,OpenThinker-32B-Unverified在Leonardo超级计算机上使用96个4xA100节点(每个GPU64GB)训练了30小时,累计使用了11,520个A100小时。
评估
研究团队使用开源评估库Evalchemy(炼金术)对所有模型进行评估。
对于AIME24和AIME25,他们通过平均五次运行的结果来计算准确率。评估配置使用0.7的温度参数,将模型响应限制在32,768个token以内,不添加任何额外的系统或用户提示词,也不使用任何特殊的解码策略(如预算强制)。
当启动OpenThoughts项目时,他们设定了一个目标,即创建一个性能可以达到DeepSeek-R1-Distill-Qwen-32B的开放数据模型。
现在这个差距已经几乎消除。
最后,研究团队为社区在过去几周在构建开放数据推理模型方面取得的快速进展感到振奋,并期待基于彼此的洞见继续向前发展。
OpenThinker-32B的开源,证明了数据、验证和模型规模的协同作用是提升推理能力的关键。
这一成果不仅推动了开源推理模型的发展,也为整个AI社区提供了宝贵的资源和启示。
参考资料:
https://x.com/NeginRaoof_/status/1889739171826377008