DeepSeek-R1详解

咱把这张 DeepSeek-R1 的架构图拆成几块唠,保证小白也能听懂!就当是带着大家“逛” 模型从训练到能用的 “流水线工厂”,每个模块是干啥的、数据咋流动,一一说清楚~
一、Offline Training Pipeline(离线训练流水线)
这部分是 **“模型的产房”**,负责把 “基础模型胚子” 打磨成能用的智能模型,就像工厂里把原材料加工成半成品~
1. Base Model(DeepSeek - V3 - Base) 模型“毛坯”
是啥:可以理解成 “模型的地基”!就像盖房子先打地基,这里是最基础的模型版本,已经学了很多通用知识(比如语言规律、常识等),但还得继续调教。
角色:所有后续训练的 “起点”,是个有潜力的 “好学生苗子”,但得接着教它更贴合需求的技能。
技术:大语言模型基础架构(Transformer架构,理解文字的核心逻辑)
2. RL stage(强化学习阶段) RL Trainer → R1 - Zero
是啥:可以简单想成 “给模型请个教练”!RL(强化学习)就是让模型在练习中,根据 “表现好坏” 调整自己。这里的
RL Trainer是负责教模型的 “教练工具”,把基础模型 “训练” 成R1 - Zero这个版本。技术:强化学习(RL)算法,像给模型发“小红花”(奖励)或“小鞭子”(惩罚),让它记住好行为。
数据流:
Base Model把自己 “交” 给RL Trainer,经过强化学习的训练(就像学生听教练指令练习),输出R1 - Zero。可以理解成:地基打好 → 教练带着练 → 变成 “初级优化版模型”。
3. seed SFT (监督微调)SFT Seeder → Intermediate
SFT 是啥:SFT 就是 “监督微调”,简单说就是 “给模型喂更精准的练习题 + 答案”,让它学更具体的技能。比如教它怎么好好聊天、回答问题。
模块角色:
SFT Seeder是执行 “监督微调” 的工具,拿R1 - Zero当 “学生”,用更细致的训练(seed SFT 阶段),把它变成Intermediate(中间版本模型)。技术:监督微调(SFT),人工标注好数据,教模型“正确答案长这样”。
数据流:
R1 - Zero进入SFT Seeder接受监督微调 → 变成更懂 “怎么干活” 的Intermediate。相当于:初级优化版学生 → 做专项练习题 → 变成中级优化版学生。
4. RL alignment(强化学习对齐) RL Aligner → R1
是啥:继续 “优化模型的表现”!可以理解成 “让模型更懂人类需求”,调整模型的回答,让它更贴合人类期望(比如更安全、更有用)。
RL Aligner就是干这个的工具。技术:强化学习 + 人类反馈(RLHF),结合人工审核数据,教模型“这么说才对”。
数据流:
Intermediate模型进入RL Aligner,经过这一轮强化学习对齐 → 变成R1(更成熟的模型版本)。相当于:中级优化版学生 → 再调整学习,变得更符合人类要求 → 变成高级优化版学生。
5. distillation inputs(蒸馏输入) Distiller → Distilled Models
蒸馏是啥:可以理解成 “给模型 ‘瘦身’ 但不减本事”!就像把一大杯浓缩果汁,提炼成一小杯更浓的,模型变小了,但核心能力保留(甚至更精炼)。
Distiller就是负责 “蒸馏” 的工具。技术:知识蒸馏(把大模型当老师,小模型当学生,学生学老师的本事)。
数据流:
R1模型作为 “原材料”,被Distiller用蒸馏技术处理 → 输出Distilled Models(更轻巧、能高效干活的模型)。相当于:高级优化版学生 → 被提炼精华 → 变成 “精简高效版学生”。
二、Hugging Face Hub + GitHub Repo(模型 & 代码 “仓库”)
这俩是 **“模型和资料的存储库”**,就像工厂里的 “仓库”,存着训练好的模型、代码、说明文档这些东西~
1. Hugging Face Hub
是啥:全球很多 AI 开发者在用的 “模型仓库”,可以存模型、分享模型。相当于一个 “模型超市”,大家能在这拿到训练好的模型。
数据流:前面离线训练好的各种模型(
R1、Distilled Models等),会被 “推”(push artifacts)到这里存着;后面需要用模型的地方(比如在线服务),会从这里 “拉”(model pull)模型用。
2. GitHub Repo(GitHub 仓库)
是啥:程序员们常用的 “代码 + 文档仓库”,存着项目的代码、使用说明、许可证(License)、研究论文这些。相当于一个 “项目说明书大全”。
里的小模块:
License/LICENSE:模型能用的 “规则说明书”(比如能不能商用、能不能修改)。Static Assets/figures/:存图片、图表这些 “辅助资料”(比如架构图可能存在这)。Documentation/README.md:最核心的 “使用说明书”!教你咋用这个模型、咋部署、有啥功能。Research Papers/DeepSeek_R1.pdf:模型背后的 “学术论文”,讲研发思路、技术细节(大佬们爱看,小白好奇也能瞅两眼)。
三、External Services(外部服务) + Clients & UI(用户咋用模型)
这部分是 **“模型咋和外界互动”**,包括模型需要的 “外部资源”,以及用户(像咱普通人)咋接触、使用模型~
1. External Services(外部服务)
Hugging Face (external):前面说过的 “模型仓库”,这里是 “外部版”,可以理解成模型训练时,可能需要从这下载一些基础资料、工具。
DeepSeek Platform (external API):
DeepSeek自己的 “外部接口平台”,可以简单想成 “模型和外界沟通的特殊通道”,比如训练模型时,需要从这拿数据、或者把训练好的东西存这。
2. Clients & UI(用户咋用模型)
- Web Chat (ui.chat.deepseek.com):最直观的 “用户界面”!就是咱普通人能用的 “网页聊天框”,打开网址就能和模型聊天、问问题,像用 ChatGPT 网页版一样。
3. Online Serving(模型在线服务 “流水线”)
这部分是 **“模型咋变成能用的 ‘聊天工具’ 给用户用”**,像工厂里 “把仓库的半成品变成商品,送到用户手里”~
(1)DeepSeek API Gateway (platform.deepseek.com)
- 是啥:可以理解成 “模型服务的总大门”!用户(不管是网页聊天、还是其他方式)要用模型,都得经过这个 “大门” 调度。相当于餐厅的 “前台”,负责接用户需求,再分配给后面的 “厨师(模型)”。
(2)Model Serving Fleet + vLLM Server
Model Serving Fleet:可以想成 “模型服务的 ‘运输车队’”,负责把用户需求 “运” 到能处理的地方。
vLLM Server:是个 “高效跑模型的工具”!专门优化模型运行速度,让模型回答又快又稳。
数据流:用户通过
Web Chat发请求 → 经过DeepSeek API Gateway→ 交给Model Serving Fleet→ 调用vLLM Server里的模型干活。相当于:用户点单 → 前台接单 → 运输队送单 → 高效厨房(vLLM)做菜。
(3)User CLI / SDK + SGLang Server
User CLI / SDK:给 “想自己开发、调试模型的人” 用的工具。CLI 是命令行(比如程序员在黑框框里输指令调模型),SDK 是软件开发工具包(给开发者写代码用的 “积木”)。
SGLang Server:专门处理 “用特殊语言(SGLang)和模型交互” 的工具,让模型能理解更复杂的指令、流程。
数据流:如果是开发者用
User CLI / SDK发请求 → 经过DeepSeek API Gateway→ 可能调用SGLang Server处理(比如复杂指令)→ 再让模型干活。相当于:开发者自己写程序调模型 → 前台接需求 → 特殊语言处理中心(SGLang)翻译 → 模型干活。
四、总结:整个架构的 “数据流” 大流程
可以把整个 DeepSeek - R1 架构想成 **“从训练模型 → 存模型 → 给用户用” 的完整流水线**,数据 / 模型像 “流水” 一样流动:
训练流水:
Base Model(地基)→ 经过RL Trainer(教练1)→R1 - Zero(初级版)→ 经过SFT Seeder(练习题)→Intermediate(中级版)→ 经过RL Aligner(教练2)→R1(高级版)→ 经过Distiller(提炼)→Distilled Models(精简版)。存储流水:训练好的模型(
R1、Distilled Models等)→ 被 “推” 到Hugging Face Hub(模型仓库)和GitHub Repo(代码 / 文档仓库)存着。使用流水:用户(不管是普通网页聊天,还是开发者写代码)→ 发需求到
DeepSeek API Gateway(总大门)→ 调度Model Serving Fleet(运输队)→ 调用vLLM Server或SGLang Server(高效厨房 / 特殊翻译)→ 从Hugging Face Hub拉模型干活 → 给用户输出回答!
这样一套流程走完,一个从 “啥也不是的基础模型” 到 “能陪你聊天、干活的 AI” 就诞生啦~ 下次再看这张图,就知道每个模块是 “工厂” 里的哪个环节、数据咋从训练到你聊天框里啦!
DeepSeek-R1详解的更多相关文章
- R1(上)—R关联规则分析之Arules包详解
Arules包详解 包基本信息 发布日期:2014-12-07 题目:挖掘关联规则和频繁项集 描述:提供了一个表达.处理.分析事务数据和模式(频繁项集合关联规则)的基本框架. URL:http://R ...
- [转]keil使用详解
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...
- Elasticsearch配置详解、文档元数据
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch配置文件详解 a. 在上面博客中,我们已经安装并且成功 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- linux 中/proc 详解
proc 文件系统 在Linux中有额外的机制可以为内核和内核模块将信息发送给进程-- /proc 文件系统.最初设计的目的是允许更方便的对进程信息进行访问(因此得名),现在它被每一个有有趣的东西报告 ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- OSPF协议详解
CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...
- LR Analysis:详解FirstBufferTime
LR Analysis:详解FirstBufferTime 详解 第 一次缓冲时间 测试结果分析过程中,经常遇到第一次缓冲时间 FirstBufferTime,并且发现大 部分系统的响应时间也都浪 ...
- hbase shell基础和常用命令详解(转)
HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...
随机推荐
- 注解@Transactional事务失效的常见场景
在<Spring Boot事务管理>中,小编介绍了注解@Transactional的基本属性和使用方法,这里介绍事务失效的八种场景,使大家对注解@Transactional有一个更深刻的认 ...
- [nodejs原型链污染及绕过]校赛第四次纳新赛 bypass WP
前言 赛后自学了nodejs原型链污染后来尝试做这个题,难度不算太大,但是绕过姿势非常奇怪没见过,写一篇总结记录一下做法 wp 首先打开环境发现是一个登录框,题目有附件我们下载查看附件 最关键的就是c ...
- 《经验分享——在CSDN编写文章时如何实现空格、空行》
经验分享--在CSDN编写文章时如何实现空格.空行 一.富文本编辑器: 1.空格: 按空格键 2.空行 先按Tab,再按回车键 二.Markdown编辑器: 1. 空格: 按空格键 2.空行: 输入& ...
- HarmonyOS运动开发:打造便捷的静态快捷菜单
鸿蒙核心技术##运动开发# 前言 在运动类应用中,用户往往需要快速访问常用功能,如查看成绩.赛事信息或开始运动.为了提升用户体验,鸿蒙(HarmonyOS)提供了静态快捷菜单功能,允许用户从桌面直接跳 ...
- DRF案例
1 反序列化更新,instance 就传要修改的对象,保证修改完成 def update(self, instance, validated_data): publish_id = validated ...
- Luogu P8479 「GLR-R3」谷雨
题传 upd on 2023.10.03 补充了代码以及一些实现细节. 自己写的关于这类剖分方法的 \(blog\) 题意简述 称一条链和与其有连边的点 构成的点集 为 "毛毛虫" ...
- Rust修仙之道 第二章:气流变换 · 驭控条件与循环之术
第二章:气流变换 · 驭控条件与循环之术 在掌握变量与法印函数之后,顾行云进入了修炼的下一个瓶颈--如何让灵气术式随境而变.适时而动? 他夜读<Rust·变通篇>,心有所感:"灵 ...
- 在 SQL Server 中 你可以使用以下查询来找到引用 的 FOREIGN KEY 约束
SELECT f.name AS ForeignKeyName, OBJECT_NAME(f.parent_object_id) AS ReferencingTable, COL_NAME(fc.pa ...
- 记录一次Armbian安装宝塔面板遇到ModuleNotFoundError: No module named '_sqlite3'的问题
如果在用Armbian安装宝塔面板的时候遇到ModuleNotFoundError: No module named '_sqlite3'报错,并且无法进入web面板界面,可以尝试以下操作. 报错界面 ...
- LSTM 文本预测
LSTM RNN对于前面的信息会有意外,LSTM可以基础相应的信息 code #加载数据 data = open("LSTM_text.txt").read() #移除换行 dat ...