《DeepSeek背后的技术秘密:原来如此》
【摘要】 一. 为什么是DeepSeek能取得如此成功?春节期间,DeepSeek在全球范围内迅速走红,成为科技圈和投资圈的焦点,其背后的原因我觉得主要有以下几点:技术性能卓越DeepSeek的最新模型在多项测试中展现了强大的性能,其在数学能力测试中准确率达到77.5%,与OpenAI的o1模型不相上下。此外,DeepSeek在编程领域的表现也极为出色,在Codeforces评测中达到2441分,高于...
一. 为什么是DeepSeek能取得如此成功?
春节期间,DeepSeek在全球范围内迅速走红,成为科技圈和投资圈的焦点,其背后的原因我觉得主要有以下几点:
技术性能卓越
DeepSeek的最新模型在多项测试中展现了强大的性能,其在数学能力测试中准确率达到77.5%,与OpenAI的o1模型不相上下。此外,DeepSeek在编程领域的表现也极为出色,在Codeforces评测中达到2441分,高于96.3%的人类参与者。这种顶尖的性能使其在众多AI模型中脱颖而出,吸引了大量用户的关注。
成本优势明显
DeepSeek的训练成本极低,其R1模型的预训练费用仅为557.6万美元,不到OpenAI GPT-4o模型训练成本的十分之一。同时,DeepSeek公布的API定价也非常亲民,每百万输入tokens仅1元(缓存命中)/4元(缓存未命中),每百万输出tokens 16元,收费约为OpenAI o1运行成本的三十分之一。这种低成本、高性价比的特点,使其在企业和开发者中极具吸引力。
开源策略
DeepSeek采用了开源策略,允许个人开发者和中小企业免费部署和使用其先进的AI大模型。这种开源模式极大地降低了使用门槛,激发了开发者和企业的创新热情,推动了AI技术的广泛应用。
资本市场的关注
DeepSeek的火爆引发了资本市场的强烈反应。春节期间,DeepSeek相关概念股在A股市场表现强劲,近20家公司股票强势涨停。此外,DeepSeek的崛起也对全球科技股产生了深远影响,英伟达等美股科技股因担忧低成本AI模型的冲击而出现股价大幅下挫。
应用场景广泛
春节期间,DeepSeek的应用场景不断拓展,除了常见的写作和问答功能外,还被用于制定旅行攻略、翻译外语、学习当地方言等。这种多元化的应用场景,使得DeepSeek更加贴近普通用户的生活,进一步提升了其知名度和影响力。
云厂商的集体响应
春节期间,华为云等云巨头纷纷宣布接入DeepSeek相关大模型,并推出“一键部署”等便捷服务。这种快速响应不仅为DeepSeek的推广提供了强大的支持,也进一步推动了AI技术在各行业的应用。
所以,DeepSeek在春节期间的火爆,是其卓越的技术性能、显著的成本优势、开源策略以及资本市场的关注等多方面因素共同作用的结果。一键华为云体验参考教程:https://bbs.huaweicloud.com/blogs/446447
二、关于DeepSeek公司及其大模型概况介绍
1.1 DeepSeek公司以及产品使用情况
1.DeepSeek是什么?
DeepSeek是一家中国的人工智能公司,成立于2023年7月,由知名量化资管巨头幻方量化创立。它专注于实现通用人工智能(AGI),以大模型为代表。DeepSeek也指该公司开发的智能助手,类似于ChatGPT。目前,DeepSeek的AI助手在全球140个市场的应用商店中下载量排名第一。
2.DeepSeek中文叫什么?
DeepSeek的中文名是“深度求索”。
3.DeepSeek创始人介绍
DeepSeek的创始人是梁文锋。他出生于1985年,17岁考入浙江大学电子信息工程专业,2007年考上浙江大学信息与通信工程专业研究生。2013年,梁文锋与同学共同创立杭州雅克比投资管理有限公司,2015年成立杭州幻方科技有限公司,专注于量化投资。2023年,梁文锋宣布进军通用人工智能领域,创办了DeepSeek。
4.DeepSeek怎么用
-
注册账号:访问DeepSeek官网或下载App后,注册账号并登录。
-
选择模型:根据需求选择合适的模型,如DeepSeek-V3、DeepSeek-R1等。
-
输入问题:在对话框中输入问题或指令,DeepSeek会根据输入内容生成回答。
-
使用功能:除了智能对话,DeepSeek还支持文件处理、翻译、解题、创意写作等多种功能
5.DeepSeek本地部署
可以参考我给出的三个教程,
DeepSeek-R1蒸馏版模型上线,MaaS推出昇腾适配版DeepSeek-R1蒸馏模型,限时免费!-云社区-华为云
DeepSeek部署在本地电脑教程来了!!三步即可完成!-云社区-华为云
五分钟使用硅基流动部署个人DeepSeek教程-云社区-华为云
6.出现DeepSeek服务器繁忙怎么办?
如果遇到DeepSeek服务器繁忙的情况,可以尝试以下方法:
-
稍后再试:服务器繁忙可能是由于访问量过大,稍等片刻再尝试访问可能会恢复正常。
-
检查网络:确保自己的网络连接稳定,避免因网络问题导致服务器响应延迟。
-
更新应用:检查DeepSeek App是否有最新版本,更新到最新版本可能会改善服务器连接问题
7.DeepSeek的官网地址是 :
- 模型代码的地址:https://github.com/deepseek-ai/DeepSeek-V3
- 模型权重地址:
DeepSeek API 的相关信息如下:
8.DeepSeek API 官网
DeepSeek API 的官方文档地址是 https://api-docs.deepseek.com/zh-cn/ 。
9.如何获取 API Key
-
访问 DeepSeek 官方平台 https://platform.deepseek.com/api_keys 并注册账号。
-
登录后,在左侧菜单中点击 “API keys”,然后点击 “创建 API key”。
-
创建完成后,系统会生成一个 API Key,请务必在第一次创建时复制并保存,因为之后无法再次查看。
API 调用示例
以下是使用 DeepSeek API 的基本调用示例,以
curl
命令为例:curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <DeepSeek API Key>" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}'
其中,
<DeepSeek API Key>
需要替换为你自己的 API Key。模型参数
-
基础 URL:
https://api.deepseek.com
或https://api.deepseek.com/v1
。 -
模型名称:
-
deepseek-chat
:调用 DeepSeek-V3 模型。 -
deepseek-reasoner
:调用 DeepSeek-R1 推理模型。
-
其他说明
-
DeepSeek API 与 OpenAI API 兼容,可以使用 OpenAI SDK 或其他兼容工具进行调用。
-
如果需要流式输出,可以将
stream
参数设置为true
。
1.2 模型“超能力”大比拼
DeepSeek-V3 是一个参数量达6710亿的混合专家语言模型,采用多头潜在注意力和DeepSeekMoE架构,首创无辅助损失负载均衡策略,多Token预测训练目标,预训练数据量达14.8万亿Token,通过监督微调和强化学习优化,性能优于开源模型且与领先闭源模型相当,完整训练仅需278.8万H800 GPU小时,训练过程稳定,DeepSeek近半年相继推出了3个主要的大模型版本,分别是DeepSeek V2.5、DeepSeek V3、DeepSeek-R1(无一例外的都是用了MOE架构)。在这之前还推出了DeepSeek-VL、DeepSeek Coder、DeepSeek Math。
从公布的榜单评测来看,DeepSeek-V3在开源模型里直接“一骑绝尘”,稳稳地坐上了榜首宝座,简直就是“开源界的扛把子”!而且,它和世界上最先进的chatgpt闭源模型比起来,也是毫不逊色,完全能打个“平手”!这就好比一个刚出道的“新人王”,直接挑战了行业里的“老江湖”,结果还打了个“平手”,这实力,简直让人大呼“卧槽”!
1.3 训推成本:性价比的“天花板”
DeepSeek在成本控制上,简直就是“成本杀手”!推理成本(API报价)低得让人咋舌——百万Token输入价格居然只要1元!DeepSeek-V3 的训练花费,假设H800 每个GPU 小时的租赁费用是$2。这价格,简直比“白菜价”还亲民!别的平台可能还在收“天价”,DeepSeek已经开启了“性价比狂魔”模式。这就好比在“技术超市”里,DeepSeek直接把价格打到了“地板价”,让其他对手只能“望尘莫及”,而用户则可以“薅到大羊毛”!
三、DeepSeek训推核心技术
3.1 DeepSeek-V3模型主要的突出贡献
DeepSeek-V3 是一款拥有6710亿参数的混合专家语言模型,致力于在保持强大性能的同时降低训练和推理成本。它沿用了在DeepSeek-V2中得到验证的多头潜在注意力和DeepSeekMoE架构,首创无辅助损失的负载均衡策略和多Token预测训练目标,进一步提升模型能力。在训练方面,DeepSeek-V3实现了FP8混合精度训练,通过DualPipe算法优化流水线并行,开发高效的跨节点通信内核,并优化内存占用,实现了高效训练。它在14.8万亿高质量Token上预训练,过程稳定,未出现不可恢复的损失突增或回滚操作。随后通过两阶段上下文长度扩展(32K到128K)和后训练(监督微调与强化学习)挖掘潜力,并从DeepSeek-R1系列模型中蒸馏推理能力。
架构:创新的负载均衡策略和训练目标
在架构方面,DeepSeek-V3基于DeepSeek-V2的高效架构,首创了一种无辅助损失的负载均衡策略,有效减少了负载均衡对模型性能的负面影响。同时,该模型将多Token预测(MTP)设定为训练目标,这不仅提升了模型性能,还支持推测解码以实现推理加速。
预训方面,DeepSeek-V3通过以下创新实现了极致的训练效率:
-
FP8混合精度训练框架:首次在超大规模模型上验证了FP8低精度训练的可行性与有效性,显著降低了计算资源需求并加速了训练过程。
-
计算-通信协同优化:通过算法、框架和硬件的协同设计,克服了跨节点MoE训练中的通信瓶颈,实现了近乎完全的计算-通信重叠,极大地提高了训练效率并降低了成本。
-
高效低成本的预训练:仅用266.4万H800 GPU小时的成本,在14.8万亿Token上完成了DeepSeek-V3的预训练,使其成为当前最强的开源基础模型。后续训练阶段仅需额外10万GPU小时。
后训练:从DeepSeek-R1 进行知识蒸馏
在后训练阶段,DeepSeek-V3通过从DeepSeek-R1系列模型进行知识蒸馏,引入了一种创新方法,将长思维链(Chain-of-Thought, CoT)模型的推理能力融入其中。这种方法不仅显著提升了DeepSeek-V3的推理性能,还巧妙地将R1模型的验证和反思能力整合进来,同时对DeepSeek-V3的输出风格和输出长度进行了精细控制。
评估结果总结:DeepSeek-V3在多个领域表现出色,成为当前最强的开源基础模型之一
-
知识领域:
-
在教育类基准测试(如MMLU、MMLU-Pro和GPQA)中,DeepSeek-V3得分分别为88.5、75.9和59.1,优于所有其他开源模型,与领先的闭源模型(如GPT-4o和Claude-Sonnet-3.5)相当,缩小了开源与闭源模型的差距。
-
在事实性基准测试(SimpleQA和中文SimpleQA)中,DeepSeek-V3在中文事实知识方面表现出色,超越了其他开源和闭源模型,尽管在英文事实知识上略逊于GPT-4o和Claude-Sonnet-3.5。
-
-
编程、数学和推理领域:
-
在数学相关基准测试中,DeepSeek-V3在没有长思维链(CoT)的模型中实现了最先进的性能,甚至在MATH-500等特定基准测试中优于o1-preview,展现了强大的数学推理能力。
-
在编程竞赛基准测试(如LiveCodeBench)中,DeepSeek-V3表现最佳,巩固了其在编程领域的领先地位。在工程相关任务中,尽管略低于Claude-Sonnet-3.5,但仍然显著领先于其他模型,展现了在多样化技术基准测试中的竞争力。
-
3.2 DeepSeek-V3的架构和它是如何工作的
3.2.1 DeepSeek-V3的基本架构
DeepSeek-V3是一个大型的语言模型,它的设计目标是既聪明又高效。为了实现这一点,它采用了一些特殊的技术来提高其性能和减少训练成本。
-
多头潜在注意力机制(MLA):
-
想象一下,你正在阅读一篇文章,你需要理解每个单词与其他单词的关系。在DeepSeek-V3中,多头潜在注意力机制就像是一个超级大脑,它可以同时关注文章中的多个部分,理解它们之间的关系。
-
为了提高效率,这个超级大脑使用了一种技巧,它只关注最重要的信息(通过低秩压缩),这样它就可以更快地处理信息,同时保持高准确性。
-
-
DeepSeekMoE:这是一种让模型更加高效的训练方法。想象一下,你有一支团队,每个成员都有特定的技能。DeepSeekMoE就像是一个聪明的经理,它知道如何分配任务给最适合的团队成员,这样每个人都可以在他们最擅长的领域工作,从而提高整体效率。
-
多Token预测(MTP):
-
这是模型的训练目标,它鼓励模型一次性预测多个单词,而不是一个接一个地预测。这就像是一个语言游戏,模型需要预测接下来的几个单词,这有助于提高它的语言理解和生成能力。
-
-
无辅助损失的负载均衡策略:
-
这是一种确保模型在处理信息时不会超载的方法。想象一下,你有很多任务要完成,负载均衡策略就像是一个时间管理器,它确保你不会同时处理太多任务,从而避免压力过大。
-
具体如何工作
处理输入:当模型接收到输入(比如一段文本)时,它会首先通过一些特殊的矩阵(W^DKV, W^UK, W^UV等)来转换这些信息,这些矩阵就像是翻译官,将输入转换成模型可以理解的形式。

