菜单

DeepSeek-R1

相关源文件

目的与范围

本文档提供了关于 DeepSeek-R1 的详细信息,这是一个通过监督微调 (SFT) 和强化学习 (RL) 相结合来增强推理能力的大型语言模型。本页重点介绍 DeepSeek-R1 模型架构及其训练方法,该方法采用冷启动方法,然后进行强化学习。有关 DeepSeek-R1-Zero(使用纯 RL 而非 SFT)的信息,请参阅 DeepSeek-R1-Zero,有关从 DeepSeek-R1 衍生的蒸馏模型的信息,请参阅 蒸馏模型

来源: README.md33-38

模型架构

DeepSeek-R1 基于 DeepSeek-V3-Base 架构,采用了混合专家 (MoE) 设计。该模型的关键规格如下:

  • 总参数:6710 亿
  • 激活参数:370 亿
  • 上下文长度:128K词元

该模型通过 MoE 架构使用稀疏激活,使其能够保持大量的参数数量,同时在推理过程中只激活一小部分参数,从而平衡了计算效率和模型容量。

模型架构图:

来源: README.md78-79 README.md69-74

训练方法

DeepSeek-R1 遵循一种独特的训练方法,该方法解决了 DeepSeek-R1-Zero 模型中观察到的局限性(例如,无休止的重复、可读性差和语言混合)。训练流程包括监督微调 (SFT) 和强化学习 (RL) 阶段。

训练流程图:

训练阶段

  1. SFT 阶段 1(冷启动):这个初始的监督微调阶段为模型的推理能力提供了种子,提供了基础知识和技能。

  2. SFT 阶段 2:此阶段增强了模型在推理能力之外的能力,确保了在各种任务上的均衡表现。

  3. RL 阶段 1:第一个强化学习阶段侧重于发现改进的推理模式,优化模型的解决问题方法。

  4. RL 阶段 2:第二个 RL 阶段旨在使模型的输出与人类偏好保持一致,确保其响应是有用的、可读的且恰当的。

这种组合方法产生了一个模型,该模型在保持强化学习带来的强大推理能力的同时,解决了仅通过 RL 训练的模型中存在的可用性问题。

来源: README.md51-56 README.md33-38

能力和性能

DeepSeek-R1 在广泛的任务中表现出卓越的性能,在推理、数学和代码相关基准测试中取得了尤其优异的结果。该模型在各个领域取得了与 OpenAI-o1 相当的性能。

关键性能指标

类别基准测试DeepSeek R1OpenAI o1-1217OpenAI o1-mini
英语MMLU (Pass@1)90.891.885.2
英语MMLU-Redux (EM)92.9-86.7
英语DROP (3-shot F1)92.290.283.9
代码LiveCodeBench (Pass@1-COT)65.963.453.8
代码Codeforces (Rating)202920611820
数学AIME 2024 (Pass@1)79.879.263.6
数学MATH-500 (Pass@1)97.396.490.0
中文C-Eval (EM)91.8-68.9

涌现能力

DeepSeek-R1 通过其训练过程表现出多种涌现的推理行为,并得到了改进。

  1. 思维链推理:模型自然会发展出逐步推理的方法来解决复杂问题。
  2. 自我验证:检查自身工作并纠正错误的能力。
  3. 反思:评估自身推理质量的能力。

来源: README.md101-132 README.md38-39

使用指南

为了实现 DeepSeek-R1 的最佳性能,建议采用以下使用配置

  1. Temperature:设置为 0.6(可接受范围:0.5-0.7),以防止无休止的重复或不连贯的输出。
  2. 无系统提示:所有指令都应包含在用户提示中。
  3. 数学问题格式:包含指令,如“请逐步思考,并将最终答案放在 \boxed{} 内。”
  4. 思考模式:强制模型以“<think>\n”开始其响应,以确保充分的推理。

示例提示结构图:

部署选项

可以通过多种渠道访问 DeepSeek-R1

  1. Web 界面:可在 chat.deepseek.com 访问,并启用“DeepThink”选项。
  2. API:通过 DeepSeek 平台 platform.deepseek.com 访问。
  3. 本地部署:可以按照 DeepSeek-V3 仓库中的说明在本地运行。

来源: README.md186-196 README.md157-166

与其他家族模型的比较

DeepSeek-R1 是一个更广泛的模型家族的一部分,该家族包括不同的训练方法和模型大小。

模型家族比较:

与 DeepSeek-R1-Zero 的主要区别

DeepSeek-R1 和 DeepSeek-R1-Zero 之间的主要区别在于它们的训练方法

  1. DeepSeek-R1-Zero:仅通过强化学习进行训练,没有 SFT,这产生了涌现的推理能力,但也导致了无休止的重复、可读性差和语言混合等问题。

  2. DeepSeek-R1:在应用强化学习之前,整合了冷启动方法和监督微调,保持了强大的推理能力,同时解决了 DeepSeek-R1-Zero 的可用性问题。

来源: README.md33-38 README.md51-56

知识蒸馏

DeepSeek-R1 作为知识蒸馏的源模型,用于创建保留其推理能力的小型、更易于访问的模型。此过程涉及使用 DeepSeek-R1 生成高质量的推理数据,并使用这些数据来微调基于 Qwen 和 Llama 架构的更小型模型。

蒸馏过程图:

蒸馏后的模型在性能和资源要求之间提供了不同的权衡,例如 DeepSeek-R1-Distill-Qwen-32B 这样的大型蒸馏模型,其性能接近 OpenAI o1-mini 这样的大型专有模型。

来源: README.md60-63 README.md81-97