DeepSeek R1 简单指南:架构、训练、本地部署和硬件要求

DeepSeek 的 LLM 推理新方法

DeepSeek 推出了一种创新方法,通过强化学习 (RL) 来提高大型语言模型 (LLM) 的推理能力,其最新论文 DeepSeek-R1 对此进行了详细介绍。这项研究代表了我们如何通过纯强化学习来增强 LLM 解决复杂问题的能力,而无需过度依赖监督式微调,这是一个重大进步。

DeepSeek-R1 技术概述

模型架构:

DeepSeek-R1 不是一个单一的模型,而是一个模型系列,包括:DeepSeek-R1-ZeroDeepSeek-R1

让我澄清一下 DeepSeek-R1 和 DeepSeek-R1-Zero 之间的主要区别:

主要区别

DeepSeek-R1-Zero代表了该团队使用纯强化学习进行的初步实验,没有任何监督式微调。他们从基础模型开始,直接应用强化学习,让模型通过反复试验来开发推理能力。虽然这种方法取得了令人印象深刻的结果(AIME 2024 上的准确率为 71%),但它有一些明显的局限性,特别是在可读性和语言一致性方面。它具有 6710 亿个参数,采用混合专家 (MoE) 架构,其中每个标记激活相当于 370 亿个参数。该模型展示了新兴的推理行为,例如自我验证、反思和长链思维 (CoT) 推理。

相比之下, DeepSeek-R1采用了更复杂的多阶段训练方法。它不是采用纯粹的强化学习,而是先对一小组精心挑选的示例(称为“冷启动数据”)进行监督微调,然后再应用强化学习。这种方法解决了 DeepSeek-R1-Zero 的局限性,同时实现了更好的性能。该模型还保留了 6710 亿个参数,但在响应中实现了更好的可读性和连贯性。

训练过程对比

培训方法:

  • 强化学习:与主要依赖监督学习的传统模型不同,DeepSeek-R1 广泛使用强化学习。训练利用组相对策略优化 (GRPO),专注于准确性和格式奖励,以增强推理能力,而无需大量标记数据。
  • 提炼技术:为了使高性能模型的普及,DeepSeek 还发布了 R1 的提炼版本,参数范围从 15 亿到 700 亿。这些模型基于 Qwen 和 Llama 等架构,表明复杂的推理可以封装在更小、更高效的模型中。提炼过程涉及使用完整 DeepSeek-R1 生成的合成推理数据对这些较小的模型进行微调,从而以较低的计算成本保持高性能。

DeepSeek-R1-Zero 的训练过程非常简单:

  • 从基础模型开始
  • 直接应用强化学习
  • 根据准确性和格式使用简单的奖励

DeepSeek-R1 的训练过程分为四个不同的阶段:

  1. 使用数千个高质量示例进行初始监督微调
  2. 强化学习专注于推理任务
  3. 通过拒绝抽样收集新的训练数据
  4. 针对所有类型任务的最终强化学习

绩效指标:

  • 推理基准: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 等同类模型便宜得多。

局限性和未来工作

论文承认了几个需要改进的领域:

  • 该模型有时会在需要特定输出格式的任务上遇到困难
  • 软件工程任务的性能可以提高
  • 多语言环境中的语言混合存在挑战
  • 少量提示会持续降低表现

未来的工作将集中于解决这些限制并扩展模型在函数调用、多轮交互和复杂角色扮演场景等领域的功能。

部署和可访问性

  • 开源和许可:DeepSeek-R1 及其变体在 MIT 许可下发布,促进开源协作和商业使用,包括模型提炼。此举对于促进创新和降低 AI 模型开发的准入门槛至关重要。
  • 模型格式:
  • 这两种模型及其提炼版本均采用 GGML、GGUF、GPTQ 和 HF 等格式,从而可以灵活地在本地部署。

1.通过DeepSeek聊天平台进行网页访问:

DeepSeek 聊天平台提供了用户友好的界面,无需任何设置要求即可与 DeepSeek-R1 进行交互。

  • 访问步骤
  • 导航至DeepSeek 聊天平台
  • 注册一个帐户,如果已有帐户,请登录。
  • 登录后,选择“深度思考”模式,即可体验DeepSeek-R1的一步步推理能力。

DeepSeek 聊天平台

2.通过DeepSeek API访问:

对于编程访问,DeepSeek 提供了与 OpenAI 格式兼容的 API,允许集成到各种应用程序中。

使用API​​的步骤

a. 获取 API 密钥

  • 访问DeepSeek API 平台创建帐户并生成你的唯一 API 密钥。

b.配置的环境

  • 将 设置base_urlhttps://api.deepseek.com/v1
  • 使用你的 API 密钥进行身份验证,通常通过 HTTP 标头中的 Bearer Token 进行。

c. 进行 API 调用

  • 利用 API 发送提示并接收来自 DeepSeek-R1 的响应。
  • DeepSeek API 文档中提供了详细的文档和示例。

DeepSeek API 调用示例

