-
开源了包含由 DeepSeek R1生成的用于数学推理的全新大规模数据集OpenR1 -220k-Math

-
合成数据处理技术细节 -
汇总开源社在R1技术上的探索:Unsloth、李飞飞s1、AIME 2025等等

-
800k R1 推理轨迹:使用DeepSeek R1为 400k 个问题生成两个答案。过滤后的数据集包含220k 个具有正确推理轨迹的问题。 -
512 个 H100 在本地运行:不依赖 API,而是利用vLLM和SGLang在科学集群上本地运行生成,每天生成 180k 条推理痕迹。 -
基于NuminaMath 1.5:专注于数学推理痕迹并为 NuminaMath 1.5 (NuminaMath-CoT数据集的改进版本)中的问题生成答案。 -
自动过滤:应用数学验证来仅保留至少有一个正确答案的问题。还利用Llama3.3-70B-Instruct作为判断器来检索更多正确的示例(例如,对于无法使用基于规则的解析器验证的格式错误的答案的情况) -
在数据集上微调Qwen-7B-Math-Instruct来匹配DeepSeek-Distill-Qwen-7B的性能。
"Please reason step by step, and put your final answer within \boxed{}."
https://github.com/huggingface/open-r1/tree/main/slurm
You are a mathematical answer validator. You will be provided with a mathematical problem and you need to compare the answer in the reference solution, and the final answer in a model's solution to determine if they are equivalent, even if formatted differently.
PROBLEM:
{problem}
REFERENCE SOLUTION:
{answer}
MODEL'S SOLUTION:
{generation}
Focus ONLY on comparing the final mathematical answer provided by the model while ignoring differences in:
- Formatting (e.g., \\boxed{{}} vs plain text)
- Multiple choice formatting (e.g., "A" vs full solution)
- Order of coordinate pairs or solutions
- Equivalent mathematical expressions or notation variations
- If the model's answer is nonsense, return "Verdict: AMBIGUOUS"
Start with a brief explanation of your comparison (2-3 sentences). Then output your final answer in one of the following formats:
- "Verdict: EQUIVALENT"
- "Verdict: DIFFERENT"
- "Verdict: AMBIGUOUS"
该数据集分为两部分:
-
default(94k 个问题),在 SFT 之后取得了最佳性能。
-
extended(131k 个问题),其中包括额外的 NuminaMath 1.5 源,如cn_k12,提供更多推理痕迹。然而,SFT 之后此子集的性能低于默认拆分,可能是因为cn_k12与其他来源相比包含更简单的问题。
对于具有多个正确答案的行,还尝试应用奖励模型 (RM) 作为最终过滤器来选择最佳答案。对于 R1 生成多个正确答案的每一行,通过删除思考标记(<think>…</think>)来提取最终答案,然后将问题 + 提取的答案传递给使用 vLLM 提供的Qwen/Qwen2.5-Math-RM-72B以获得分数。使用这些分数,为包含多个正确答案的每一行建立了排名。选择了前 1 个正确的生成并将其纳入训练数据集,但遗憾的是,训练消融表明,与选择一个随机正确生成相比,这种方法无助于提高模型性能。一种可能的改进是在使用 RM 评分时包括推理轨迹而不仅仅是最终答案。
GRPO 的应用与效果
-
实验成果:nrehiew 将 GRPO 应用于 Qwen2.5-0.5B 基础模型,在 GSM8k 基准测试中获得了约 51% 的准确率,比未优化的模型提高了 10 个百分点。这表明 GRPO 在某些模型上具有显著的优化效果。
-
模型限制:尽管在 Qwen2.5-0.5B 上取得了成功,但在其他基础模型(如 Llama 3)上尚未复现类似效果。Sea AI Lab 的研究指出,基础模型的自我反思能力可能更多是其固有特性,而非 GRPO 优化的结果。
-
资源优化:Unsloth 团队通过优化,仅使用 15GB 的显存即可训练多达 150 亿参数的模型,这意味着 GRPO 可以在 Google Colab 等免费平台上使用,大大降低了实验门槛。
数据集与推理能力
-
小数据集的潜力:研究表明,复杂的推理能力可能不需要大规模数据训练,而是可以通过少量精心挑选的样本实现。例如:
-
s1K 数据集:包含 1000 个精心挑选的数学问题,微调后的 Qwen2.5-32B-Instruct 模型在竞赛数学基准上超越了 OpenAI 的 o1-preview 模型 27%。
-
LIMO 数据集:仅使用 817 个训练样本,在 AIME 和 MATH 基准上取得了出色表现。这表明高质量的小数据集可能比大规模数据更有效。
-
推理深度与性能:通过预算强制技术(如添加“等待”标记或结束标记)延长或截断模型的推理时间,可以显著提升模型在不同数学基准上的性能。
奖励函数与优化
-
奖励函数设计:Alexander Doria 提出了为诗歌生成设计奖励函数的方法,这是 GRPO 在非传统“可验证”领域应用的首批公开示例之一。
-
余弦奖励函数:Yeo 等人提出了一种新的奖励函数,通过激励正确生成的思维链(CoT)更短,错误生成的 CoT 更长,从而稳定强化学习训练,特别是在模型上下文大小有限的情况下。
评估与挑战
-
AIME 2025:作为新的数学难题基准,AIME 2025 的发布引发了对模型性能的评估。然而,部分问题已在互联网论坛上出现,这可能暗示了训练数据泄露的问题,凸显了为 LLM 创建新问题的困难。
-
推理方式:一项新研究通过在潜在空间中进行隐式推理,展示了在推理任务中扩展测试时间计算的可能性,这种方法比传统方法更高效。
https://huggingface.co/blog/open-r1/update-2
https://github.com/huggingface/open-r1
(文:PaperAgent)