DeepSeek R1 论文学习记录

360影视 2025-02-09 16:54 3

摘要:DeepSeek以MIT协议开源。论文可在Github上直接下载阅读,https://github.com/deepseek-ai/DeepSeek-R1。

DeepSeek R1是国产当红的大语言推理模型,由杭州幻方量化公司开发。它优秀的表现,低训练成本和低运营成本,像一颗核弹震惊了全球。

DeepSeek以MIT协议开源。论文可在Github上直接下载阅读,https://github.com/deepseek-ai/DeepSeek-R1。

出于好奇和个人兴趣,我阅读了其论文,这里做一个简要的学习记录。

DeepSeek使用纯强化学习(Reinforcement learning, RL)来训练其模型的推理能力。

目前主流模型都使用监督数据(Supervised data)来训练。监督数据简单而言就是由人工标注的“正确样本”测试数据集。监督数据有明显的缺点:

标注成本高。因为需要人工标记录。

受限于人类知识已有知识框架,难以突破既定模式。

RL是一种自我进化的过程。这让我想到了之前AlphaGo的训练模式,AlphGo就是通过自我对弈的方式来进化学习,在2016年战胜了韩国围棋九段李世石。

DeepSeek-R1-Zero

DeepSeek以DeepSeek-V3-Base为基础模型,使用GRPO强化学习算法来训练模型推理能力,训练出了DeepSeek-R1-Zero。经过了数千步的RL过程,DeepSeek-R1-Zero展现出了优异的推理能力,可以匹配OpenAI-o1-0912的能力。但DeepSeek-R1-Zero遇到了两个非常大的挑战:

可读性差

输出结果混合了多种不同的语言

DeepSeek-R1

为了解决DeepSeek-R1-Zero遇到的上面提到的两个问题,也为了进一步提高其推理能力,他们又训练出了DeepSeek-R1。主要是做了下面两件额外工作:

引入了少量的冷启动数据。

他们收集了少量优异的冷启动数据以更好地调优DeepSeek-V1-Base模型。

引入了多阶段的训练过程。

经过这两个优化,他们在Deep-Seek-V1-Base模型基础上训练出了一个新的版本,他们叫作DeepSeek-R1,经过测试可以匹配OpenAI-o1-1217的版本。

蒸馏出小模型

他们进一步探索从DeelSeek-R1蒸馏(distillation)出了一些小的模型。比如使用Qwen2.5-32b(阿里通义千问)作为基础模型,从 DeepSeek-R1 直接蒸馏的效果要好于在其上单独应用 RL。这表明更大的基础模型发现的推理模式对于提高推理能力是有很好的帮助。

DeepSeek引以为傲的对AI界的贡献

抛弃监督微调(Supervised fine-tuning, SFT),直接使用强化学习(RL)。这是首个公开研究并验证了 LLM 的推理能力可以纯粹通过 RL 来自主学习获得,而无需监督微调。展示了模型可以自主习得自我验证,反思和生成长思考链接的能力,这是AI研究界的一个显著里程碑。

引入了自己首创的训练流程。该流程包含两个 RL 阶段,旨在发现改进的推理模式并与人类偏好保持一致,以及两个 SFT 阶段,作为模型推理和非推理能力的种子。我们相信该流程将通过创建更好的模型使行业受益。

蒸馏

他们的工作展示了大模型的推理能力可以被蒸馏到小的模型,并且得到比直接应用在小模型上的RL方式更好的性能。

具体方法

通过抛弃监督微调数据,直接应用RL到基础模型训练出DeepSeek-R1-Zero。他们关注在让模型通过RL自我进化。

具体使用的是GPRO(Group Relatively Policy Optimization)强化学习算法。奖励模型。使用了基于规则的奖励系统 ,主要包括两部分:准确度奖励和格式奖励。其中格式奖厉促使模型将思考的过程放到和标记中。论文中特别提到他们在开发DeepSeek-R1-Zero时并没有使用输出或过程神经奖励,以避免奖励劫持和消耗更多的训练资源。(奖励劫持应该是指模型反现了一个思考路径上的漏洞直接获得奖励)。这也以应该是他们能达到低成本训练的一个原因,通过抛弃监督微调数据,直接应用RL到基础模型训练出DeepSeek-R1-Zero。他们关注在让模型通过RL自我进化。

性能,自我进化过程和Aha时刻他们测试显示随着训练迭代次数增加,其回答问题准确度也逐步稳定提高,如下图:

响应token的数量也随着训练的推进稳定的增加,代表思考过程更缜密,结果也将更准确和符合逻辑。这就像诺贝尔心理学获得者丹尼尔.卡尼曼提到的系统1(快思考)和系统2(慢思考),为了避免思考错误,我们应该要进入系统2慢思考模式。

他们提到思考时间的延长并不是外部参数的调整,而是模型自发发展出来的。神奇!他们注意到在推理过程中随着验证阶段(test-time)的时间增加,涌现出了一些复杂的思考行为模式。比如,反思(重新审视和评估先前的步骤),自发地探索替代方案。这些行为并不是编程控制而是模型在强化学习过程中自我涌现出来的。这就是AI的神奇之处了!

DeepSeek-R1-Zero的顿悟时刻(英文用的是Aha moment)。DeepSeek研究人员在DeepSeek-R1-Zero训练中的一个版本中发现,模型竟然用拟人的语气抛出了一句“wait, wait. Wait. That's an aha moment, I can flag here",模型意识到了之前分析的一些问题,开始重新审视和评估之前的步骤。真是神奇呀!

