DeepSeek-R1爆火,今天来详细看下。
论文地址:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf
项目地址:https://huggingface.co/deepseek-ai/DeepSeek-R1
开源复现地址:https://github.com/huggingface/open-r1
简单介绍下DeepSeek-R1的研究动机:
现有LLMs在推理任务上的改进主要依赖监督微调(SFT)和后训练(Post-Training)方法,但这些方法需要大量人工标注数据且成本高昂。OpenAI的o1系列模型虽通过扩展推理链(Chain-of-Thought, CoT)提升了性能,但其测试时扩展仍存在挑战。此外,现有强化学习方法(如过程奖励模型、蒙特卡洛树搜索等)在通用推理性能上未能达到o1系列的水平,且存在奖励过优化(reward hacking)、搜索空间复杂等问题。
DeepSeek-R1的动机是探索纯RL方法能否在不依赖监督数据的情况下,驱动LLMs自主进化出强大的推理能力,同时解决模型输出的可读性与语言混合问题,并验证通过蒸馏技术实现小模型高效推理的可行性。
在该动机的基础上,DeepSeek团队提出两个模型:DeepSeek-R1-Zero(纯RL训练)和DeepSeek-R1(结合冷启动数据与多阶段训练),以及通过蒸馏技术将推理能力迁移到小型模型。
1、DeepSeek-R1-Zero
DeepSeek-R1-Zero 旨在通过纯粹的强化学习(RL)过程提升语言模型的推理能力,而不依赖于传统的监督微调(SFT)。
强化学习
组相对策略优化(GRPO):在传统的强化学习设置中,通常需要一个与策略模型大小相同的批评模型来估计基线。为了降低RL训练成本,DeepSeek-R1-Zero采用了GRPO方法。
对于每个问题q,GRPO从旧策略中采样一组输出
,然后通过最大化目标函数来优化策略模型
:
其中ϵ和β是超参数,分别控制裁剪范围和KL散度的权重,是优势值,计算方式如下:
是第i个输出对应的奖励,而均值和标准差是基于整个组的奖励计算得出的。这种标准化处理有助于稳定训练过程,并使得不同输出间的比较更加公平。
关于旧策略和一组输出的解读:
旧策略 ():在强化学习(RL)的上下文中,“旧策略”指的是在当前训练迭代之前的那个策略版本。具体来说,在RL过程中,模型会不断地更新其策略以优化性能指标。每一次更新都会产生一个新的策略参数θ,而这个新策略就会成为下一次迭代中的“旧策略”。因此,旧策略并不是指预训练模型本身,而是指在当前训练循环开始前最后一次使用的策略版本。
一组输出():对于给定的问题q(即环境状态或任务),从旧策略
中采样一组输出意味着基于该旧策略为这个问题生成多个可能的解决方案或响应。每个输出
都代表了根据旧策略对特定输入采取的一系列行动后的结果或响应。换句话说,一组输出确实是指同一个问题,模型根据旧策略进行多次不同的尝试或模拟,每次尝试得到一个输出。
奖励建模
奖励信号直接决定了RL算法的优化方向。DeepSeek-R1-Zero采用基于规则的奖励,主要包括以下两种类型:
- 准确性奖励:用于评估响应是否正确。例如,在具有确定性结果的数学问题中,模型需要以指定格式(例如在方框内)提供最终答案,从而能够基于规则可靠地验证正确性。
- 格式奖励:强制模型将思考过程置于特定标签内(如<think>和</think>),以确保输出结构的一致性。
训练模板
为了训练DeepSeek-R1-Zero,作者设计了一个简单的模板指导基础模型遵循指定指令,首先生成推理过程然后给出最终答案。这种做法避免了内容特定偏见的影响,使研究人员能够准确观察模型在RL过程中的自然进展。
性能表现及自我进化过程
性能提升:随着RL训练的推进,DeepSeek-R1-Zero表现出稳定的性能提升。最终,DeepSeek-R1-Zero在AIME 2024基准测试上的pass@1分数从初始的15.6%显著提升至71.0%,接近OpenAI-o1-0912的表现。通过多数投票,其性能进一步提升至86.7%。
自我进化:图3展示了模型如何随着训练时间的增长而自发地改进其处理复杂推理任务的能力。包括反思先前步骤、探索解决问题的新方法等行为都是模型自主发展的结果。
“顿悟”时刻
在训练过程中,观察到了一个特别有趣的“顿悟”时刻。在这个阶段,DeepSeek-R1-Zero学会了通过重新评估其初始方法为问题分配更多的思考时间。例如,在尝试解决一个数学方程时,模型最初可能采取了一种直接但不完全正确的解法。但在“顿悟”时刻,模型会意识到需要调整策略,花更多的时间去分析问题,从而找到正确的答案。
尽管DeepSeek-R1-Zero展现了强大的推理能力,但是存在可读性差和语言混合等问题。为了改善这些问题并创建更易于阅读的推理过程,研究团队开发了DeepSeek-R1,它利用冷启动数据和多阶段训练流程来增强模型性能。
2、DeepSeek-R1
DeepSeek-R1是在DeepSeek-R1-Zero的基础上进一步发展而来的模型,旨在通过引入少量高质量数据作为冷启动,并采用多阶段训练流程来提升推理性能、加速收敛过程,同时生成更加用户友好的输出。
阶段1:冷启动
冷启动数据指的是在没有先前用户交互或行为数据的情况下,用来初始化系统或模型的数据集。该工作通过收集数千个冷启动数据来微调DeepSeek-V3-Base作为强化学习的起点。
数据集构建方式如下:
- 收集长CoT数据通过少样本提示、直接提示模型生成带有反思和验证的详细答案、收集DeepSeek-R1-Zero的输出并进行后处理,以及人工注释员的精炼等方式,收集了数千个高质量的长链式推理(CoT)数据。
- 改进输出格式定义了一个新的输出格式|special_token|<reasoning_process>|special_token|<summary>,确保每个响应都包含清晰的推理过程和总结,提高了输出的可读性和用户友好性。
阶段2:面向推理的强化学习
在此阶段,使用与DeepSeek-R1-Zero相同的大规模RL训练过程,但加入了冷启动数据微调后的起点。重点在于增强模型在编码、数学、科学等领域的推理能力,并引入语言一致性奖励以减少语言混合问题。最终奖励由推理任务的准确性加上语言一致性奖励组成。
阶段3:拒绝采样和监督微调
当面向推理的RL达到收敛时,利用达到收敛状态的模型检查点来生成SFT数据用于下一轮训练。此阶段不仅关注推理数据,还包括写作、角色扮演等非推理领域的数据,以增强模型的通用能力。具体措施包括:
- 推理数据通过拒绝采样方法从RL训练的检查点生成推理轨迹,并过滤掉不适合的内容,如语言混合的推理链、长段落和代码块。共收集了大约60万条训练样本。
- 非推理数据重用DeepSeek-V3的部分SFT数据集,并根据特定任务需求调整模型行为,例如对于简单查询不提供CoT响应。共收集了大约20万条训练样本。
阶段4:面向所有场景的强化学习
为了使模型更好地对齐人类偏好,提高有用性和无害性,因此实施了第二阶段的强化学习。该阶段包括:
- 推理领域:继续应用基于规则的奖励指导数学、代码和逻辑推理的学习。
- 一般领域:依赖奖励模型捕捉复杂场景中的人类偏好,特别是在评估模型响应的有用性和识别潜在风险方面。
蒸馏
为了使更高效的小型模型具备像DeepSeek-R1一样的推理能力,直接使用DeepSeek-R1生成的80万条样本对开源模型如Owen和Llama进行了微调。研究结果表明,这种简单的蒸馏方法显著增强了小型模型的推理能力。
对于蒸馏模型,仅应用SFT,不包括RL阶段,尽管加入RL可以显著提升模型性能,在这里的主要目标是展示蒸馏技术的有效性。
3、实验结果
指标:主要使用Pass@1(即模型生成的多个回答中,至少有一个是正确的比例)作为评估指标。对于某些任务,还报告了其他指标,如Codeforces的百分位数和Elo评分、多数投票(consensus)结果等。
baseline:DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini和OpenAI-o1-1217
主要结果
知识类基准测试:
在MMLU、MMLU-Pro和GPQA Diamond等教育类基准测试中,DeepSeek-R1显著优于DeepSeek-V3,接近OpenAI-o1-1217的性能。
在SimpleQA基准测试中,DeepSeek-R1优于DeepSeek-V3,但在中文C-SimpleQA中表现稍差,主要是由于安全强化学习导致模型拒绝回答某些问题。
编程和数学任务:
在数学任务(如AIME 2024、MATH-500)中,DeepSeek-R1的性能与OpenAI-o1-1217相当,显著优于其他模型。
在编程任务(如LiveCodeBench、Codeforces)中,DeepSeek-R1表现出色,Codeforces的Elo评分达到2029,超过96.3%的人类参赛者。
长文本理解和写作任务:
在FRAMES(长文本依赖的问答任务)中,DeepSeek-R1表现优异,显著优于DeepSeek-V3。
在AlpacaEval 2.0和ArenaHard(写作任务)中,DeepSeek-R1的性能显著优于其他模型,展现出强大的写作和开放域问答能力。
其他任务:
在IF-Eval(格式遵循能力测试)中,DeepSeek-R1表现良好,这归功于在最终阶段加入了指令遵循数据的监督微调和强化学习训练。
蒸馏模型结果
通过从DeepSeek-R1蒸馏到较小模型,可以显著提升这些模型的推理能力,使其在多个基准测试中优于现有的开源模型。此外,蒸馏方法比直接在小模型上进行大规模RL训练更有效,且计算成本更低。
蒸馏与RL对比结果
这一部分实验探索是否可以通过直接在小模型上进行大规模强化学习(RL)来实现与蒸馏模型相当的性能?
作者在Qwen-32B-Base模型上进行了大规模RL训练,使用数学、编程和STEM相关数据,训练了超过10K步,得到的模型称为DeepSeek-R1-Zero-Qwen-32B。
通过结果可以看到,从大型模型(如DeepSeek-R1)蒸馏到较小模型可以显著提升推理能力,且计算成本更低,直接在小模型上进行大规模RL训练需要大量的计算资源,且可能无法达到蒸馏模型的性能。蒸馏方法在经济性和有效性方面表现出色,可以更好地利用大型模型的推理模式,适合在资源有限的情况下提升模型性能。
4、总结
DeepSeek-R1确实很惊艳,论文中的两大贡献纯RL方法能够驱动LLMs自主进化出强大的推理能和蒸馏技术的验证非常有意义。
个人更关注蒸馏技术的意义,不仅挑战了传统观念中“模型越大越聪明”的看法,还为企业和个人提供了以更低的成本享受高性能AI的机会,也给了更多人在当前大算力需求下研究AI的入场券。
简单来说,蒸馏技术的意义在于它提供了一种有效的方法,让较小的AI模型能够“继承”更大、更复杂的模型(如拥有千亿参数的DeepSeek-R1)的推理能力和知识。
- 成本效益通过将大模型的知识迁移到小模型中,企业可以用较低的成本部署高效的AI解决方案。相较于传统的强化学习方法,蒸馏技术极大地降低了计算资源的需求,并缩短了开发周期。
- 性能提升经过蒸馏的小模型能够在多种任务上表现出接近大模型的性能,比如在数学推理和代码生成等任务上。某些情况下,蒸馏后的模型甚至能在移动设备上实现复杂推理,延迟低于500毫秒。
- 普及AI能力DeepSeek团队开源了多个不同规模的蒸馏模型,使得中小企业和学校能够利用消费级硬件部署强大的AI模型。这推动了AI技术的普及化和平民化,让更多人受益于先进的AI技术。
- 打破数据垄断与依赖大量人工标注数据的传统小模型不同,蒸馏技术直接从大模型中提取知识,减少了对稀缺标注资源的依赖,有助于打破数据垄断的局面。
- 未来发展方向蒸馏技术可能向动态蒸馏和跨模态蒸馏两个方向发展,前者使大模型能够在实时交互中持续指导小模型,实现终身学习;后者则旨在融合文本、代码、图像等多种模态的能力,使小模型成为全能助手。
总的来说,DeepSeek-R1的蒸馏技术是AI民主化进程中的重要一步,它展示了AI进化的新路径——不单纯依靠增加模型参数量,而是通过有效的知识迁移,让小模型也能成为“浓缩的精华”,在更多场景中发挥重要作用。