🚀 DeepSeek-R1
Unsloth 助力大语言模型微调,速度提升 2 - 5 倍,内存占用降低 70%!本项目提供 DeepSeek-R1 系列模型,在推理任务上表现卓越,同时开源多个蒸馏模型,为研究社区带来新的突破。
🚀 快速开始
我们为 Qwen2.5 (7B) 准备了免费的 Google Colab Tesla T4 笔记本,点击链接即可使用:Qwen2.5 (7B) 笔记本。
模型下载
DeepSeek-R1 模型
DeepSeek-R1-Distill 模型
本地运行
DeepSeek-R1 模型
如需了解在本地运行 DeepSeek-R1 模型的更多信息,请访问 DeepSeek-V3 仓库。
DeepSeek-R1-Distill 模型
DeepSeek-R1-Distill 模型的使用方式与 Qwen 或 Llama 模型相同。以下是使用不同库启动服务的示例:
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --tensor-parallel-size 2 --max-model-len 32768 --enforce-eager
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --trust-remote-code --tp 2
使用建议
⚠️ 重要提示
在本地运行 DeepSeek-R1 系列模型之前,请务必查看使用建议部分。
💡 使用建议
为了获得预期的性能,在使用 DeepSeek-R1 系列模型(包括进行基准测试)时,建议遵循以下配置:
- 将温度设置在 0.5 - 0.7 范围内(建议设置为 0.6),以防止出现无限重复或输出不连贯的问题。
- 避免添加系统提示,所有指令应包含在用户提示中。
- 对于数学问题,建议在提示中包含类似“请逐步推理,并将最终答案放在 \boxed{} 内”的指令。
- 在评估模型性能时,建议进行多次测试并取平均值。
✨ 主要特性
- 快速微调:Unsloth 可使大语言模型的微调速度提升 2 - 5 倍,同时将内存占用降低 70%。
- 强大推理能力:DeepSeek-R1 系列模型在数学、代码和推理任务上的表现可与 OpenAI-o1 相媲美,其中 DeepSeek-R1-Distill-Qwen-32B 在多个基准测试中超越 OpenAI-o1-mini。
- 动态量化:Unsloth 的 DeepSeek-R1 1.58-bit + 2-bit 动态量化经过选择性量化,相比标准的 1-bit/2-bit 量化,显著提高了准确性。
- 开源多个蒸馏模型:基于 Llama 和 Qwen 开源了六个从 DeepSeek-R1 蒸馏而来的密集模型,为研究社区提供更多选择。
📚 详细文档
模型介绍
我们推出了第一代推理模型 DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是通过大规模强化学习(RL)直接在基础模型上训练得到的,无需监督微调(SFT)作为初步步骤。该模型在推理任务上表现出色,展现出自我验证、反思和生成长思维链(CoT)的能力。然而,它也存在一些问题,如无限重复、可读性差和语言混合等。为了解决这些问题并进一步提升推理性能,我们引入了 DeepSeek-R1,该模型在强化学习之前加入了冷启动数据。
模型训练
后训练:基础模型上的大规模强化学习
- 直接对基础模型应用强化学习(RL),无需监督微调(SFT)作为初步步骤。这种方法使模型能够探索思维链(CoT)来解决复杂问题,从而开发出 DeepSeek-R1-Zero。这是首次通过纯强化学习(无需 SFT)验证大语言模型推理能力的开放研究,为该领域的未来发展奠定了基础。
- 引入开发 DeepSeek-R1 的管道,该管道包含两个强化学习阶段和两个监督微调阶段。强化学习阶段旨在发现更好的推理模式并与人类偏好对齐,监督微调阶段则为模型的推理和非推理能力提供种子。
蒸馏:小模型也能强大
我们证明了大模型的推理模式可以蒸馏到小模型中,从而使小模型在推理任务上的表现优于通过强化学习在小模型上发现的推理模式。开源的 DeepSeek-R1 及其 API 将有助于研究社区未来蒸馏出更好的小模型。我们还使用 DeepSeek-R1 生成的推理数据微调了几个在研究社区广泛使用的密集模型,评估结果表明这些蒸馏后的小密集模型在基准测试中表现出色。
评估结果
DeepSeek-R1 评估
所有模型的最大生成长度设置为 32,768 个标记。对于需要采样的基准测试,我们使用温度为 0.6、top-p 值为 0.95 的设置,并为每个查询生成 64 个响应以估计 pass@1。详细评估结果如下表所示:
类别 |
基准测试(指标) |
Claude-3.5-Sonnet-1022 |
GPT-4o 0513 |
DeepSeek V3 |
OpenAI o1-mini |
OpenAI o1-1217 |
DeepSeek R1 |
|
架构 |
- |
- |
MoE |
- |
- |
MoE |
|
激活参数数量 |
- |
- |
37B |
- |
- |
37B |
|
总参数数量 |
- |
- |
671B |
- |
- |
671B |
英语 |
MMLU (Pass@1) |
88.3 |
87.2 |
88.5 |
85.2 |
91.8 |
90.8 |
|
MMLU-Redux (EM) |
88.9 |
88.0 |
89.1 |
86.7 |
- |
92.9 |
|
MMLU-Pro (EM) |
78.0 |
72.6 |
75.9 |
80.3 |
- |
84.0 |
|
DROP (3-shot F1) |
88.3 |
83.7 |
91.6 |
83.9 |
90.2 |
92.2 |
|
IF-Eval (Prompt Strict) |
86.5 |
84.3 |
86.1 |
84.8 |
- |
83.3 |
|
GPQA-Diamond (Pass@1) |
65.0 |
49.9 |
59.1 |
60.0 |
75.7 |
71.5 |
|
SimpleQA (Correct) |
28.4 |
38.2 |
24.9 |
7.0 |
47.0 |
30.1 |
|
FRAMES (Acc.) |
72.5 |
80.5 |
73.3 |
76.9 |
- |
82.5 |
|
AlpacaEval2.0 (LC-winrate) |
52.0 |
51.1 |
70.0 |
57.8 |
- |
87.6 |
|
ArenaHard (GPT-4-1106) |
85.2 |
80.4 |
85.5 |
92.0 |
- |
92.3 |
代码 |
LiveCodeBench (Pass@1-COT) |
33.8 |
34.2 |
- |
53.8 |
63.4 |
65.9 |
|
Codeforces (Percentile) |
20.3 |
23.6 |
58.7 |
93.4 |
96.6 |
96.3 |
|
Codeforces (Rating) |
717 |
759 |
1134 |
1820 |
2061 |
2029 |
|
SWE Verified (Resolved) |
50.8 |
38.8 |
42.0 |
41.6 |
48.9 |
49.2 |
|
Aider-Polyglot (Acc.) |
45.3 |
16.0 |
49.6 |
32.9 |
61.7 |
53.3 |
数学 |
AIME 2024 (Pass@1) |
16.0 |
9.3 |
39.2 |
63.6 |
79.2 |
79.8 |
|
MATH-500 (Pass@1) |
78.3 |
74.6 |
90.2 |
90.0 |
96.4 |
97.3 |
|
CNMO 2024 (Pass@1) |
13.1 |
10.8 |
43.2 |
67.6 |
- |
78.8 |
中文 |
CLUEWSC (EM) |
85.4 |
87.9 |
90.9 |
89.9 |
- |
92.8 |
|
C-Eval (EM) |
76.7 |
76.0 |
86.5 |
68.9 |
- |
91.8 |
|
C-SimpleQA (Correct) |
55.4 |
58.7 |
68.0 |
40.3 |
- |
63.7 |
蒸馏模型评估
模型 |
AIME 2024 pass@1 |
AIME 2024 cons@64 |
MATH-500 pass@1 |
GPQA Diamond pass@1 |
LiveCodeBench pass@1 |
CodeForces rating |
GPT-4o-0513 |
9.3 |
13.4 |
74.6 |
49.9 |
32.9 |
759 |
Claude-3.5-Sonnet-1022 |
16.0 |
26.7 |
78.3 |
65.0 |
38.9 |
717 |
o1-mini |
63.6 |
80.0 |
90.0 |
60.0 |
53.8 |
1820 |
QwQ-32B-Preview |
44.0 |
60.0 |
90.6 |
54.5 |
41.9 |
1316 |
DeepSeek-R1-Distill-Qwen-1.5B |
28.9 |
52.7 |
83.9 |
33.8 |
16.9 |
954 |
DeepSeek-R1-Distill-Qwen-7B |
55.5 |
83.3 |
92.8 |
49.1 |
37.6 |
1189 |
DeepSeek-R1-Distill-Qwen-14B |
69.7 |
80.0 |
93.9 |
59.1 |
53.1 |
1481 |
DeepSeek-R1-Distill-Qwen-32B |
72.6 |
83.3 |
94.3 |
62.1 |
57.2 |
1691 |
DeepSeek-R1-Distill-Llama-8B |
50.4 |
80.0 |
89.1 |
49.0 |
39.6 |
1205 |
DeepSeek-R1-Distill-Llama-70B |
70.0 |
86.7 |
94.5 |
65.2 |
57.5 |
1633 |
聊天网站与 API 平台
📄 许可证
本代码仓库和模型权重遵循 MIT 许可证。DeepSeek-R1 系列支持商业使用,允许进行任何修改和衍生作品,包括但不限于蒸馏训练其他大语言模型。请注意:
- DeepSeek-R1-Distill-Qwen-1.5B、DeepSeek-R1-Distill-Qwen-7B、DeepSeek-R1-Distill-Qwen-14B 和 DeepSeek-R1-Distill-Qwen-32B 基于 Qwen-2.5 系列,原始许可证为 Apache 2.0 许可证,现在使用 DeepSeek-R1 精心策划的 800k 样本进行微调。
- DeepSeek-R1-Distill-Llama-8B 基于 Llama3.1-8B-Base,原始许可证为 llama3.1 许可证。
- DeepSeek-R1-Distill-Llama-70B 基于 Llama3.3-70B-Instruct,原始许可证为 llama3.3 许可证。
🔧 技术细节
后训练
我们直接在基础模型上应用强化学习(RL),无需监督微调(SFT)作为初步步骤。这种方法使模型能够探索思维链(CoT)来解决复杂问题,从而开发出 DeepSeek-R1-Zero。该模型展示了自我验证、反思和生成长 CoT 的能力,是首次通过纯 RL(无需 SFT)验证大语言模型推理能力的开放研究。
为了开发 DeepSeek-R1,我们引入了一个包含两个 RL 阶段和两个 SFT 阶段的管道。RL 阶段旨在发现更好的推理模式并与人类偏好对齐,SFT 阶段则为模型的推理和非推理能力提供种子。
蒸馏
我们证明了大模型的推理模式可以蒸馏到小模型中,从而使小模型在推理任务上的表现优于通过 RL 在小模型上发现的推理模式。我们使用 DeepSeek-R1 生成的推理数据微调了几个在研究社区广泛使用的密集模型,并开源了这些蒸馏模型的检查点。
📚 参考资料
@misc{deepseekai2025deepseekr1incentivizingreasoningcapability
特别感谢
在此,我们要向 DeepSeek 团队表示衷心的感谢,感谢他们创建并发布了这些优秀的模型。