DeepSeek 改进大型语言模型推理能力的新方法
DeepSeek 通过强化学习(RL)引入了一种创新方法,以提升大型语言模型(LLMs)的推理能力,这一方法在他们近期发布的论文《DeepSeek-R1》中有详细阐述。这项研究在通过纯强化学习而无需大量监督微调来增强 LLM 解决复杂问题的能力方面,代表了一个重要的进展。
DeepSeek-R1 的技术概述
模型架构:
DeepSeek-R1 不是一个单一的模型,而是一系列模型,包括:DeepSeek-R1-Zero 和 DeepSeek-R1。
让我说明一下 DeepSeek-R1 和 DeepSeek-R1-Zero 之间的关键区别:
主要区别
DeepSeek-R1-Zero 代表团队使用纯强化学习而不进行任何监督微调的初步实验。他们从基础模型开始,直接应用强化学习,让模型通过试错过程发展推理能力。虽然这种方法取得了令人印象深刻的结果(在 AIME 2024 上达到 71% 的准确率),但在可读性和语言一致性方面存在一些显著的限制。该模型拥有 6710 亿个参数,采用混合专家(MoE)架构,每个标记激活相当于 370 亿个参数。这个模型展现出了新兴的推理行为,如自我验证、反思和长链思维(CoT)推理。
相比之下,DeepSeek-R1 使用了更复杂的多阶段训练方法。它不是纯粹依赖强化学习,而是在应用强化学习之前,首先在一小部分经过精心挑选的示例(称为“冷启动数据”)上进行监督微调。这种方法解决了 DeepSeek-R1-Zero 的局限性,同时实现了更好的性能。该模型同样保持了 6710 亿参数,但在响应的可读性和连贯性方面表现更佳。
训练过程比较
训练方法论:
-
强化学习(RL): 与主要依赖监督学习的传统模型不同,DeepSeek-R1 广泛使用 RL。训练利用群体相对策略优化(GRPO),专注于准确性和格式奖励,以在不需要大量标签数据的情况下增强推理能力。
-
蒸馏技术: 为了普及高性能模型的访问,DeepSeek 还发布了从 15 亿到 700 亿参数的 R1 蒸馏版本。这些模型基于 Qwen 和 Llama 等架构,表明复杂的推理能力可以被封装在更小、更高效的模型中。蒸馏过程包括使用由完整 DeepSeek-R1 生成的合成推理数据对这些较小的模型进行微调,从而在降低计算成本的同时保持高性能。
DeepSeek-R1-Zero 的训练过程非常简单:
-
从基础模型开始
-
直接应用强化学习
-
使用基于准确性和格式的简单奖励
DeepSeek-R1 的训练过程则包括四个不同阶段:
-
使用数千个高质量示例进行初始监督微调
-
重点针对推理任务进行强化学习
-
通过拒绝采样收集新的训练数据
-
在所有类型的任务上进行最终的强化学习
性能指标:
-
推理基准测试: DeepSeek-R1 在各种基准测试中表现出色:
-
AIME 2024: 达到 79.8% 的通过率,相比之下,OpenAI 的 o1–1217 达到 79.2%。
-
MATH-500: 获得 97.3% 的高分,略高于 o1–1217 的 96.4%。
-
SWE-bench Verified: 在编程任务中表现优异,展示了其编程能力。
-
成本效益: DeepSeek-R1 的 API 定价为每百万输入标记 0.14 美元,对于缓存命中,显著低于类似模型如 OpenAI 的 o1。
局限性与未来工作
论文承认了几项需要改进的领域:
-
模型在需要特定输出格式的任务上有时会遇到困难
-
在软件工程任务上的性能可以进一步提升
-
在多语言环境中存在语言混合的挑战
-
少样本提示(Few-shot prompting)会持续降低性能
未来的工作将重点解决这些限制,并扩展模型在函数调用、多轮交互和复杂角色扮演场景等方面的能力。
部署与可访问性
开源与许可: DeepSeek-R1 及其变体在 MIT 许可下发布,促进了开源合作和商业使用,包括模型蒸馏。此举对于促进创新和降低 AI 模型开发的门槛至关重要。
模型格式: 两种模型及其蒸馏版本均提供 GGML、GGUF、GPTQ 和 HF 等格式,允许灵活地在本地部署。
通过 DeepSeek 聊天平台的网页访问
DeepSeek 聊天平台提供了一个用户友好的界面,可以无需任何设置即可与 DeepSeek-R1 互动。
访问步骤:
-
访问 DeepSeek 聊天平台
-
注册一个账号或登录已有账号
-
登录后,选择“Deep Think”模式,体验 DeepSeek-R1 的逐步推理能力
通过 DeepSeek API 访问
对于编程访问,DeepSeek 提供了与 OpenAI 格式兼容的 API,允许集成到各种应用中。
使用 API 的步骤:
a. 获取 API 密钥:
- 访问 DeepSeek API 平台创建账号并生成唯一的 API 密钥
b. 配置你的环境:
-
将 base_url 设置为 https://api.deepseek.com/v1
-
使用你的 API 密钥进行认证,通常通过 HTTP 头中的 Bearer Token
c. 进行 API 调用:
-
使用 API 发送提示并接收 DeepSeek-R1 的响应
-
详细的文档和示例可在 DeepSeek API 文档中找到
在本地运行 DeepSeek-R1
两种模型(R1 和 R1-Zero):
-
硬件要求: 由于其庞大的规模,完整模型需要显著的硬件支持。推荐使用具有大量 VRAM(如 Nvidia RTX 3090 或更高)的 GPU。对于 CPU 使用,至少需要 48GB 的 RAM 和 250GB 的磁盘空间,尽管没有 GPU 加速,性能会较慢。
-
蒸馏模型: 为了在资源需求较低的硬件上进行本地部署,DeepSeek 提供了蒸馏版本。这些模型的参数范围从 15 亿到 700 亿,使其适合具有更为适度硬件的系统。例如,7B 模型可以在至少 12GB VRAM 的 GPU 或在 CPU 上以 GGML/GGUF 格式运行,所需 RAM 大约为 16GB。
本地运行的软件工具:
-
Ollama:你可以使用 Ollama 在本地提供模型服务:Ollama 是一个用于在你的机器上本地运行开源 AI 模型的工具。你可以在 Ollama 下载页面 下载它。
接下来,你需要本地下载并运行 DeepSeek R1 模型。
Ollama 提供了不同大小的模型——基本上,模型越大,AI 越聪明,但需要更好的 GPU。以下是模型系列:
为了开始实验 DeepSeek-R1,建议从较小的模型开始,以熟悉设置并确保与你的硬件兼容。你可以通过打开终端并执行以下命令来启动这个过程:
ollama run deepseek-r1:8b
-
1.5B 版本(最小):
ollama run deepseek-r1:1.5b
-
8B 版本:
ollama run deepseek-r1:8b
-
14B 版本:
ollama run deepseek-r1:14b
-
32B 版本:
ollama run deepseek-r1:32b
-
70B 版本(最大/最智能):
ollama run deepseek-r1:70b
通过 Ollama 向本地下载的 DeepSeek-R1 发送请求:
Ollama 提供了一个 API ,可以以编程方式与 DeepSeek-R1 互动。确保 Ollama 服务器在本地运行后再进行 API 请求。你可以通过运行以下命令启动服务器:
ounter(line``ollama serve
服务器启动后,你可以使用 curl 发送请求,如下所示:
ounter(lineounter(lineounter(lineounter(lineounter(line``curl -X POST <http://localhost:11434/api/generate> -d '{` `"model": "deepseek-r1",` `"prompt": "你的问题或提示内容"``}'``
将“你的问题或提示内容”替换为你希望提供给模型的实际输入。该命令向本地 Ollama 服务器发送一个 POST 请求,服务器使用指定的 DeepSeek-R1 模型处理提示并返回生成的响应。
本地运行/访问模型的其他方法包括:
-
vLLM/SGLang: 用于本地提供模型。对于蒸馏版本,可以使用类似以下的命令:
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B — tensor-parallel-size 2 — max-model-len 32768 — enforce-eager
-
llama.cpp: 你也可以使用 llama.cpp 在本地运行模型。
结论
从 DeepSeek-R1-Zero 到 DeepSeek-R1 的这一进展,代表了研究中的重要学习历程。虽然 DeepSeek-R1-Zero 证明了纯强化学习的可行性,但 DeepSeek-R1 展示了将监督学习与强化学习相结合如何能够创建一个更强大且实用的模型。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。