近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

在过去十年里,人工智能的进步令人惊叹。这其中大部分进展源于谷歌在2017年发布的开创性论文《Attention Is All You Need》。从那以后,其他公司基于该论文中探讨的理念(Transformer架构),致力于打造强大的大语言模型(LLMs)。

其中一家公司——OpenAI,在Transformer发布之前,主要专注于强化学习(RL)。后来,它将发展方向转向大语言模型,并从谷歌的开源研究中受益匪浅。

尽管OpenAI最初是一个致力于普及人工智能的组织,但最终它的研究成果和产品都变成了专有性质。OpenAI发布的最后一个开源模型是GPT-2,于2019年11月公开发布。从那以后,他们所有的模型进展都处于保密状态。

几个月前,OpenAI发布了“o1”。他们肯定有了非凡的发现,并通过长时间的思维链(Chain-of-Thought)和强化学习,让新的大语言模型在解决复杂问题时能进行更深入的思考。但这个过程具体是怎样实现的呢?没人知道。

现在,情况有所改变。中国公司DeepSeek刚刚发布了他们的最新模型“DeepSeek-R1”。这个模型能够像OpenAI的o1一样,在复杂领域进行推理。这个大语言模型非常出色,在多个数学和编码基准测试中表现优于o1。

DeepSeek-R1的基准测试性能

即使是从DeepSeek-R1提炼出的较小大语言模型,其表现也优于OpenAI的o1-mini、GPT-4o,以及Anthropic的Claude 3.5 Sonnet等模型。接下来,让我们深入探究DeepSeek-R1是如何训练的,以及这些成果将如何以前所未有的速度推动人工智能的进步。

让我们开始吧!

但首先,大语言模型通常是如何训练的呢?

大语言模型的训练始于收集大量文本数据。这些数据来自网络上的公开资源,有时也来自专有资源。

用于训练GPT-3的数据集(图片取自arXiv研究论文《Language Models are Few-Shot Learners》)

这些数据经过清洗、格式化、标记化处理,并转换为文本嵌入。接下来,使用强大的GPU/TPU,通过自监督学习在这些未标记的数据上训练大语言模型。这一步被称为预训练,有助于教会大语言模型语言的结构(语法、语义和上下文关系) 。

然后,使用相关数据集对预训练的大语言模型进行监督微调(SFT),以提高其在特定任务/领域(数学推理、编码、机器翻译等)上的性能。经过监督微调的大语言模型,还需要根据人类偏好进行校准,以防止产生有害回复,常用的方法有:使用近端策略优化(PPO)的人类反馈强化学习(RLHF) ,或直接偏好优化。

正如OpenAI一篇介绍o1的博客中所说,强化学习(RL)也被用于提高大语言模型的思维链推理能力。这也是DeepSeek-R1带来诸多优势的秘诀所在。让我们来了解一下具体情况。

用强化学习取代监督微调

DeepSeek团队的实验以DeepSeek-V3-Base作为预训练基础模型。接下来,他们没有使用监督微调,而是直接通过强化学习对其进行训练,以提高推理性能。这使得模型能够在没有任何监督数据的情况下发展推理能力,并在这个过程中自我进化。

他们没有使用OpenAI开发的流行策略优化算法近端策略优化(PPO),而是使用了内部开发的算法——组相对策略优化(GRPO)。下一节将介绍它们的区别。

PPO与GRPO

在PPO中,一个策略模型与一个评论家/价值模型协同工作,使用广义优势估计(GAE)来计算优势A。GRPO则去除了评论家/价值模型,并根据一组采样输出的相对奖励来计算优势。这降低了强化学习的计算复杂度和训练成本。

查看它们的公式,GRPO将参考策略的KL散度直接整合到损失中,而PPO在奖励计算过程中间接对其进行惩罚。下面的图片进一步展示了这些差异。

强化学习训练的更多细节

给予模型的奖励决定了它优化自身的方向。在这个模型训练案例中,研究人员使用基于规则的奖励系统,而不是结果/过程神经奖励模型。(这是因为使用神经奖励模型时,评估过程更加模糊,可能导致奖励作弊,并且重新训练需要大量计算成本。)

