深度探索 DeepSeek-R1:突破强化学习模型的边界


📖阅读时长:25分钟

🕙发布时间:2025-02-09

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

虽然DeepSeek-R1-Zero通过纯强化学习(RL)展现出强大的推理能力,但它存在可读性欠佳和语言混杂等问题。为了攻克这些难题并进一步提升推理性能,研究者们推出了DeepSeek-R1。它采用了多阶段训练流程,涵盖冷启动阶段和强化学习过程。这一方法不仅解决了可读性问题,还借助精心整理的初始数据加速了模型收敛,提升了推理能力。

训练DeepSeek-R1的流程

DeepSeek-R1的训练流程包含四个关键阶段。以下将详细阐释论文中“冷启动(2.3.1)”和“面向推理的强化学习(2.3.2)”这两个概念。

冷启动

冷启动阶段在DeepSeek-R1的训练流程中至关重要,它主要是为了解决前作DeepSeek-R1-Zero所面临的挑战。与从零开始的纯强化学习不同,冷启动阶段能够稳定初始训练过程,为高效学习奠定基础。

为什么要冷启动?

在DeepSeek-R1-Zero中,直接使用强化学习进行训练,导致模型在训练早期收敛不稳定。纯强化学习使得模型输出不连贯,出现语言混杂现象,可读性很差。解决办法是在应用强化学习之前,利用一个包含详细推理示例的小型精选数据集对模型进行预训练。

冷启动的数据收集

为构建高质量的冷启动数据集,研究者探索了多种途径:

  • 少样本提示(Few-Shot Prompting):利用一些精心设计、带有长思维链(CoT)推理的示例来对基础模型进行提示。例如,为数学推导这类复杂问题提供多步骤的解决方案。
  • 直接提示(Direct Prompting):直接让基础模型生成详细答案,答案中要包含对解决方案的反思和验证。
  • 重用DeepSeek-R1-Zero输出(Reusing DeepSeek-R1-Zero Outputs):挑选并优化DeepSeek-R1-Zero中可读性高的输出内容。
  • 人工注释器的后处理(Post-Processing by Human Annotators):人工注释人员对模型的回复进行筛选、清理和格式调整,以保证内容清晰、连贯。
设计输出格式

为提升模型输出的可读性,研究者设计了一种结构化的输出格式:

|special_token|<推理过程>|special_token|<总结>

其中:

  • 推理过程(reasoning_process):包含针对查询的详细思维链。
  • 总结(summary):对推理结果进行简洁概括 。
冷启动数据的优势
  • 可读性(Readability):精选的数据能确保模型回复连贯、便于用户理解,避免了语言混杂的问题。
  • 性能提升(Performance Boost):提供带有人为先验知识的结构化数据,相比纯强化学习的训练方式,能让模型性能更优。
  • 迭代训练的基础(Foundation for Iterative Training):精心制作的冷启动数据集为后续的强化学习提供了坚实基础。
  • 普遍化(Generalization):预训练帮助模型在各种复杂推理任务中具备更好的泛化能力。

面向推理的强化学习

在冷启动阶段结束后,模型会进入大规模的面向推理的强化学习(RL)阶段,以此进一步提升推理能力。

主要目标

提升模型处理推理密集型任务的能力,比如:

  • 数学(Mathematics):进行复杂的多步骤推导。
  • 编码(Coding):完成算法设计并生成无错误代码。
  • 科学推理(Scientific Reasoning):通过结构化的解释来逻辑地解决问题。
  • 逻辑推理(Logical Reasoning):进行演绎和推理来解决问题 。
训练过程
  • 准确率奖励(Accuracy Reward):设计奖励系统,保证模型能为明确的问题提供正确答案。对于数学和编码任务,通过基于规则的检查来验证答案的正确性。
  • 缓解语言混合(Mitigating Language Mixing):在强化学习过程中,如果提示涉及多种语言,思维链输出常会出现语言不一致的情况,例如在一个回复中同时出现英语和中文。为此,研究者引入了语言一致性奖励,计算方式为目标语言单词在思维链中的占比。
  • 奖励组合(Reward Combination):最终的奖励信号由两部分组成:基于推理任务正确性的准确性奖励;确保以单一语言输出连贯、可读回复的语言一致性奖励。