注意力机制:然后,模型使用注意力机制来理解输入中的不同部分如何相互关联。这涉及到计算输入的不同部分之间的相似性(通过Softmax函数),并根据这些相似性来加权输入的不同部分。

生成输出:最后,模型将所有这些信息结合起来,通过另一个矩阵(W^O)来生成最终的输出。这就像是模型在回答一个问题或者生成一段文本。
总的来说,DeepSeek-V3的架构就像是一套高效的工具和策略,它们共同工作,使模型能够聪明、快速地理解和生成语言。
3.2.3 带有无辅助损失负载均衡的DeepSeekMoE
无辅助损失的负载均衡:对于MoE 模型,不均衡的专家负载会导致路由崩溃,并在专家并行的场景中降低计算效率。传统的解决方案通常依赖于辅助损失来避免负载不均衡。然而,过大的辅助损失会损害
模型性能。为了在负载均衡和模型性能之间实现更好的权衡,我们首创了一种无辅助损失的负载均衡策略,以确保负载均衡。
具体来说,我们为每个专家引入一个偏置项𝑏𝑖,并将其添加到相应的亲和度分数𝑠𝑖,𝑡 中,以确定top-K路由:
请注意,偏置项仅用于路由。门控值将与前馈网络的输出相乘,且门控值仍然来源于原始的亲和度分数𝑠𝑖,𝑡。在训练过程中,我们会持续监控每个训练步骤中整个批次(batch)的专家负载。在每个步骤结束时,如果有某个专家负载过高,我们会将这个专家对应的偏置项减少𝛾;如果某个专家负载不足,则增加相应的𝛾,其中𝛾 是一个称为偏置更新速度的超参数。通过动态调整,DeepSeek-V3 在训练过程中维持了专家的负载均衡,并且实现了比那些采用了纯辅助损失负载均衡策略的模型更好的性能。
互补的序列级辅助损失:虽然DeepSeek-V3 主要依赖于无辅助损失的负载均衡策略,但为了防止单个序列内部的负载极端不均衡,我们还采用了互补的序列级均衡损失:
其中均衡因子𝛼 是一个超参数,针对DeepSeek-V3 会被赋予一个极小的值;1(·) 表示指示函数;𝑇 表示序列中Token 的数量。序列级均衡损失会尽量使得每个序列的专家负载保持均衡
限制节点数量的路由:与DeepSeek-V2 使用的设备限制路由类似,DeepSeek-V3 也采用了一种受限路由机制,以限制训练过程中的通信成本。简而言之,我们确保每个Token 最多只会被发送到𝑀 个节点,这
些节点是根据分布在每个节点上的专家的最高𝐾𝑟𝑀 个亲和度分数之和进行选择的。在这个约束下,我们的MoE 训练框架几乎可以实现完全的计算-通信重叠。不丢弃任何Token 由于采用了有效的负载均衡策略,DeepSeek-V3 在整个训练过程中都保持了良好的负载均衡。因此,DeepSeek-V3 在训练过程中不会丢弃任何Token。此外,我们还实现了特定的部署策略,以确保推理的负载均衡,因此DeepSeek-V3 在推理过程中也不会丢弃任何Token。
不丢弃任何Token: 由于采用了有效的负载均衡策略,DeepSeek-V3 在整个训练过程中都保持了良好的负载均衡。因此,DeepSeek-V3 在训练过程中不会丢弃任何Token。此外,我们还实现了特定的部署策略,以确保推理的负载均衡,因此DeepSeek-V3 在推理过程中也不会丢弃任何Token。
3.2.4 多Token 预测(Multi-Token Prediction)
多Token预测(MTP):受文章启发,DeepSeek-V3采用MTP训练目标,预测多个未来Token。MTP通过密集化训练信号提高数据效率,帮助模型提前规划表示以更好预测。实现上,MTP使用顺序模块预测Token,每个模块包含嵌入层、输出头、Transformer块和投影矩阵。损失计算采用交叉熵损失,最终取平均值并乘以权重因子作为额外训练目标。推理时,MTP模块可丢弃或用于推测解码以优化延迟。
3.2.5 基础设施
3.1 计算集群
DeepSeek-V3在2048个NVIDIA H800 GPU的集群上训练,每节点8个GPU,通过NVLink和NVSwitch连接,节点间用InfiniBand通信。
DeepSeek-V3在2048个NVIDIA H800 GPU的集群上训练,每节点8个GPU,通过NVLink和NVSwitch连接,节点间用InfiniBand通信。
3.2 训练框架
DeepSeek-V3使用HAI-LLM框架,采用16路流水线并行、64路专家并行和ZeRO-1数据并行。优化方面:
DeepSeek-V3使用HAI-LLM框架,采用16路流水线并行、64路专家并行和ZeRO-1数据并行。优化方面:
-
DualPipe算法:减少流水线气泡,重叠计算和通信,降低跨节点专家并行的通信开销。
-
高效通信内核:优化跨节点All-to-All通信,节省流式多处理器(SM)资源。
-
内存优化:减少内存占用,无需张量并行即可训练。
图4: 针对一对儿独立的前向和反向计算块的重叠策略(Transformer 块的边界未对齐)。橙色表示前向,绿色表示“输入的反向”,蓝色表示“权重的反向”,紫色表示流水线并行通信,红色表示屏障。All-to-All通信和流水线并行通信都可以完全隐藏。
图5: 8 个PP 排名和20 个微批次在两个方向上的DualPipe 调度示例。反向方向上的微批次与前向方向上的微批次对称,因此为了简化说明,我们省略了它们的批次ID。两个由共享黑色边框围住的单元具有相互重叠的计算和通信。
3.2.6 DualPipe和计算-通信叠加
DeepSeek-V3的跨节点专家并行导致计算-通信比约为1:1,效率低下。为解决此问题,设计了DualPipe算法,通过重叠前向和反向计算与通信阶段,减少流水线气泡。具体方法:
-
将每个块分为attention、all-to-all dispatch、MLP和all-to-all combine四个组件,反向块进一步拆分为输入backward和权重backward。
-
采用双向管道调度,从管道两端输入微批次,隐藏通信开销。
-
与ZB1P和1F1B相比,DualPipe显著减少流水线气泡,仅增加1倍峰值激活内存,且对微批次数量要求更宽松。
3.2.2 跨节点All-to-All通信的高效实现
为确保DualPipe性能,定制了跨节点All-to-All通信内核,节省通信流式多处理器(SM)数量。具体措施:
-
限制每个Token最多调度到4个节点,减少InfiniBand流量。
-
利用InfiniBand和NVLink带宽差异,确保Token在目标节点即时转发,避免阻塞。
-
采用Warp专门化技术,将20个SM划分为10个通信通道,动态调整Warp数量,减少L2缓存使用和对其他计算内核的干扰。
3.2.3 极致节省内存
为减少内存,占用采用以下技术:
-
在反向传播中重新计算RMSNorm和MLA上投影,减少存储激活所需的内存。
-
将模型参数的指数移动平均(EMA)存储在CPU内存中,异步更新,避免额外内存和时间开销。
-
在多Token预测中,通过DualPipe策略,让MTP模块和主模型共享嵌入层和输出头的参数和梯度,提高内存效率。
3.3 FP8低精度训练
受低精度训练研究启发,DeepSeek-V3采用FP8数据格式进行训练,通过细粒度量化策略解决低精度训练中的异常值问题。提出基于元素切片或块分组的量化方法,提高精度并优化FP8通用矩阵乘法(GEMM)。同时,以FP8格式缓存激活值,以BF16格式存储优化器状态,减少内存和通信开销。在类似DeepSeek-V2的模型规模上验证,训练约1万亿tokens,相对损失误差保持在0.25%以内。