两种类型的奖励相结合,以指导强化学习过程:

  1. 准确率奖励:由准确率奖励模型根据基于规则的验证判断被训练模型的响应是否正确来给予。
  2. 格式奖励:如果正在训练的模型在响应中遵循特定格式(例如,将其思考过程放在标签之间),则由格式奖励模型给予。

在训练时,一个模板会引导基础模型(DeepSeek-V3-Base)遵循指令。该模板确保模型首先输出其推理过程(在标签内),然后是答案(在标签内)。这个模板特意设计得很简单,以便模型根据自己认为最佳的方式进行探索和进化(而不是促使模型遵循特定的推理策略)。

用于强化学习训练的模板。训练时,“prompt”会被具体的推理问题所取代

以这种方式训练基础模型,就得到了DeepSeek-R1-Zero。下面的流程图总结了训练过程。

DeepSeek-R1-Zero有多好?

随着强化学习训练的推进,DeepSeek-R1-Zero在2024年美国数学邀请赛(AIME)上的首次通过率(pass@1)平均准确率从15.6%提高到了71%。这已经接近OpenAI o1的水平。

DeepSeek-R1-Zero在训练期间AIME(2024)准确率的提升

有两个指标用于比较这些模型的准确性:

  1. pass@1:这是模型对给定查询的首次输出正确的概率。
  2. const@n:这个指标是为给定查询生成n个响应,然后使用多数投票来确定最终答案。

结果显示,在2024年AIME的const@64指标上,DeepSeek-R1-Zero击败了OpenAI o1(准确率分别为83.3%和86.7%)!

DeepSeek-R1-Zero和OpenAI o1在不同推理相关基准测试中的比较

强化学习训练期间的一些有趣发现

随着强化学习训练的不断深入,研究人员观察到,模型通过增加测试时的计算量和生成数千个推理标记进行深入思考,学会了解决越来越复杂的问题。

在模型与强化学习环境交互的过程中,自我反思(模型回顾并重新评估其先前步骤)、回溯和探索替代方案等行为自然地出现。随着训练的进行,每个响应的平均长度增加。这表明DeepSeek-R1-Zero自然地学会了通过更多的思考时间来解决复杂问题。

在模型训练的中间版本中出现了一个有趣的时刻,在解决一个复杂的数学问题时,模型决定花更多时间思考并重新评估其初始方法。看起来模型突然意识到自己可以更好地思考,就像出现了一个 “顿悟时刻”!

DeepSeek-R1-Zero的一个中间版本和研究团队注意到的有趣 “顿悟时刻”

但DeepSeek-R1-Zero并不完美

虽然纯强化学习训练对于模型中推理方法的出现非常有效,但完全避免监督微调也会带来一些问题。DeepSeek-R1-Zero会混合不同的语言,并且格式也不合适,导致其推理过程的可读性较差。

为了确保生成的响应清晰连贯,研究人员进一步进行实验,在强化学习之前先使用监督微调来训练基础模型。

强化学习前进行监督微调能构建更好的模型吗?

为了测试这种方法,研究人员首先收集了少量长思维链(CoT)数据(他们称之为 “冷启动数据” )。这些数据来自各种来源:

  1. 通过少样本提示不同的大语言模型生成长思维链示例。
  2. 通过提示不同的大语言模型生成带有反思和验证的详细查询答案。
  3. 从DeepSeek-R1-Zero收集可读性良好的输出。

接下来,所有这些推理数据在人类注释者的帮助下进行筛选和优化。优化后的长思维链数据具有如下预定义的输出格式:
|special_token| <推理过程> |special_token| <总结>

  1. <推理过程>是对查询的思维链。
  2. <总结>是每个响应末尾推理结果的总结。

最后,在这些长思维链数据上对DeepSeek-V3-Base模型进行监督微调。

在监督微调模型中进一步强化学习以提高推理能力