训练融合

持续进行强化学习训练,直到模型收敛,这意味着模型在推理任务上具备稳定可靠的性能。

挑战和解决方案
  • 语言不一致(Language Inconsistency):通过语言一致性奖励来解决。
  • 收敛时间长(Long Convergence Times):通过平衡奖励信号和优化超参数,实现更快的收敛。
结果

面向推理的强化学习阶段显著提升了模型在AIME 2024和MATH-500等基准测试中的表现。模型不仅展现出强大的推理能力,输出内容也连贯且对用户友好。

抑制采样和监督微调(SFT)

这一阶段紧接在面向推理的强化学习(RL)过程收敛之后。目标是借助拒绝采样和集成监督微调(SFT),对模型进行进一步微调,使其能更好地处理推理和非推理任务,进而提升模型在不同任务领域的性能。

主要目标
  • 优化推理能力(Refine Reasoning Capabilities):挑选并微调最佳推理输出,以此提高模型的推理质量。
  • 展开常规功能(Expand General Capabilities):引入写作、角色扮演、事实性问答和翻译等非推理任务,打造更通用的模型。
  • 提高响应连贯性(Improve Response Coherence):过滤混乱的输出,保证模型生成的回复可读性强且逻辑一致。
推理数据的拒绝采样

拒绝采样是指针对给定提示生成多个候选回复,仅挑选最准确、连贯且逻辑合理的输出用于训练。

  • 步骤

    • 检查点选择(Checkpoint Selection):以面向推理的RL阶段的模型检查点作为起始点。
    • 数据生成(Data Generation):精心挑选推理提示,并从检查点为每个提示采样多个回复。
    • 评价标准(Evaluation Criteria):从准确性(推理和最终答案的正确性)、可读性(思维链的连贯性和清晰度)、语言一致性(单一语言回复,无语言混杂)这几个方面对回复进行评估。
    • 筛选过程(Filtering Process):丢弃混乱的回复、混合语言的输出、冗长冗余的段落和杂乱无章的代码块。
    • 最终选择(Final Selection):仅保留最佳回复用于下一阶段的训练。
  • 推理数据的数据集大小(Dataset Size for Reasoning Data):经过拒绝采样后,收集到约600,000个与推理相关的样本。
非推理数据的监督微调(SFT)

为拓展模型的通用能力,研究者将非推理任务融入训练过程。

  • 非推理数据类型(Types of Non - Reasoning Data)

    • 写作任务(Writing Tasks):包括创意写作、内容生成和摘要撰写。
    • 事实性问答(Factual Question Answering):用简洁准确的回复处理基于事实的查询。
    • 自我认知任务(Self - Cognition Tasks):进行角色扮演和上下文感知回复,模型在其中模拟特定角色或视角。
    • 翻译任务(Translation Tasks):实现不同语言间的翻译。
  • 非推理任务的数据管理(Data Curation for Non - Reasoning Tasks):部分重用DeepSeek-V3 SFT数据集来进行这些任务。对于复杂查询,会先让DeepSeek-V3生成潜在的思维链回复,再给出答案。
  • 数据集筛选(Dataset Filtering):像“Hello”这类简单查询,无需思维链推理即可处理。最终的数据集包含200,000个用于非推理任务的训练样本。
最终训练数据集

结合推理和非推理数据,最终得到共计800,000个样本。利用这个精选数据集,模型进行了两个轮次(epoch)的微调。

剔除采样和SFT的优势
  • 增强的推理性能(Enhanced Reasoning Performance):过滤混乱输出,提升了模型在推理任务上的准确性和连贯性。
  • 更广泛的任务覆盖范围(Broader Task Coverage):纳入非推理任务,使模型功能更加多样,能处理各种用户查询。
  • 提高可读性(Improved Readability):确保输出对用户友好,不存在语言混杂问题。
  • 更高的数据质量(Higher Data Quality):拒绝采样保证仅使用最优数据进行微调。

适用于所有场景的强化学习