图6: FP8 数据格式的混合精度框架概览。为了清晰易懂,我们只画出了线性运算符。
3.3.1 混合精度框架
提出FP8混合精度框架,核心计算(如GEMM)采用FP8精度,关键运算(如嵌入模块、输出头、MoE门控模块等)保持原始精度(BF16或FP32),以平衡效率和稳定性。主权重、权重梯度和优化器状态使用高精度存储,通过分布式训练中的分片技术最小化内存开销。
3.3.2 量化和乘法带来的精度提升
为提高低精度训练准确性,引入以下策略:
-
细粒度量化:通过将输入张量的最大绝对值缩放到FP8可表示的最大值,避免溢出和下溢。
-
精度累加:通过提高精度并累加的方式,缓解去量化开销,确保FP8 GEMM的准确性。
图7: (a) 我们提出了一种细粒度量化方法,以减轻由异常特征值引起的量化误差;为了简单说明,仅展示了Fprop。(b) 配合我们的量化策略,当矩阵乘法累加运算(MMA)达到间隔𝑁𝐶 = 128 时,就将中间结果提升至CUDA 核进行运算,从而提升了FP8 GEMM 的精度,实现高精度的累加。
关键点:
-
细粒度量化:
-
激活值按1×128切片分组,权重按128×128块分组,适应异常值。
-
引入每组缩放因子,与NVIDIA下一代GPU(Blackwell系列)支持的微缩放格式一致。
-
-
提高累加精度:
-
FP8 GEMM在NVIDIA H800 GPU上累加精度仅约14位,低于FP32。
-
通过将中间结果提升到CUDA核进行FP32累加,显著提高精度,同时保持高利用率。
-
-
尾数优于指数:
-
采用E4M3格式(4位指数+3位尾数)而非E5M2,通过细粒度量化策略共享指数位,减轻动态范围限制。
-
-
在线量化:对每个1×128激活切片或128×128权重块实时计算最大绝对值,推导缩放因子并量化为FP8格式,确保精度。
3.3.3 低精度数据的存储和通信
在FP8训练框架中,通过将激活值和优化器状态压缩为低精度格式,减少内存和通信开销。
低精度优化器状态:
-
使用BF16格式存储AdamW优化器的一阶和二阶矩,而不是FP32,性能不受影响。
-
主权重和梯度仍用FP32,确保数值稳定。
低精度激活值:
-
在反向传播中,线性运算的激活值以FP8格式缓存,减少内存占用。
-
特殊处理:注意力运算符后的线性输入:用定制的E5M6格式存储,反向传播时从1×128切片转为128×1切片,缩放因子用2的整数次幂。
-
-
MoE中的SwiGLU输入:缓存输入并在反向传播中重新计算输出,以FP8格式存储,平衡内存和精度。
-
低精度数据通信:
-
通信是MoE模型训练的瓶颈。将MoE上投影前的激活值量化为FP8,与FP8前向传播兼容,缩放因子用2的整数次幂。
-
MoE下投影前的激活梯度也用类似策略。
-
前向和反向的combine组件保留为BF16,确保关键部分的精度。
3.4 推理和部署
DeepSeek-V3部署策略:在H800集群上部署DeepSeek-V3,采用预填充和解码两阶段部署策略,确保高吞吐量和服务级目标(SLO)。
3.4.1 预填充(Prefilling)
-
最小部署单元:4个节点,32个GPU。
-
并行策略:
-
Attention部分:4路张量并行(TP4)+序列并行(SP)+8路数据并行(DP8)。
-
MoE部分:32路专家并行(EP32),每个专家处理较大批次,提高效率。
-
稠密MLP:1路张量并行,节省通信开销。
-
-
负载均衡:
-
引入冗余专家,复制高负载专家并部署,每10分钟调整一次。
-
每个GPU托管8个专家+1个冗余专家,共32个冗余专家。
-
-
优化策略:
-
同时处理两个微批次,重叠执行attention和MoE,隐藏通信开销。
-
探索动态冗余策略,每个GPU托管16个专家,每次激活9个,动态计算最优路由方案。
-
3.4.2 解码(Decoding)
-
最小部署单元:40个节点,320个GPU。
-
并行策略:
-
Attention部分:4路张量并行(TP4)+序列并行(SP)+80路数据并行。
-
MoE部分:320路专家并行,每个GPU托管1个专家,64个GPU托管冗余和共享专家。
-
-
通信优化:
-
All-to-All通信通过InfiniBand直接点对点传输,使用IBGDA技术降低延迟。
-
-
负载均衡:
-
根据专家负载统计定期确定冗余专家集合,无需重新安排专家。
-
探索动态冗余策略,优化路由方案计算。
-
-
吞吐量优化:
-
同时处理两个微批次,重叠执行attention和dispatch+MoE+combine。
-
解码阶段瓶颈是内存访问,分配较少流式多处理器给dispatch+MoE+combine,避免影响attention计算速度。
-
3.5 对硬件设计的建议
基于DeepSeek-V3在通信和低精度训练中的经验,提出以下对AI硬件设计的建议:
3.5.1 通信硬件
-
问题:当前通信任务依赖流式多处理器(SM),导致计算资源浪费,通信效率低。
-
建议:
-
卸载通信任务:开发专门的硬件(如GPU协处理器或类似NVIDIA SHARP的网络协处理器),将通信任务从计算单元中分离。
-
统一网络接口:统一InfiniBand和NVLink网络,通过简单原语(如read、write、multicast、reduce)实现跨网络的通信,降低编程复杂性。
-
3.5.2 计算硬件
-
提高FP8 GEMM累加精度:
-
问题:当前NVIDIA Hopper架构的FP8 GEMM仅使用14位精度,无法满足高精度需求。
-
建议:提高张量核的累加精度,支持全精度累加或根据需求选择累加位宽,确保误差在可接受范围内。
-
-
支持Tile级和块级量化:
-
问题:当前GPU仅支持张量级量化,缺乏对Tile级和块级量化的支持,导致频繁数据移动,效率低。
-
建议:支持细粒度量化,使张量核能够接收缩放因子并直接完成部分和累加去量化,避免频繁数据移动。
-
-
支持在线量化:
-
问题:现有实现中,量化过程需要多次内存读写,效率低。
-
建议:
-
将FP8类型转换与TMA访问集成为一个融合操作,量化在数据传输过程中完成。
-
支持Warp级类型转换指令,加速运算并促进层归一化与量化融合。
-
采用近内存计算,将计算逻辑靠近HBM,减少芯片外内存访问。
-
-
-
支持转置GEMM运算:
-
问题:矩阵转置与GEMM运算融合复杂,需要多次内存操作。
-
建议:允许从共享内存中直接读取转置矩阵,结合FP8格式转换与TMA访问融合,简化量化工作流程。
-
四 预训练(Pre-Training)
4.1 训练数据的构成
DeepSeek-V3的训练语料库进行了优化,增加了数学和编程样本的比例,扩展了多语言覆盖范围,并改进了数据处理流程以减少冗余。训练语料库由14.8万亿高质量Token组成。采用Fill-in-Middle(FIM)策略,通过Prefix-Suffix-Middle(PSM)框架构建数据。分词器采用字节级BPE,词汇表扩展到128K Token,并优化了多语言压缩效率。训练中随机拆分部分组合Token,以减轻Token边界偏差。
4.2 超参数
-
模型超参数:
-
Transformer层数:61
-
隐藏层维度:7168
-
初始化标准差:0.006
-
注意力头数:128,每个头维度:128
-
KV压缩维度:512,查询压缩维度:1536
-
解耦查询和键的维度:64
-
MoE层:每个MoE层包含1个共享专家和256个路由专家,中间隐藏层维度:2048
-
每个Token激活8个专家,最多发送到4个节点
-
多Token预测深度:1
-
总参数量:6710亿,每个Token激活参数:370亿
-
-
训练超参数:
-
优化器:AdamW,β1=0.9,β2=0.95,weight_decay=0.1
-
最大序列长度:4K
-
学习率调度:
-
前2K步线性增加到2.2×10⁻⁴
-
保持2.2×10⁻⁴直到处理10T Token
-
逐渐衰减到2.2×10⁻⁵(4.3T Token内余弦衰减)
-
最后500B Token:前333B保持2.2×10⁻⁵,后167B切换到7.3×10⁻⁶
-
-
梯度裁剪范数:1.0
-
批次大小:前469B Token从3072逐渐增加到15360,之后保持15360
-
路由专家部署:64个GPU(8个节点),每个Token最多发送到4个节点
-
负载均衡:偏置更新速度γ=0.001(前14.3T Token),之后为0.0
-
平衡损失权重α=0.0001,MTP损失权重λ:前10T Token为0.3,后4.8T Token为0.1
图8: 在”Needle In A Haystack” (NIAH) 测试集上的评估结果。DeepSeek-V3 在128K 以内的上下文窗口长度下,都表现很好。
-
4.3 长上下文扩展
采用类似DeepSeek-V2的方法,通过YaRN进行上下文扩展,分两个阶段训练:
-
第一阶段:上下文窗口从4K扩展到32K,序列长度32K,批次大小1920,学习率7.3×10⁻⁶。
-
第二阶段:上下文窗口从32K扩展到128K,序列长度128K,批次大小480,学习率7.3×10⁻⁶。
通过扩展训练,DeepSeek-V3能够处理最大长度为128K的输入,并在长上下文任务中表现出色。
4.4 评估
-
评估基准:涵盖英语、中文和多语言基准,包括多学科选择、语言理解、闭卷问答、阅读理解、参考消歧、语言建模、中文文化、数学和代码等多个领域。
-
评估结果:DeepSeek-V3在各项基准测试中全面超越DeepSeek-V2和Qwen2.5 72B,与LLaMA-3.1 405B相比在多语言、代码和数学基准上表现更好。训练效率极高,每万亿Token仅需180K H800 GPU小时。
表3: DeepSeek-V3-Base 与其他代表性的开源基础模型的比较。所有模型在我们的内部框架中进行评估,并共享相同的评估设置。得分差距不超过0.3 的模型被认为处于同一水平。DeepSeek-V3-Base 在大多数基准测试中表现最佳,特别是在数学和代码任务上。
表4: MTP 策略的消融结果。MTP 策略持续的增强了模型在大多数评估基准上的性能。
4.5 讨论
4.5.1 多Token预测的消融研究
-
实验设置:在两个不同规模的基线模型上验证MTP策略,小规模模型包含15.7B参数,使用1.33T Token数据;大规模模型包含228.7B参数,使用540B Token数据。
-
结果:在推理时丢弃MTP模块,推理成本相同。MTP策略在大多数基准测试中显著提升了模型性能。
4.5.2 无辅助损失均衡策略的消融研究
-
实验设置:同样在两个不同规模的基线模型上验证,小规模模型包含15.7B参数,使用1.33T Token数据;大规模模型包含228.7B参数,使用578B Token数据。基线模型仅使用辅助损失进行负载均衡。
-
结果:无辅助损失策略在大多数基准测试中表现更好,验证了其有效性。
4.5.3 批次级负载均衡 vs. 序列级负载均衡
-
关键区别:无辅助损失策略是批次级均衡,不要求每个序列内均衡,更灵活。
-
实验验证:
-
专家专业化:无辅助损失模型在不同领域表现出更明显的专家专业化模式(图9)。
-
性能对比:批次级辅助损失与无辅助损失方法在模型性能上相似,验证损失在1B和3B模型上接近。
-
-
潜在挑战及解决方案:
-
序列内负载不均衡:通过大规模专家并行和数据并行解决。
-
推理时领域转移导致的负载不均衡:通过冗余专家部署解决。
-
表5: 无辅助损失平衡策略的消融结果。与纯粹基于辅助损失的方法相比,无辅助损失策略在大多数评估基准上始终实现了更好的模型性能。
五、 后训练(Post-Training)
5.1 监督微调(Supervised Fine-Tuning)
我们为DeepSeek-V3模型准备了一个包含150万个实例的指令调优数据集,覆盖了多个领域,并针对每个领域采用了不同的数据创建方法。对于推理相关的数据集,如数学、编程问题和逻辑谜题,我们使用内部的DeepSeek-R1模型来生成数据。为了平衡R1生成的推理数据的高准确性与常规格式化推理数据的清晰性和简洁性,我们开发了一个专门针对特定领域(如代码、数学或一般推理)的专家模型,并使用结合的监督微调(SFT)和强化学习(RL)训练流程。训练过程涉及为每个实例生成两种不同类型的监督微调样本:第一种将问题与其原始响应配对,第二种则在问题和R1响应旁边添加系统提示。在强化学习阶段,模型利用高温采样生成响应,整合来自R1生成数据和原始数据的模式。完成强化学习训练阶段后,我们实现了拒绝采样,以策划高质量的监督微调数据供最终模型使用。对于非推理数据,如创意写作、角色扮演和简单问答,我们利用DeepSeek-V2.5生成响应,并招募人工注释员验证数据的准确性和正确性。我们对DeepSeek-V3-Base进行两轮的微调,使用监督微调数据集,采用余弦衰减学习率调度。