监督微调之后,模型会经历与之前训练DeepSeek-R1-Zero相同的强化学习训练过程。然而,这一次,在整体模型奖励中引入了一个新的语言一致性奖励,以避免语言混合问题。

这个奖励基于思维链中属于目标语言的单词比例,模型在响应中使用的目标语言单词越多,获得的奖励就越高。整体强化学习训练奖励是将这个奖励直接与训练DeepSeek-R1-Zero时讨论的奖励相加得到的。

这样做的目的是在保持响应语言清晰连贯的同时,提高模型的推理能力。强化学习的这一部分被称为面向推理的强化学习。(消融实验表明,使结果更具可读性会导致模型性能略有下降,这是一个值得注意的有趣点。)

通过监督微调实现进一步的迭代自我改进

这一步完成后,得到的模型作为一个检查点,用于获取更多数据,以便对其自身进行进一步的监督微调。这些数据的形式如下:

  1. 推理数据:通过拒绝采样,促使上述模型检查点生成多个推理轨迹(长思维链),并使用预定义规则或生成模型(DeepSeek-V3)拒绝不合适的样本,从而获得60万个与推理相关(数学、代码和逻辑方面)的训练样本。
  2. 非推理数据:通过促使DeepSeek-V3生成或从训练DeepSeek-V3时使用的监督微调数据中获取20万个训练样本。这些数据与推理无关,而是与写作、事实性问答、自我认知和语言翻译等任务相关。

总共这80万个样本将进一步用于对模型进行监督微调。

使模型符合人类偏好

请注意,虽然上述步骤侧重于推理和非推理任务,但为了使模型无害且有用,仍然需要使其符合人类偏好。这通过二次强化学习阶段来完成。

为了使推理响应符合人类偏好,使用了基于规则的奖励,这与之前训练DeepSeek-R1-Zero时讨论的类似。对于非推理响应,在其人类反馈强化学习训练中,使用基于DeepSeek-V3构建的符合人类偏好的奖励模型。

至此,DeepSeek-R1的训练完成。下面的流程图描述了完整的过程。

将DeepSeek-R1提炼为更小的模型

如果你不了解知识蒸馏,这是一种利用大型复杂模型(教师模型)来训练更小、更简单且内存效率更高的模型(学生模型)的技术。这个过程的目的是将教师模型的知识转移到学生模型中,以便可以在资源受限的环境中部署学生模型,同时其性能仍能与教师模型相当。

还记得之前从DeepSeek-R1模型检查点获得的80万个训练样本吗?这些样本用于通过监督微调提炼多个通义千问(Qwen)和Llama模型。在这个过程中提炼的基础模型如下(括号内为得到的模型):

  1. Qwen2.5-Math-1.5B(得到DeepSeek-R1-Distill-Qwen-1.5B)
  2. Qwen2.5-Math-7B(得到DeepSeek-R1-Distill-Qwen-7B)
  3. Qwen2.5-14B(得到DeepSeek-R1-Distill-Qwen-14B)
  4. Qwen2.5–32B(得到DeepSeek-R1-Distill-Qwen-32B)
  5. Llama-3.1–8B(得到DeepSeek-R1-Distill-Llama-8B)
  6. Llama-3.3–70B-Instruct(得到DeepSeek-R1-Distill-Llama-70B)

请注意,提炼出的模型不进行强化学习训练。

DeepSeek-R1有多好?

DeepSeek-R1在以下方面优于DeepSeek-V3:

  1. 面向教育的知识基准测试(MMLU、MMLU-Pro、GPQA Diamond)
  2. 长上下文相关问答基准测试(FRAMES)
  3. 事实性基准测试(SimpleQA)
  4. 写作任务和开放域问答(通过AlpacaEval2.0和ArenaHard进行评估),它在这些任务中生成的结果相对简洁。

它在遵循格式指令方面也表现出色,IF-Eval基准测试的优异成绩证明了这一点。在数学推理基准测试(AIME和MATH-500)、编码基准测试(LiveCodeBench、SWE Verified和Codeforces)方面,它的性能与OpenAI o1相当(甚至更优)。这些结果对于开源模型来说是巨大的胜利!

