简介
最近几年,AI领域真是突飞猛进,尤其是大型语言模型(LLM),它们为通用人工智能(AGI)的发展打下了基础。OpenAI的o1模型就是个很好的例子,它用了一种创新的推理时间扩展技术,大大提升了推理能力。不过呢,这个模型还是闭源的,有点遗憾。
今天咱们来聊聊DeepSeek发布的一篇超有料的研究论文——DeepSeek-R1。这篇论文的标题是《DeepSeek-R1:通过强化学习激励大型语言模型中的推理能力》,里面介绍了一个超牛的开源推理模型,还详细讲解了怎么用大规模的强化学习技术来训练这种模型。
论文题目:《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
》
论文链接:https://arxiv.org/abs/2501.12948
大模型训练流程回顾
在咱们深入探讨那篇论文之前,先简单回顾一下大型语言模型(LLM)是怎么训练出来的。一般来说,LLM的训练可以分为三个主要阶段:
-
预训练:这个阶段,模型会“啃”大量的文本和代码,学习一些通用的知识。这个阶段的目标是让模型学会预测接下来该说什么。比如,给你一个句子“写一个就寝时间 _”,模型可能会填上“故事”这样的词。不过,这时候的模型还不太懂怎么按照人的指示来做事。
-
监督微调:接下来,模型会在一些指令数据集上进行微调。这些数据集里都是一些“指令-响应”对,响应用来作为标签。经过这个阶段,模型就能更好地理解和执行人类的指令了。
-
强化学习:最后,模型可以通过反馈来进一步提升。常见的方法有两种:一种是从人类反馈中学习(RLHF),另一种是从AI反馈中学习(RLAIF)。RLHF需要大量高质量的人类反馈,尤其是对于复杂任务,这挺有挑战的。所以,RLAIF就派上用场了,它让AI模型自己提供反馈。不过,这种方法得有个强大的模型来确保反馈的准确性。
DeepSeek-R1-Zero模型介绍
这篇论文有点特别,它直接跳过了或者部分跳过了监督微调这个阶段。具体来说,论文里提到的第一个模型——DeepSeek-R1-Zero,是从一个叫DeepSeek-V3-Base的预训练模型开始的,这个模型有6710亿个参数。有意思的是,它完全跳过了监督微调这一步。
为了大规模进行强化学习,论文里用了一种基于规则的强化学习方法,而不是传统的依赖人类或AI反馈的强化学习。这样一来,训练过程就简化了不少,效率也提高了。
基于规则的强化学习
GRPO 对给定输出进行多个输出采样,并指示模型选择最佳输出,对每个输出使用奖励
GRPO 是怎么干的?
-
输入问题,采样输出
首先,给模型一个输入问题,然后让它生成一堆输出。每个输出都包含一个推理过程和答案。 -
用规则打分
GRPO 会根据一些预定义的规则,给每个输出打分,也就是计算奖励。这些规则主要看两点:- 准确度:比如数学题,答案对不对可以直接检查;编程题的话,可以用测试用例来验证。
- 格式:模型得按照规定的格式输出。比如论文里要求推理过程放在
<think>
标签里,答案放在<answer>
标签里,格式奖励就是确保模型不乱来。
为啥用规则而不是神经模型?
- 简单又省钱:用规则打分不需要额外的神经模型,训练过程更简单,成本也更低,适合大规模搞。
- 避免奖励黑客:用神经模型打分的话,模型可能会钻空子,找到一些奇怪的方式来刷高分,但实际效果并不好。规则打分就没这个问题。
该模型被指示遵循一定的格式,在思考标签内生成推理过程,并在答案标签内回答
DeepSeek-R1-Zero 性能洞察
现在让我们探索 DeepSeek-R1-Zero 模型的一些性能见解。
DeepSeek-R1-Zero 与 OpenAI o1 的性能比较
在论文的上表中,我们看到了 DeepSeek-R1-Zero 和 OpenAI 的 o1 在推理相关基准上的比较。令人印象深刻的是,DeepSeek-R1-Zero 与 o1 相当,甚至在某些情况下超越了它。下面这张引人入胜的论文图表显示了在 AIME 数据集上测量的训练过程中的改进进展。值得注意的是,AIME 上的平均 pass@1 分数显著提高,从最初的 15.6% 跃升至令人印象深刻的 71.0%,达到与 OpenAI 的 o1 相当的水平!
DeepSeek-R1-Zero 训练过程中的改进进展
DeepSeek-R1-Zero 的自我进化过程
论文中的一个关键见解是模型的自我进化过程,如上图所示。x 轴表示训练步骤数,y 轴表示随着训练的进行,模型的响应长度增加。通过强化学习,模型自然学会在解决推理任务时分配更多的思考时间。令人惊讶的是,这无需任何外部调整即可实现。
“顿悟时刻”现象
论文中还提到了另一个有趣的现象,即 DeepSeek-R1-Zero 的“顿悟时刻”。论文中的以下示例演示了这一现象。给定一个数学问题,模型开始推理过程。然而,在某个时刻,模型开始重新评估其解决方案。模型学会重新评估其初始方法并在必要时自我纠正。这种非凡的能力在强化学习训练过程中自然出现。
模型学会重新评估其推理的顿悟时刻
DeepSeek-R1 模型的训练过程
现在让我们讨论一下第二个模型DeepSeek-R1的训练过程。但首先,既然我们刚刚看到了Zero如此出色的能力,为什么还需要第二个模型呢?
为什么还需要第二个模型 DeepSeek-R1?
虽然 DeepSeek-R1-Zero 表现得很厉害,但它有两个小问题:
- 可读性差:它的输出有时候读起来不太顺,有点难懂。
- 语言混乱:它经常在同一个回答里混用多种语言,比如一会儿中文一会儿英文。
这两个问题让 DeepSeek-R1-Zero 用起来没那么顺手。有意思的是,研究发现,如果强行让模型只用一种语言,它的表现反而会稍微变差。看来模型是学会了用多种语言来表达自己,虽然我们人类通常只用一种语言。
DeepSeek-R1 的训练流程
DeepSeek-R1 训练流程
DeepSeek-R1 采用四个阶段的流程进行训练:
冷启动(第 1 阶段)
- 从预训练模型 DeepSeek-V3-Base 开始,该模型在从 DeepSeek-R1-Zero 收集的小型结果数据集上进行监督微调。
- 这些结果经过验证,确保高质量和可读性。
- 该数据集包含数千个样本,规模相对较小。
- 在这个小型高质量数据集上进行监督微调,有助于 DeepSeek-R1 缓解在初始模型中观察到的可读性问题。
推理强化学习(第 2 阶段)
- 采用大规模强化学习来增强模型的推理能力。
- 重点提升编码、数学、科学和逻辑推理等任务的能力。
- 这些任务的明确解决方案可用于定义强化学习过程中的奖励规则。
拒绝采样和监督微调(第 3 阶段)
- 该阶段使用第 2 阶段的模型检查点来生成大量样本。
- 采用拒绝采样,仅保留正确且可读的样本。
- 训练奖励模型 DeepSeek-V3,用于决定应保留哪些样本。
- 此阶段还包括 DeepSeek-V3 的部分训练数据。
- 监督微调用于训练模型,使其在推理导向问题之外,增强在更多领域的能力。
多样化强化学习阶段(第 4 阶段)
- 该阶段包含多样化的任务:
- 对于允许的任务(例如数学),使用基于规则的奖励。
- 对于其他任务,LLM 提供反馈,使模型与人类偏好保持一致。
使用第 3 阶段的数据集提炼了各种较小的开源模型,提供了具有高推理能力的较小替代方案。
DeepSeek-R1 的出色效果
免费提供的DeepSeek-R1与 OpenAI 的 o1 模型相比的出色结果。论文中的上图显示了 DeepSeek-R1 不仅在某些基准上与 o1 相当,而且超越了 o1。
此外,320 亿参数蒸馏模型也表现出了令人印象深刻的性能,使其成为具有高推理能力的可行小型替代方案
原文:https://aipapersacademy.com/deepseek-r1/