1. 核心结论
DeepSeek 包括推理模型(如 R1)、常规的大语言模型(如 V3)以及基于 R1 蒸馏的小模型,这些小模型的基座为 Qwen 或 Llama 系列。当前,R1 及其蒸馏的小模型是主要关注的对象。
- 模型部署:DeepSeek的原生模型通常为千亿级参数,硬件需求较高,因此难以在端侧和边侧设备上部署,当前本地部署普遍采用的是基于 R1 蒸馏的小模型。
- 模型特点:推理模型通过思维链进行深度推理,能够生成高质量的内容。然而,由于推理过程灵活,输出格式控制会变弱,因此不适用于那些对格式有严格要求的任务,例如日程管理 Agent 或 PC 助手等涉及工具调用的场景(AI Now 大量涉及)。
- 应用场景:目前,推理模型更适合用于内容质量要求较高且对格式要求相对宽松的场景,如问答、知识库(PKB)构建和摘要生成等任务。
2. 模型详情
模型 | 参数 | 基础模型 | 说明 | 能力评估(与基础模型对比) |
---|---|---|---|---|
DeepSeek-R1 蒸馏版 | 1.5B, 7B, 14B, 32B | Qwen 系列 | Dense 架构,基于 R1 蒸馏,增强推理深度和内容质量,适用于推理任务 | - 效率不变↓ - 响应时间增加↓ - 指令遵循有下降↓ - 适合推理任务 |
8B, 70B | Llama系列 | Dense架构,基于 R1 蒸馏,增强推理深度和内容质量,适用于推理任务 | - 效率不变↓ - 响应时间增加↓ - 指令遵循有下降↓ - 适合推理任务 |
|
DeepSeek-R1 | 671B | DeepSeek-V3-Base | MOE架构,激活参数37B,专注于复杂推理任务,极高生成质量 | - 响应时间增加↓ - 指令遵循有下降↓ - 顶尖推理能力 |
DeepSeek-V3 | 671B | DeepSeek-V3 | MOE架构,激活参数37B,生成流畅文本与结构化输出,支持工具调用 | - |
3. 核心概念解释
3.1 推理模型&常规大语言模型
推理模型和常规大语言模型并非严格的技术区分,而是基于模型能力侧重点的非正式分类。两者均基于自回归机制生成文本,但推理模型专注于推理逻辑的生成,擅长处理复杂的推理任务;而常规大语言模型则主要用于文本生成、对话和内容创作等任务,涉及分析类场景时的表现通常不如推理模型。它们的主要区别在于训练数据和任务设计:推理模型通过专门设计的训练数据直接优化推理过程,能够在任务执行时自动激活推理链;而常规大语言模型则通常依赖精心构造的prompt或逐步推理来引导推理过程的展开。
举个例子:假设两个人都学习了海量知识。第一个人仅掌握知识,面对任务时直接给出答案。第二个人(代表推理模型)不仅学习了知识,还专门训练了推理思维能力,面对逻辑推理任务时能够通过深入思考和推导,得出最合理的解答。与第一个人直接回答不同,第二个人通过系统的推理过程提升思维深度,生成更有深度和准确性的结果。
3.2 模型蒸馏
蒸馏模型是一种模型压缩与知识迁移技术,目的是将一个或多个大模型(“教师模型”)的知识迁移到一个轻量级单模型(“学生模型”)上,类似于学生从老师处获取知识。蒸馏模型的效果受教师模型、训练方案和学生模型架构的共同影响。目前,我们调研的这些小模型通过蒸馏继承了R1模型的推理能力,在数学、代码生成、文本生成等多个维度上实现了效果提升。然而,性能仍会与原始基座模型相当,当前的基座模型为Qwen和Llama系列,这些模型本身不具备DeepSeek架构优化所带来的计算效率和性能优势。
3.3 Moe架构
DeepSeek 的原生模型采用了 MOE(Mixture of Experts)架构,每次推理时仅激活部分专家(独立计算单元)。以 DeepSeek-R1 为例,每次推理仅激活 37B 参数,占总参数的 5.5%,显著节省了计算资源并提高了推理效率。
MOE 架构的质量依赖于专家的能力、覆盖范围和任务匹配,通常包含大量专家,整体参数规模较大,目前通常在百亿参数规模之上。而推理过程中又需要加载所有专家的参数以支持路由和任务匹配,这导致了较高的内存和显存需求,限制了其在端侧设备上的应用。
4. 效果与性能分析
4.1 DeepSeek-R1 蒸馏模型
DeepSeek R1 蒸馏模型有多种参数版本,适应端侧和边侧设备部署。与基座模型相比,会通过思维链推理生成更高质量的内容,但也因此导致输出格式控制变弱,不适用于有结构化格式要求的任务(如日程管理、PC 助手等)。同时,由于生成过程涉及思维链,会显著增加完整输出的增加时间,因此需根据场景需求和用户体验综合考虑是否采用。
4.2 DeepSeek R1 & DeepSeek V3
这两个旗舰模型具有极高的推理和生成质量,但由于参数规模达到 671B,显存需求巨大(最保守估计超过 600GB),因此无法部署在端侧和边侧设备上。
Model | Parameters(B) | VRAM Requirement(GB) | Recommended GPU |
---|---|---|---|
DeepSeek-R1/V3 | 671B | ~1342GB | Mlti-GPU setup(e.g.,NVIDIA A100 80G*16) |
4.3 核心场景质量评估 - 本地知识库问答
对比基于 Llama 3.1 8B 蒸馏模型和原始基座模型,R1 蒸馏版在推理和内容质量上有所提升(问答准确率提高 **22.7%**)。由于蒸馏版与原模型的网络结构相同,首字响应时间和每秒生成字数变化不大。但因生成过程涉及思维链,返回字符增多,导致完整响应时间显著增加(问答 完整输出时间从 2.24s 增加到 17.45s )。
模型 | 综合得分 | 准确率 | 首字相应时间(秒) | 完整输出时间(秒) | 每秒字数 |
---|---|---|---|---|---|
Llama 8B | 46.61 | 27.50% | 0.73 | 2.24 | 29.78 |
DeepSeek-R1-Distill-Llama-8B | 52.89 | 33.75% | 0.77 | 17.45 | 32.23 |
4.4 模型大小与显存的关系
在本地化部署大模型时,GPU 显存需求主要由两部分组成:模型权重内存和推理内存。模型权重内存与模型参数数量及量化方案直接相关,而推理内存则受到上下文长度、批量大小和注意力机制等因素的动态影响。
4.4.1 模型权重内存
模型权重内存是加载模型参数时所需的 GPU 显存,其大小与模型的总参数数量和采用的量化方案(数据类型)密切相关。常见的量化技术(如 int8 或 int4)可以显著降低显存需求,但可能对模型精度和性能产生一定影响。
不同数据类型的显存占用如下:
- Float16:每个参数占用 2 字节。
- Int8(8 位整数量化):每个参数占用 1 字节。
- Int4:每个参数占用 0.5 字节。
以具有 x 亿参数的模型为例,不同量化方案下的 GPU 显存需求大致如下:
- Int4:显存需求约为 0.5x GB。
- Int8:显存需求约为 x GB。
- Float16:显存需求约为 2x GB。
例如,Llama-3-8B 模型(参数数量约为 80 亿)在不同量化方案下的显存需求:
- 使用 Float16:显存需求 ≈ 16 GB。
- 使用 Int8:显存需求 ≈ 8 GB。
- 使用 Int4:显存需求 ≈ 4 GB。
4.4.2 推理内存
在推理过程中,GPU 显存还需额外分配以支持输入和输出的 token 长度、激活值及键值缓存(KV cache,存储注意力机制中的中间结果)。推理内存的需求是动态的,取决于以下因素:
- 上下文长度:即输入和输出的 token 数量。
- 批量大小(batch size):一次性处理的请求数量。
- 注意力机制:不同的注意力机制对显存需求的影响各不相同。
推理内存的消耗通常随着这些因素的变化而波动,因此在进行本地化部署时,需要综合考虑这些动态需求以合理配置 GPU 显存。
wuyeblog-pw:wuyea.top