这不仅对Model是顿悟时刻,对DeepSeek研究者更是。它非常好地证明了强化学习的能力:我们并不是显式地教模型如何去解决一个问题,我们只需要简单地给它提供正确的奖励,它就会自主地发展出高级的问题解决策略。让我们看到了强化学习的美妙和强大之处。不过DeepSeek-R1-Zero也有个明显的缺点:可读性差和混合多种语言。

DeepSeek-R1: 使用冷数据启动的强化学习

为了解决上面DeepSeek-R1-Zero遇到的问题,他们设计了一个四阶段的训练过程:

使用冷启动数据来训练。使用少量长 CoT(Chain-of-Thoughts) 示例样本来微调DeepSeek-V3-Base,作为强化学习的起点。利用冷启动数据,提高了模型输出的可读性,也发现了更多潜力。这种潜力是通过精心设计具有人类先验的数据,使得其表现更好,这也是一种迭代训练模式。

推理导向的强化学习。这一阶段主要关注在增强模型的推理能力。像编程,数学,科学和逻辑推理。这些任务是具有良好定义的问题并且具有明确的答案。很适合机器大规模自主学习和验证。

不使用样本和监督微调。这一阶段主要是解决像写作 ,角色扮演和其他通用目的任务。通过生成了80万条样本( 60 万条与推理相关的训练样本,和 20 万条与推理无关的训练样本)对DeepSeek-V3-Base进行微调。

对全场景的强化学习。他们进行了第二轮强化学习,以对齐人类的偏好。通过这阶段强化学习优化模型,使其更符合人类偏好。具体方法分为能力提升与价值对齐两个方向:在推理能力训练中,沿用DeepSeek-R1-Zero的规则奖励机制,专项提升数学、编程和逻辑推理能力;在通用场景训练中则基于DeepSeek-V3框架,通过奖励模型捕捉复杂场景中的用户偏好

蒸馏:赋予小模型更强大的推理能力。使用了第三步中使用到的80万条精心挑选的样本微调了像Qwen和Llama这样开源小模型,显著地提高了这些小模型的推理能力。他们只使用了监督数据,而没有使用强化学习阶段,如果使用强化学习阶段效果将更为明显。

一些讨论

蒸馏 vs 强化学习。通过实验得出了两个结论:首先,将更强大的模型蒸馏到小模型中会产生出色的结果,而依赖本文中讨论的大规模 RL 的小模型需要巨大的计算资源,甚至可能无法达到蒸馏的性能。其次,尽管蒸馏策略既经济又有效,但要突破智能的边界,可能仍需要更强大的基础模型和更大规模的强化学习。

还分享了一些失败的经验,比如适用于AlphaGo学习时采用的蒙特卡洛树搜索算法,但遇到了搜索空间巨大等问题。

总结,限制和未来的工作。

这篇论文分享了通过强化学习(RL)增强模型推理能力的历程。DeepSeek-R1-Zero 代表了一种不依赖冷启动数据的纯 RL 方法,在各种任务中表现出色。

DeepSeek-R1 更强大,结合了冷启动数据和迭代 RL 微调。最终,DeepSeek-R1 在一系列任务中的表现与 OpenAI-o1-1217 相当。

进一步探索了将推理能力蒸馏到小密集模型中。使用 DeepSeek-R1 作为教师模型生成 80 万条数据,并对几个小密集模型进行了微调。结果令人鼓舞:DeepSeek-R1-Distill-Qwen-1.5B 在数学基准测试中优于 GPT-4o 和 Claude-3.5-Sonnet,AIME 得分为 28.9%,MATH 得分为 83.9%。其他密集模型也取得了令人印象深刻的成绩,显著优于基于相同底层检查点的其他指令调优模型。

他们计划在以下方向进行深入研究:

通用能力:目前,DeepSeek-R1 在函数调用、多轮对话、复杂角色扮演和 JSON 输出等任务中的能力不如 DeepSeek-V3。未来,我们计划探索如何利用长 CoT 来增强这些领域的任务。

语言混合:DeepSeek-R1 目前针对中文和英文进行了优化,这可能导致在处理其他语言的查询时出现语言混合问题。例如,DeepSeek-R1 可能会使用英文进行推理和响应,即使查询使用的是非英文或中文的语言。计划在未来的更新中解决这一限制。

提示工程:在评估 DeepSeek-R1 时,我们观察到它对提示敏感。少样本提示通常会降低其性能。因此,我们建议用户直接描述问题并使用零样本设置指定输出格式以获得最佳结果。

软件工程任务:由于评估时间较长,影响了 RL 过程的效率,大规模 RL 尚未广泛应用于软件工程任务。因此,DeepSeek-R1 在软件工程基准测试中并未显示出比 DeepSeek-V3 的巨大改进。未来的版本将通过实施拒绝采样或结合异步评估来提高效率。

通过学习这篇论文,让我们这些外围的AI爱好者都能深入了解和接触到当前最先进的AI 模型训练方法和遇到的问题,实在是难能可贵。并且今天看OpenAI内部高级研究员也证实DeepSeek他们独立的找到了他们用于训练 OpenAI o1版本的技术。相对于OpenAI这种闭源的方式, DeepSeek的开源模型和公开训练方式,对整个人类知识平权做出了更为巨大的贡献。

来源:opendotnet

相关推荐