DeepSeek v2/v3技术解读

v2论文:[2405.04434] DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model

v3论文:[2412.19437] DeepSeek-V3 Technical Report

v3源码:GitHub - deepseek-ai/DeepSeek-V3

1、技术报告

1.1 DeepSeek-V2 技术报告

我们提出了 DeepSeek-V2,一个强大的混合专家 (MoE) 语言模型,其特点是经济的训练和高效的推理。它包含 2360 亿个参数,其中每个词元激活 210 亿个参数,并支持 128K 词元的上下文长度。DeepSeek-V2 采用创新的架构,包括多头潜在注意力 (MLA) 和 DeepSeekMoE。MLA 通过将键值 (KV) 缓存显著压缩为潜在向量来保证高效的推理,而 DeepSeekMoE 通过稀疏计算使训练强大的模型成为可能。与 DeepSeek 67B 相比,DeepSeek-V2 实现了显著更强的性能,同时节省了 42.5% 的训练成本,将 KV 缓存减少了 93.3%,并将最大生成吞吐量提高了 5.76 倍。我们使用包含 8.1T 词元的优质多源语料库对 DeepSeek-V2 进行预训练,并进一步进行监督微调 (SFT) 和强化学习 (RL) 以充分释放其潜力。评估结果表明,即使只有 210 亿个激活参数,DeepSeek-V2 及其聊天版本在开源模型中仍然取得了顶尖的性能。

这是一种强大的开源专家混合(MoE)语言模型,其特点是通过创新的 Transformer 架构实现经济的训练和高效的推理。它配备了总共 2360 亿个参数,其中每个 token 激活 210 亿个参数,并支持 128K 个 token 的上下文长度。

我们优化了 Transformer 框架(Vaswani 等人,2017)中的注意力模块和前馈网络(FFNs),并提出了多头潜在注意力(MLA)和 DeepSeekMoE。(1)在注意力机制的背景下,多头注意力(MHA)(Vaswani 等人,2017)的键值(KV)缓存对 LLM 的推理效率构成了重大障碍。为了解决这个问题,人们探索了各种方法,包括分组查询注意力(GQA)(Ainslie 等人,2023)和多查询注意力(MQA)(Shazeer,2019)。然而,这些方法在试图减少 KV 缓存时往往会影响性能。为了兼顾两者的优势,我们引入了 MLA,一种具有低秩键值联合压缩的注意力机制。从经验上看,MLA 的性能优于 MHA,同时在推理过程中显著减少了 KV 缓存,从而提高了推理效率。(2)对于前馈网络(FFNs),我们遵循 DeepSeekMoE 架构(Dai 等人,2024)),该架构采用细粒度专家分割和共享专家隔离,以实现更高的专家专业化潜力。DeepSeekMoE 架构与传统的 MoE 架构(如 GShard(Lepikhin 等人,2021)))相比,展现出巨大的优势,使我们能够以经济的成本训练强大的模型。由于我们在训练过程中采用了专家并行,我们还设计了补充机制来控制通信开销并确保负载平衡。通过结合这两种技术,DeepSeek-V2 具有强大的性能(图 1(a)))、经济的训练成本和高效的推理吞吐量(图 1(b)))。

图 2 | DeepSeek-V2 架构图。MLA 通过显著减少生成过程中的 KV 缓存来确保高效推理,而 DeepSeekMoE 则通过稀疏架构以经济的方式训练强大的模型

1.2 DeepSeek-V3 技术报告

为了进一步突破开源模型的能力边界,我们扩展了模型规模,并推出了DeepSeek-V3,这是一个拥有6710亿参数的大型专家混合模型(MoE),其中每个token激活370亿参数

秉持前瞻性视角,我们始终追求强大的模型性能和经济成本。因此,在架构方面,DeepSeek-V3 仍然采用多头潜在注意力(MLA)(DeepSeek-AI, 2024c) 以实现高效推理,并采用 DeepSeekMoE (Dai 等人,2024) 以实现经济高效的训练。这两种架构已在 DeepSeekV2 (DeepSeek-AI, 2024c) 中得到验证,证明了它们在保持稳健模型性能的同时实现高效训练和推理的能力。除了基本架构之外,我们还实施了两种额外的策略来进一步增强模型能力。首先,DeepSeek-V3 首创了一种无辅助损失策略 (Wang 等人,2024a) 用于负载均衡,旨在最大限度地减少由于鼓励负载均衡而对模型性能产生的负面影响。其次,DeepSeek-V3 采用多标记预测训练目标,我们观察到它可以提高评估基准上的整体性能。

为了实现高效训练,我们支持 FP8 混合精度训练并对训练框架进行了全面的优化低精度训练已成为高效训练的有希望的解决方案(Dettmers 等人,2022;Kalamkar 等人,2019;Narang 等人,2017;Peng 等人,2023b)),其发展与硬件能力的进步密切相关(Luo 等人,2024;Micikevicius 等人,2022;Rouhani 等人,2023a)。在这项工作中,我们介绍了一种 FP8 混合精度训练框架,并首次验证了其在超大规模模型上的有效性。通过支持 FP8 计算和存储,我们实现了训练加速和 GPU 内存使用量的减少。关于训练框架,我们设计了 DualPipe 算法来实现高效的流水线并行,该算法具有更少的流水线气泡,并通过计算-通信重叠隐藏了训练过程中的大部分通信。这种重叠确保了,随着模型进一步扩展,只要我们保持恒定的计算-通信比率,我们仍然可以在节点之间使用细粒度的专家,同时实现接近零的全对全通信开销。此外,我们还开发了高效的跨节点全对全通信内核,以充分利用 InfiniBand (IB) 和 NVLink 带宽。此外,我们精心优化了内存占用,使得无需使用昂贵的张量并行即可训练 DeepSeek-V3。通过这些努力,我们实现了高训练效率

在预训练阶段,我们使用 14.8T 高质量且多样化的词元对 DeepSeek-V3 进行训练。预训练过程非常稳定,在整个训练过程中,我们没有遇到任何不可恢复的损失峰值,也不需要回滚。接下来,我们对 DeepSeek-V3 进行两阶段的上下文长度扩展。在第一阶段,最大上下文长度扩展到 32K,在第二阶段,进一步扩展到 128K。在此之后,我们对 DeepSeek-V3 的基础模型进行后训练,包括监督微调 (SFT) 和强化学习 (RL),以使其与人类偏好保持一致,并进一步释放其潜力。在后训练阶段,我们从 DeepSeekR1 系列模型中提取推理能力,同时谨慎地保持模型准确性和生成长度之间的平衡。

DeepSeek-V3 的基本架构仍然是在 Transformer(Vaswani 等人,2017)框架内。为了实现高效的推理和经济的训练,DeepSeek-V3 还采用了 MLA 和 DeepSeekMoE,这些方法已经在 DeepSeek-V2 中得到了充分验证。与 DeepSeek-V2 相比,唯一的例外是,我们额外引入了一种无辅助损失的负载均衡策略(Wang 等人,2024a)用于 DeepSeekMoE,以缓解为确保负载均衡而导致的性能下降。图 2 说明了 DeepSeek-V3 的基本架构,在本节中我们将简要回顾 MLA 和 DeepSeekMoE 的细节。

备注:架构图和v2没有区别

训练成本:

DeepSeek-V3开源基础模型的训练在2048块英伟达H800 GPU集群上完成。

需要注意的是,557.6万美元是DeepSeek技术报告中提到的基座模型DeepSeek-V3的训练成本。“关于V3版本的训练成本只能代表最后一次成功训练的成本,前期的研究、架构及算法的试错等成本都没有包含在内;而R1的具体训练成本,论文中没有提到。”刘聪表示。也就是说,557.6万美元仅为模型总成本的一小部分。

DeepSeek-V3的训练过程仅需2048张英伟达GPU、所用GPU小时仅为278.8万,相比之下,OpenAI耗费了上万张GPU,Meta训练模型Llama-3.1-405B所用的GPU小时为3084万。

DeepSeek不仅在模型训练阶段效率更高,在调用推理阶段也更高效、成本更低。

备注:按一天2048*24h = 4.91万小时算,278.8/4.91 = 56.6天,训练时间也是比较久的。

2、 DeepSeek核心技术

2.1  MLA(v2+集成)

2.1.1  预备知识:标准多头注意力机制

图 3 | 多头注意力 (MHA)、分组查询注意力 (GQA)、多查询注意力 (MQA) 和多头潜在注意力 (MLA) 的简化图示。通过将键和值共同压缩成潜在向量,MLA 在推理过程中显著减少了 KV 缓存。

2.1.2 低秩键值联合压缩

MLA 的核心是针对键和值进行低秩联合压缩,以减小 KV 缓存:

此外,为了减少训练过程中的激活内存,我们也对查询进行低秩压缩,即使它不能减少 KV 缓存:

2.1.3. 解耦旋转位置嵌入

MLA未来可能是标配了 .

备注:这里设置dc为4 dh,跟多头(一般为16头以上)比确实少很多。

2.2 带有辅助DeepSeekMoE (v2提出v3优化

### DeepSeek-V3 的特点 DeepSeek-V3 是一种先进的大规模语言模型(LLM),其设计融合了多种创新技术来提升推理能力和整体性能。该模型通过引入新颖的方法,能够有效地从长链思考(long-Chain-of-Thought, CoT)模型中提取并优化推理能力,并将其集成到标准的大规模语言模型架构内[^3]。 这种改进不仅增强了模型的理解力和解决问题的能力,还使得开发者可以在保持输出风格一致性和长度可控的前提下利用这些增强功能。因此,在处理复杂查询时,DeepSeek-V3 能够提供更加精准且连贯的回答。 此外,DeepSeek-V3 在多个评估指标上展现了卓越的成绩,特别是在知识类任务方面,如 MMLU、MMLU-Pro、GPQA 和 SimpleQA 测试集中的表现几乎可以媲美目前最优秀的同类产品——Claude-3.5-Sonnet;而在涉及较长文本的任务测试里,则超过了竞争对手,在 DROP、FRAMES 及 LongBench v2 上取得了更好的成绩[^2]。 ### 更新内容 为了进一步提高模型的表现力和服务质量,开发团队针对 DeepSeek- **强化推理机制**:采用了一种新的方法论,可以从特定版本的 DeepSeek R1 系列模型中提炼出高效的推理模式,并成功应用于 DeepSeek-V3 中,从而显著提升了后者在这方面的效能。 - **控制输出特性**:除了加强核心算法外,这次更新还包括对最终生成结果的形式进行了精细调整,确保用户接收到的信息既具有逻辑性又易于理解,同时还能满足不同应用场景下的具体需求。 ### 使用方法 对于想要部署或试用 DeepSeek-V3技术人员来说,官方文档提供了详细的指南说明如何快速入门以及最佳实践建议。以下是基本的操作流程概述: #### 安装环境准备 首先需要准备好适合运行此大型预训练模型所需的计算资源与软件依赖项。通常情况下,这涉及到配置 GPU 加速器支持、安装 Python 解释器及相关库文件等准备工作。 ```bash pip install deepseek-v3 # 假设这是用于安装包管理工具命令 ``` #### 初始化实例化对象 完成上述步骤之后就可以创建一个新的 `DeepSeekV3` 类型的对象来进行交互操作了。 ```python from deepseek_v3 import DeepSeekV3 model = DeepSeekV3() ``` #### 提交请求获取响应 最后一步就是向已加载好的模型发送自然语言形式的问题或者指令,等待它返回经过精心构建的答案。 ```python response = model.generate(text="请解释什么是机器学习?") print(response) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值