开源22万条DeepSeek R1的高质量数据!你也能复现DeepSeek了
开源22万条DeepSeek R1的高质量数据!你也能复现DeepSeek了
DeepSeek在海内外掀起的波澜尚未平息。当中国大模型突破硅谷防线后,中国AI军团首次实现技术反向输出,引发了全球范围内复现DeepSeek的热潮。虽然DeepSeek-R1已经开源,但关键信息如训练数据和脚本并未完全公开。然而,这并未阻止技术社区的探索步伐。
在众多复现项目中,Hugging Face领衔的Open R1项目最为引人注目。该项目致力于完全开放复现DeepSeek-R1,补齐所有未公开的技术细节。自启动以来,Open R1项目已取得显著进展,包括GRPO实现、训练与评估代码以及用于合成数据的生成器等。
OpenR1-Math-220k数据集概览
DeepSeek R1的一个重要优势在于能够将高级推理能力迁移到较小的模型中。DeepSeek团队生成了60万条推理数据,在Qwen和Llama等开源模型上证明了这种迁移能力。即使不使用强化学习,直接从R1模型进行迁移也能实现强大的推理性能。
然而,这些合成数据仅DeepSeek可见,未对其他团队开放阅读权限。为了解决这一问题,Open R1团队使用DeepSeek R1生成了80万条推理轨迹,经过筛选和验证后得到了22万条高质量数据。这些数据可以支持更小的模型达到媲美DeepSeek R1的效果。
数据集特点
- 80万条R1推理轨迹:为40万个问题各生成两个答案,最终保留22万个具有正确推理轨迹的问题。
- 本地运行512个H100:每天可生成18万条推理轨迹。
- 基于NuminaMath 1.5:专注于数学推理公式。
- 自动过滤:通过数学验证和Llama3.3-70B-Instruct筛选正确答案。
数据集分为两部分:
- default(94k问题):在监督微调后表现最佳。
- extended(131k问题):包含额外的NuminaMath 1.5数据源,但性能略低于默认数据集。
数据生成与过滤
为了构建数据集,Open R1团队让DeepSeek R1为来自NuminaMath 1.5的40万个问题生成答案。他们遵循了DeepSeek技术报告中推荐的参数设置,并在提示词前添加了以下指令:
Please reason step by step, and put your final answer within \boxed{}.
团队将每次生成的tokens限制设置为16k。最初使用vLLM进行推理,每个H100节点每秒可生成15个答案。最近尝试使用SGLang后,速度提升近两倍,每个H100节点每秒可生成25个答案。
为了确保数据质量,团队设计了一套数学验证系统,并使用Llama-3.3-70B-Instruct模型进行二次评估。最终,他们找回了2.5万条被"误判"的数据。
实验结果
Open R1在OpenR1-Math-220k的基础上,对Qwen2.5-Math-Instruct进行了3轮微调,学习率为5e-5。实验结果显示,在数学成绩上,OpenR1-Qwen-7B与DeepSeek-Distill-Qwen-7B的差距并不明显。
启示与未来方向
- LLM是否需要使用自然语言进行推理? 马里兰大学的研究表明,通过循环语言模型可以在潜在空间中隐式推理,类似于Meta的Coconut方法。
- 是否要转向更小、高质量的推理数据? 研究表明,复杂的推理能力可以通过少量精心设计的样本达成。s1K数据集就是一个很好的例子,仅用1000个样本就在多个基准测试中超越了OpenAI的o1-preview。
- CoT长度:预算强制与奖励塑造 研究发现,通过调整模型的思考时间和奖励机制,可以在有限的上下文大小下实现更好的推理性能。
Open R1团队表示,现在GRPO已经在TRL中顺利运行,他们正在开展一系列广泛的实验,以了解哪些超参数和奖励函数对训练的影响最大。让我们期待Open R1带来更多好消息。
参考链接: