大模型迎来2025开年大作:deepseek-R1与deepseek-R1-Zero
2025-01-20正式发布 DeepSeek-R1,并同步开源模型权重。
- DeepSeek-R1 遵循 MIT License,允许用户通过蒸馏技术借助 R1 训练其他模型。 DeepSeek-R1
- 上线API,对用户开放思维链输出,通过设置
model='deepseek-reasoner'
即可调用。 DeepSeek 官网与 - App 即日起同步更新上线。
论文地址:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf
开源地址:https://huggingface.co/deepseek-ai/DeepSeek-R1
一. 主要介绍
DeepSeek-R1-Zero 是一种通过大规模强化学习 (RL) 训练的模型,无需监督微调 (SFT) 作为初步步骤,在推理方面表现出色。在 RL 的帮助下,DeepSeek-R1-Zero 自然而然地出现了许多强大而有趣的推理行为。然而,DeepSeek-R1-Zero 面临着诸如无休止重复、可读性差和语言混合等挑战。
为了解决这些问题并进一步提高推理性能,我们引入了 DeepSeek-R1,它在 RL 之前整合了冷启动数据。DeepSeek-R1 在数学、代码和推理任务中实现了与 OpenAI-o1 相当的性能。为了支持研究社区,我们开源了 DeepSeek-R1-Zero、DeepSeek-R1 以及基于 Llama 和 Qwen 从 DeepSeek-R1 中提炼出的六个密集模型。 DeepSeek-R1-Distill-Qwen-32B 在各种基准测试中均优于 OpenAI-o1-mini,为密集模型取得了新的最先进成果。
二. 模型摘要
训练后:基础模型上的大规模强化学习
- 直接将强化学习 (RL) 应用于基础模型,而无需依赖监督微调 (SFT) 作为初步步骤。这种方法允许模型探索解决复杂问题的思路 (CoT),从而开发出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展示了自我验证、反思和生成长 CoT等功能,标志着研究界的一个重要里程碑。值得注意的是,这是第一个公开研究,验证了 LLM 的推理能力可以纯粹通过 RL 来激励,而无需SFT。这一突破为该领域的未来发展铺平了道路。
- 引入了用于开发 DeepSeek-R1 的流水线。该流水线包含两个 RL 阶段,旨在发现改进的推理模式并与人类偏好保持一致,以及两个 SFT 阶段,作为模型推理和非推理能力的种子。
蒸馏:小模型同样强大
-
证明了较大模型的推理模式可以提炼为较小的模型,与通过强化学习在小型模型上发现的推理模式相比,其性能更佳。开源的 DeepSeek-R1及其 API 将有利于研究界在未来提炼出更好的小型模型。
-
利用 DeepSeek-R1 生成的推理数据,对研究社区中广泛使用的多个稠密模型进行了微调。评估结果表明,经过提炼的较小稠密模型在基准测试中表现优异。向社区开源了基于 Qwen2.5 和 Llama3 系列的 1.5B、7B、8B、14B、32B 和 70B 检查点。
三. 使用指南
在线: DeepSeek官方网站chat.deepseek.com上与DeepSeek-R1聊天,并打开“DeepThink”按钮
API: 还在 DeepSeek 平台上提供与 OpenAI 兼容的 API:platform.deepseek.com
本地运行:
DeepSeek-V3 可以使用以下硬件和开源社区软件在本地部署:
- DeepSeek-Infer 演示:为 FP8 和 BF16 推理提供了一个简单、轻量级的演示。
- SGLang:完全支持 BF16 和FP8 推理模式下的 DeepSeek-V3 模型,并即将推出多令牌预测功能。
- LMDeploy:支持本地和云部署的高效 FP8 和BF16 推理
- TensorRT-LLM:目前支持 BF16 推理和 INT4/8 量化,即将支持 FP8。
- vLLM:支持具有FP8 和 BF16 模式的 DeepSeek-V3 模型,实现张量并行和流水线并行。
- AMD GPU:支持在 BF16 和 FP8模式下通过 SGLang 在 AMD GPU 上运行 DeepSeek-V3 模型。
- 华为AscendNPU:支持在华为Ascend设备上运行DeepSeek-V3。 由于我们的框架原生采用 FP8 训练,仅提供 FP8权重。如果需要 BF16 权重进行实验,则可以使用提供的转换脚本进行转换。
以下是将 FP8 权重转换为 BF16 的示例:
cd inference
python fp8_cast_bf16.py --input-fp8-hf-path /path/to/fp8_weights --output-bf16-hf-path /path/to/bf16_weights