DeepSeek-R1与其他流行大语言模型在语言、编码和数学基准测试中的比较

提炼出的较小模型表现如何?

与其他具有类似能力的流行大语言模型相比,用DeepSeek-R1的输出提炼出的不同通义千问和Llama模型也产生了惊人的结果。

DeepSeek-R1-Distill-Llama-70B在大多数基准测试中显著超过OpenAI o1-mini(以及其他竞争大语言模型)。同样,DeepSeek-R1-Distill-Qwen-32B在AIME(2024)基准测试的首次通过率(pass@1)上表现优于其他模型,尤其是OpenAI o1-mini。

从DeepSeek-R1提炼出的模型与其他可比模型在推理相关基准测试中的比较

值得注意的是,这些结果仅仅是在监督微调之后得到的,这显示了DeepSeek-R1在知识传授方面的强大能力。

你一定在想,如果我们使用训练DeepSeek-R1-Zero的强化学习过程来训练这些较小的模型,而不仅仅是提炼它们,会发生什么呢?研究人员也考虑到了这一点。

为了回答这个问题,他们使用数学、代码和STEM数据对Qwen-32B模型进行强化学习训练,创建了DeepSeek-R1-Zero-Qwen-32B。

DeepSeek-R1-Distill-Qwen-32B的训练过程

这个模型的能力强大到足以与通义千问系列的高级推理模型QwQ-32B-Preview相媲美。然而,从DeepSeek-R1提炼出的DeepSeek-R1-Distill-Qwen-32B在所有基准测试中的表现都明显优于它和QwQ-32B-Preview!这表明了从更大、更智能的模型进行知识蒸馏的过程是多么强大!

提炼/强化学习训练的较小模型与QwQ-32B-Preview之间的比较

训练DeepSeek-R1的成本是多少?

DeepSeek-R1有6710亿个参数,基于混合专家(MoE)架构(就像它所基于的基础模型DeepSeek V3一样)。虽然原始研究论文没有描述训练它的成本,但我引用《自然》杂志发表的一篇新闻文章中的估计:“专家估计,训练该模型(V3)所需的硬件租赁成本约为600万美元,相比之下,Meta的Llama 3.1 4050亿参数模型使用了11倍的计算资源,成本超过6000万美元。”

训练GPT-4的成本可能是1亿美元,而o1的训练成本尚未公开(也许是10 - 20倍?不太确定)。与之相比,即使DeepSeek-R1的训练成本是DeepSeek-V3的10倍,也显得微不足道。

对于终端用户来说,使用o1的成本是每100万个输出令牌60美元。而对于DeepSeek-R1,这个价格仅为每100万个输出令牌2.19美元。换句话说,使用OpenAI的o1比DeepSeek-R1贵27倍。

但DeepSeek-R1并不完美,对吧?

是的,这个模型并非在所有任务中都是最好的。在以下任务中,它不如DeepSeek-V3:

  1. 函数调用
  2. 多轮对话
  3. 复杂角色扮演
  4. JSON输出生成

在软件工程基准测试方面,它也没有比DeepSeek-V3好多少。原因是它没有在这些任务上进行大规模强化学习训练。

该模型针对中文和英文进行了优化,即使查询使用的是其他语言,它在推理和响应时可能仍然会使用这两种语言。此外,还发现少样本提示会降低模型性能。因此,为了获得最佳结果,建议直接描述问题,并使用零样本提示指定输出格式。

推荐阅读

1. 专家混合(MoE)大语言模型:免费的嵌入模型新宠

2. LLM大模型架构专栏|| 从NLP基础谈起

3. AI Agent 架构新变革:构建自己的 Plan-and-Execute Agent

4. 探索 AI 智能体工作流设计模式

5. 探秘 GraphRAG:知识图谱赋能的RAG技术新突破

6. 解锁 RAG 技术:企业数据与大模型的完美融合之道


后续我们会持续带来更多相关技术的深度解析和实践案例,敬请关注公众号 柏企科技圈柏企阅文