这一阶段着重对DeepSeek-R1进行微调,使其能以符合人类偏好的方式处理推理和通用任务,确保模型给出有用、无害且高效的回复。

  • 目的:核心目标是将DeepSeek-R1优化得功能多样且性能稳健,使其能够执行数学、逻辑和编码等推理密集型任务;处理创意写作、事实问答和角色扮演等非推理任务;保证输出符合用户偏好(有用且无害)。
  • 训练过程

    • 推理数据(Reasoning Data):延续推理任务的基于规则的奖励机制,这些奖励聚焦于解决数学、编码和逻辑推理任务时的正确性和连贯性。
    • 一般数据(General Data):运用奖励模型融入类似人类的偏好。该奖励模型会评估回复的有用性、可读性和无害性 。
  • 用于微调的奖励模型:此阶段应用了两种奖励:

    • 乐于助人奖励(Helpfulness Reward):评估回复是否信息丰富、简洁明了且与任务相关。例如在事实性问答任务中,模型应给出直接准确的答案,而非冗长繁杂的回复。
    • 无害奖励(Harmlessness Reward):确保模型输出安全,不包含有害或有偏见的内容。评估涵盖从推理到最终总结的整个回复内容。
  • 结果

    • 增强的任务性能(Enhanced Task Performance):模型在所有基准测试中均有进步,能高效处理复杂推理和一般查询。
    • 符合用户期望(Alignment with User Expectations):使用符合人类偏好的奖励进行微调,让模型回复更加用户友好,不会引起反感。

蒸馏:为小模型赋能推理能力

蒸馏是将知识从较大的模型(教师模型)转移到较小的模型(学生模型)的过程,旨在在不牺牲性能的前提下创建更高效的模型。

  • 为什么选择蒸馏?像DeepSeek-R1这样的大型模型计算成本高昂,推理时需要大量资源。将知识提炼到较小模型中,可使其速度更快、更轻量,能够在计算能力有限的设备上部署。
  • 蒸馏工艺:研究者将DeepSeek-R1的推理能力提炼到较小模型中,如Qwen系列(70亿到320亿参数)和Llama系列(70亿、130亿参数)。

    • 师生培训(Teacher - Student Training):DeepSeek-R1作为教师模型,生成高质量的推理输出,较小模型则通过训练来复制这些输出。
    • 训练数据(Training Data):约800,000个精选的推理样本用于蒸馏,数据涵盖多种推理和非推理任务。
    • 优化技术(Optimization Techniques):运用监督学习和奖励引导的蒸馏方法,将DeepSeek-R1的知识进行转移。
  • 蒸馏模型的评估

    • DeepSeek-R1-Distill-Qwen-7B:性能优于直接通过强化学习训练的其他基线模型,展现出接近更大模型的推理能力。
    • 与OpenAI模型的比较:较小的蒸馏模型在推理基准测试中,性能与OpenAI的o1-mini模型相当,甚至超越了它们。
  • 蒸馏的优势

    • 效率(Efficiency):较小模型在训练和推理时所需的计算资源更少。
    • 推理能力保持(Reasoning Capability Preservation):蒸馏模型保留了较大的DeepSeek-R1模型的先进推理功能。
    • 可及性(Accessibility):使得在资源受限的环境(如边缘设备)中部署模型成为可能。
  • 蒸馏的好处示例:以数学解题任务为例,DeepSeek-R1的输出为<think> First, apply the quadratic formula... (detailed steps) </think> <answer> 5 </answer> ,蒸馏模型(Qwen-7B)的输出为<think> Let's apply the formula step by step... </think> <answer> 5 </answer> 。蒸馏模型在无需像大型模型那样强大计算能力的情况下,复制了详细的推理步骤。

结论

  • 冷启动:通过精心整理的数据,为训练提供了坚实且可读性强的基础。
  • 面向推理的强化学习:聚焦于准确性和语言一致性奖励,提升了模型的推理能力,使其在任务表现上更为出色。
  • 拒绝采样和监督微调的结合:显著增强了模型的推理和通用能力,确保DeepSeek-R1能产生准确、连贯且功能多样的输出,具备与领先模型竞争的实力。
  • 适用于所有场景的强化学习:保证DeepSeek-R1在推理和一般任务中均有良好表现,同时符合用户偏好。
  • 蒸馏:是一种极为有效的技术,能在保持强大推理能力的同时,让模型变得更加轻量。

本文由mdnice多平台发布


柏企科技圈
15 声望5 粉丝