图9: 无辅助损失模型和基于辅助损失模型在Pile 测试集三个领域的专家负载。无辅助损失模型表现出比基于辅助损失模型更明显的专家专业化模式。相对专家负载表示实际专家负载与理论平衡专家负载之间
的比率。由于篇幅限制,我们仅展示两个层的结果作为示例,所有层的结果详见附录B。
的比率。由于篇幅限制,我们仅展示两个层的结果作为示例,所有层的结果详见附录B。
5.2 强化学习
5.2.1 奖励模型
我们在强化学习过程中采用了基于规则的奖励模型(Rule-Based Reward Model,RM)和基于模型的奖励模型。基于规则的奖励模型用于可以通过特定规则验证的问题,例如数学问题和编程问题。基于模型的奖励模型用于具有自由形式真实答案的问题,依赖奖励模型来判断响应是否与预期的真实答案匹配。我们构建了偏好数据,不仅提供最终奖励,还包括导致该奖励的思维链,以增强可靠性。
5.2.2 组相对策略优化(Group Relative Policy Optimization)
我们采用了组相对策略优化(GRPO),该方法从组得分中估计基线,而不是使用通常与策略模型大小相同的评估模型。GRPO从旧的策略模型中抽样一组输出,然后通过最大化目标来优化策略模型。我们在强化学习过程中融入了来自不同领域的提示,例如编程、数学、写作、角色扮演和问答,使模型与人类偏好更加一致,并提高基准测试中的表现。
5.3 评估
5.3.1 评估设置
我们在多个基准测试中评估了指令模型,包括IFEval、FRAMES、LongBench v2、GPQA、SimpleQA、C-SimpleQA、SWE-Bench Verified、Aider 2、LiveCodeBench、Codeforces、中国国家高中数学奥林匹克(CNMO 2024)和美国邀请数学考试2024(AIME 2024)。我们将我们的聊天模型与多个强基线进行比较,包括DeepSeek-V2-0506、DeepSeek-V2.5-0905、Qwen2.5 72B Instruct、LLaMA-3.1 405B Instruct、Claude-Sonnet-3.5-1022 和GPT-4o-0513。对于代码和数学基准,我们使用CoT 和非CoT 方法评估模型在LiveCodeBench上的表现,数据收集时间为2024年8月至2024年11月。Codeforces 数据集的评估使用竞争者的百分比进行衡量。SWE-Bench Verified 使用无代理框架进行评估。我们使用“diff”格式评估与Aider相关的基准。对于数学评估,AIME和CNMO 2024的评估温度为0.7,结果在16次运行中取平均,而MATH-500则采用贪婪解码。我们允许所有模型在每个基准上输出最多8192个Token。
5.3.2 标准评估
评估结果表明,DeepSeek-V3是表现最好的开源模型。它在与前沿闭源模型如GPT-4o和Claude-3.5-Sonnet的竞争中也表现出色。在英文基准测试MMLU中,DeepSeek-V3展现出具有竞争力的性能,与顶尖模型如LLaMA-3.1-405B、GPT-4o和Claude-Sonnet 3.5不相上下,同时显著超越Qwen2.5 72B。在长文本理解基准测试中,如DROP、LongBench v2和FRAMES,DeepSeek-V3继续展示其作为顶尖模型的地位。在代码与数学基准测试中,DeepSeek-V3展现出卓越的表现,超越了HumanEval-Mul和LiveCodeBench等基准测试中的所有基线。在中文基准测试中,DeepSeek-V3在事实基准测试中文SimpleQA中超越了Qwen2.5-72B 16.4分。在C-Eval和CLUEWSC中,DeepSeek-V3和Qwen2.5-72B表现出相似的性能水平。
六、一些个人思考
在拆解deepseek源代码和论文后,我发现了一个颠覆行业认知的真相,这个号称用1/10算力吊打GPT4的国产大模型,藏着令人拍案叫绝的工程智慧,却也暗藏致命软肋。
第一刀切开开源表象:deepseek确实把代码仓库甩上了github, 但这套开源策略藏着精妙算计,他们公开的是经过蒸馏的成体模型,而非原始训练框架,就像给你组装好的乐高战舰,却藏起了设计图纸。这种半开放式开源既能吸引开发者构建生态,又守住了核心know-how。反观Open AI彻底闭源的API模式,deepseek剂既赚了口碑,又卡住了技术咽喉。
第二刀解剖算力魔术:当我追踪到模型架构层时,发现了真正的技术核弹,他们用FP8混合精度训练替代传统FP32,硬生生把显卡显存占用砍掉75%。更绝的是MoE架构的动态路由机制:面对医疗问题就唤醒医学子模型,遇到代码任务就启动编程模块,让每个GPU时钟周期都用在刀刃上,面对医疗问题就唤醒医学子模型,遇到代码任务就启动编程模块,让每个GPU时钟周期都用在刀刃上。这套组合拳下来,训练成本直接压到open AI的5.6%,但代价是工程复杂度指数及暴增,稍有不慎就会数值溢出。
第三刀刺穿精度幻象:在数学推理测试集上,deepseek确实追平了GPT4,但当我们在医疗影像诊断任务实测时,FP8精度导致的梯度消失问题暴露无遗,例如模型可能会把0.8cm的肿瘤误判为0.1cm,这种误差在现实场景足以致命。开元社区狂欢的80元部属个人助手,本质是把专业级手术刀当水果刀用,看似普惠,实则埋雷。
第四刀直指生态悖论:虽然燧原等20余家芯片厂宣布适配,但代码里暗藏的PTX指令集暴露出对英伟达架构的深度绑定。所谓国产算力突围,更像是用美式枪械打游击战,一旦遭遇架构及封锁,这套优化体系有可能瞬间崩塌。Deep真正颠覆的不是技术线,而是游戏规则。他证明,在AI竞赛中,后来者完全可以用算法杠杆撬动千倍算力差距,但当行业集体转向优化竞赛时,我们可能正在亲手埋葬通用人工智能的未来。当所有人都沉迷于裁剪模型尺寸时,谁还有勇气继续攀登AG的险风?
Deepseek映造出中国AI军团破局的智慧,也暴露出急功近利的隐忧。在这个算力与算法疯狂博弈的时代,Deepseek就像一剂强效兴奋剂,能让追赶者瞬间爆发,却有可能治不好核心技术贫血症。下一个10年,AI王座的归属,恐怕要看谁能在这条钢索上走出最精妙的平衡。
七、参考资料
https://github.com/openai/simple-evals
左元翻译 《DeepSeek-V3 技术报告》
https://aider.chat
https://codeforces.com
https://www.cms.org.cn/Home/comp/comp/cid/12.html
DeepSeek LLM: Scaling Open-Source Language Models with Longtermism”,https://arxiv.org/abs/2401.0295420。
DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models”,https://arxiv.org/abs/2401.060662,代码地址为:https://github.com/deepseek-ai/DeepSeek-MoE。
DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model”,https://arxiv.org/abs/2405.044343,代码地址为:https://github.com/deepseek-ai/DeepSeek-MoE。
DeepSeek-V3 Technical Report”,:https://arxiv.org/abs/2412.1943714,代码地址为:https://github.com/deepseek-ai/DeepSeek-V3。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)