3. 在本地运行 DeepSeek-R1:

两种型号(R1 和 R1-Zero):

  • 硬件要求:完整模型由于其大小而需要大量硬件。建议使用具有大量 VRAM 的 GPU(如 Nvidia RTX 3090 或更高版本)。对于 CPU 使用,你至少需要 48GB 的​​ RAM 和 250GB 的磁盘空间,尽管如果没有 GPU 加速,性能会很慢。
  • 精简模型:对于资源密集程度较低的硬件的本地部署,DeepSeek 提供了精简版本。这些模型的参数范围从 1.5B 到 70B,适合硬件较差的系统。例如,7B 模型可以在至少具有 6GB VRAM 的 GPU 上运行,或者在具有大约 4GB RAM 的 CPU 上运行(适用于 GGML/GGUF 格式)。

本地运行的软件工具:

  1. 将成为:

可以使用Ollama在本地提供模型: (Ollama 是一种在的机器上本地运行开源 AI 模型的工具。在此处获取:https: //ollama.com/download )

接下来,需要在本地提取并运行 DeepSeek R1 模型。

Ollama 提供不同尺寸的模型 — 基本上,更大的模型等于更智能的 AI,但需要更好的 GPU。以下是阵容:

1.5B version (smallest):
ollama run deepseek-r1:1.5b

8B version:
ollama run deepseek-r1:8b

14B version:
ollama run deepseek-r1:14b

32B version:
ollama run deepseek-r1:32b

70B version (biggest/smartest):
ollama run deepseek-r1:70b

要开始尝试 DeepSeek-R1,建议从较小的模型开始,以熟悉设置并确保与硬件的兼容性。你可以通过打开终端并执行以下命令来启动此过程:

ollama run deepseek-r1:8b 

 

通过 Ollama 向本地下载的 DeepSeek-R1 发送请求:

Ollama 提供了一个 API 端点,用于以编程方式与 DeepSeek-R1 进行交互。在发出 API 请求之前,请确保 Ollama 服务器在本地运行。可以通过运行以下命令来启动服务器:

ollama serve

一旦服务器处于活动状态,你就可以使用curl以下命令发送请求:

curl -X POST http://localhost:11434/api/generate -d '{"model": "deepseek-r1","prompt": "Your question or prompt here"
}'

 

将其替换"Your question or prompt here"希望向模型提供的实际输入。此命令向本地 Ollama 服务器发送 POST 请求,该服务器使用指定的 DeepSeek-R1 模型处理提示并返回生成的响应。

在本地运行/访问模型的其他方法包括:

vLLM/SGLang:用于在本地提供模型。vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B — tensor-parallel-size 2 — max-model-len 32768 — force-eager 等命令可用于精简版本。

 

llama.cpp:还可以使用 llama.cpp 在本地运行模型。

结论:

从 DeepSeek-R1-Zero 到 DeepSeek-R1 的这一进展代表了研究中重要的学习历程。虽然 DeepSeek-R1-Zero 证明了纯强化学习是可行的,但 DeepSeek-R1 展示了如何将监督学习与强化学习相结合来创建一个更强大、更实用的模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/69307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习 —— 深入剖析线性回归模型

一、线性回归模型简介 线性回归是机器学习中最为基础的模型之一,主要用于解决回归问题,即预测一个连续的数值。其核心思想是构建线性方程,描述自变量(特征)和因变量(目标值)之间的关系。简单来…

【现代深度学习技术】深度学习计算 | 读写文件

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…

计算机三级数据库技术考试大纲

文章目录 基本要求1.掌握数据库技术的基本概念、原理、方法和技术。2.能够使用 SQL 语言实现数据库操作。3. 具备数据库系统安装、配置及数据库管理与维护的基本技能。 T…

退格法记单词(类似甘特图)

退格法记单词,根据记忆次数或熟练程度退格,以示区分,该方法用于短时高频大量记单词: explosion爆炸,激增 mosquito蚊子granary粮仓,谷仓 offhand漫不经心的 transient短暂的slob懒惰而邋遢的…

【AI应用】免费的文本转语音工具:微软 Edge TTS 和 开源版 ChatTTS 对比

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 我试用了下Edge TTS,感觉还不错,不过它不支持克隆声音(比如自己的声音) 微软 Edge TTS 和 开源版 ChatTTS 都是免费的 文本转语音&…

深入理解 DeepSeek MOE(Mixture of Experts)

1. 什么是 MOE? MOE(Mixture of Experts,专家混合)是一种模型架构,旨在通过多个专家(Experts)模型的协同工作来提高计算效率和模型性能。在 MOE 结构中,不是所有的专家都参与计算&a…

MySQL数据库基础(创建/删除 数据库/表)

一、数据库的操作 1.1 显示当前数据库 语法&#xff1a;show databases&#xff1b; <1>show 是一个关键字&#xff0c;表示要执行的操作类型 <2>databases 是复数&#xff0c;表示显示所有数据库 上面的数据库中&#xff0c;除了java113&#xff0c;其它的数据库…

Git 常用命令汇总

# 推荐一个十分好用的git插件---->GitLens 其实很多命令操作完全界面化了&#xff0c;鼠标点点就可以实现但是命令是必要的&#xff0c;用多了你就知道了 Git 常用命令汇总 1. Git 基础操作 命令作用git init初始化本地仓库git clone <repo-url>克隆远程仓库到本地g…

前端导出pdf,所见即所得

一、推荐方案&#xff1a;html2canvas jsPDF&#xff08;图片式PDF&#xff09; javascript import html2canvas from html2canvas; import jsPDF from jspdf;const exportPDF async (elementId, fileName) > {const element document.getElementById(elementId);// 1.…

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter2-HTML 中的 JavaScript

二、HTML 中的 JavaScript 将 JavaScript 插入 HTML 的主要方法是使用<script>元素。 <script>元素有下列 8 个属性。 async&#xff1a;可选。表示应该立即开始下载脚本&#xff0c;但不能阻止其他页面动作&#xff0c;比如下载资源或等待其他脚本加载。只对外部…

数据分析系列--⑦RapidMiner模型评价(基于泰坦尼克号案例含数据集)

一、前提 二、模型评估 1.改造⑥ 2.Cross Validation算子说明 2.1Cross Validation 的作用 2.1.1 模型评估 2.1.2 减少过拟合 2.1.3 数据利用 2.2 Cross Validation 的工作原理 2.2.1 数据分割 2.2.2 迭代训练与测试 ​​​​​​​ 2.2.3 结果汇总 ​​​​​​​ …

Deepseek-v3 / Dify api接入飞书机器人go程序

准备工作 开通了接收消息权限的飞书机器人&#xff0c;例如我希望用户跟飞书机器人私聊&#xff0c;就需要开通这个权限&#xff1a;读取用户发给机器人的单聊消息 im:message.p2p_msg:readonly准备好飞书机器人的API key 和Secretdeepseek-v3的api keysecret&#xff1a;http…

电话号码的字母组合(力扣17)

这道题注意两个点。一是根据题目所给的键盘布局进行数字到英文字符串的映射&#xff0c;这一步可以用二维数组实现。二是这道题在递归的时候不需要缩小范围&#xff0c;这与之前写的组合题目有所不同。此题并不是在一个集合中不断递归遍历&#xff0c;而是递归另一个集合&#…

红黑树原理及C语言实现

目录 一、原理 二、操作示例 三、应用场景 四、C语言实现红黑树 五、代码说明 六、红黑树和AVL树对比 一、原理 熟悉红黑树之前&#xff0c;我们需要了解二叉树与二叉查找树概念&#xff0c;参见前述相关文章&#xff1a;二叉查找树BST详解及其C语言实现-CSDN博客 红黑…

DeepSeek V2报告阅读

概况 MoE架构&#xff0c;236B参数&#xff0c;每个token激活参数21B&#xff0c;支持128K上下文。采用了包括多头潜在注意力&#xff08;MLA&#xff09;和DeepSeekMoE在内的创新架构。MLA通过将KV缓存显著压缩成潜在向量来保证高效的推理&#xff0c;而DeepSeekMoE通过稀疏计…

TCP服务器与客户端搭建

一、思维导图 二、给代码添加链表 【server.c】 #include <stdio.h> #include <sys/socket.h> #include <sys/types.h> #include <fcntl.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.…

【自动化测试】使用Python selenium类库模拟手人工操作网页

使用Python selenium类库模拟手人工操作网页 背景准备工作安装Python版本安装selenium类库下载selenium驱动配置本地环境变量 自动化脚本输出页面表单自动化填充相关代码 背景 待操作网页必须使用IE浏览器登录访问用户本地只有edge浏览器&#xff0c;通过edge浏览器IE模式访问…

如何通过Davinci Configurator来新增一个BswM仲裁规则

本文框架 前言1.增加一个Mode Declaration Group2.增加一个Mode Request RPorts3.与操作Port的SWC连线4.新建一个Expression5.新建ActionList6.将表达式新建或加进现有Rule内7.生成BswM及Rte模块代码8.在代码中调用RTE接口前言 在Autosar模式管理系列介绍01-BswM文章中,我们对…

智慧交通:如何通过数据可视化提升城市交通效率

随着城市化进程的加速&#xff0c;交通管理面临着前所未有的挑战。为了应对日益复杂的交通状况&#xff0c;智慧交通系统应运而生&#xff0c;其中数据可视化技术成为了提升交通管理效率的关键一环。本文将探讨如何利用山海鲸可视化软件来优化交通管理&#xff0c;并展示其在智…

Android Studio:如何利用Application操作全局变量

目录 一、全局变量是什么 二、如何把输入的信息存储到全局变量 2.1 MainApplication类 2.2 XML文件 三、全局变量读取 四、修改manifest ​编辑 五、效果展示 一、全局变量是什么 全局变量是指在程序的整个生命周期内都可访问的变量&#xff0c;它的作用范围不限于某个…