旺晓通~一文读懂 DeepSeek-V3:大模型界的 “超级新星”
旺晓通:深入浅出解读,轻松通晓技术
大家好!今天必须跟你们讲讲大语言模型圈的一件大事,一个超厉害的“选手”闪亮登场,它就是DeepSeek-V3!这名字听着就霸气,实力更是逆天。你们知道吗,现在大语言模型那竞争叫一个激烈,就像武侠小说里的江湖,高手辈出。但DeepSeek-V3一出现,直接在这个“江湖”里掀起了惊涛骇浪。它号称有6710亿个参数,虽然每次处理一个词时只激活370亿个参数,但这也足够让其他模型“瑟瑟发抖”了。关键是,它不仅性能超强,训练成本还低得让人不敢相信,就好像一个武林高手,武功高强还不怎么消耗内力,这谁能受得了?今天咱就来深度扒一扒,DeepSeek-V3到底藏着什么秘密武器,能在大模型的江湖中脱颖而出!

作者:张长旺,图源:旺知识
更深入技术细节可以阅读:深度剖析DeepSeek-V3:从架构创新到实验佳绩,解锁语言模型新高度
一、DeepSeek-V3的诞生背景:大模型江湖的新挑战与机遇
最近这几年,大语言模型的发展速度快得像火箭一样。你看那些科技巨头,像OpenAI、Google、Anthropic,他们在这个领域疯狂“内卷”,不断推出新模型,让大语言模型朝着通用人工智能的方向一路狂飙。在这个过程中,开源模型也没闲着,DeepSeek系列、LLaMA系列、Qwen系列还有Mistral系列,都在努力追赶那些闭源的“大佬”,想要在大模型江湖中占据一席之地。
DeepSeek-V3就是在这样的背景下诞生的。研发团队心里想着,咱得搞出点大动静,把开源模型的能力再提升一个档次。于是,他们大刀阔斧地对模型进行升级,DeepSeek-V3就这样横空出世。它就像是一个带着使命的“超级英雄”,肩负着推动开源模型发展的重任,要在大模型江湖中闯出属于自己的一片天。
二、架构创新:DeepSeek-V3的“智慧大脑”是如何运作的
(一)基本架构:传承与创新的融合
DeepSeek-V3的基本架构是基于Transformer框架搭建的,这就好比是它的“骨架”,为整个模型提供了稳定的结构支撑。在这个基础上,它采用了两个非常关键的技术:多头潜在注意力(MLA)和DeepSeekMoE,这俩技术可是DeepSeek-V2验证过的“黄金搭档”,在DeepSeek-V3身上继续发光发热。
先来说说MLA,它在注意力机制上玩出了新花样。传统的注意力机制在处理信息时,就像是一个人在图书馆找书,每本书都得从头翻到尾,效率不高。而MLA呢,就像是给图书馆的书做了一个超级详细的索引,找书的时候能直接定位到关键信息,大大提高了查找效率。具体来说,它对注意力的键和值进行了低秩联合压缩,在推理的时候能减少键值缓存,就好像把图书馆里那些不常用的书暂时存到仓库里,需要的时候再取出来,这样就能节省很多空间。同时,它对注意力查询也进行了低秩压缩,降低了训练时的激活内存,这就好比是优化了图书馆的空间布局,让读者能更舒服地看书。
再看看DeepSeekMoE,它主要用在Feed-Forward Networks(FFNs)上。传统的MoE架构就像是一群人各自为政,虽然每个人都有自己的专长,但协作起来不太顺畅。DeepSeekMoE则像是把这些人组织成了一个高效的团队,它用了更细粒度的专家,还把一些专家设为共享专家,这样就能充分发挥每个专家的优势。而且,它在计算FFN输出的时候,会根据不同的专家和输入进行合理的加权计算,就像是团队里每个人都能各司其职,共同完成任务。
(二)无辅助损失的负载均衡策略:让模型“干活”更高效
在MoE模型里,负载均衡是个大问题。就好比一个工厂里,有的工人忙得脚不沾地,有的工人却闲得没事干,这肯定不行。传统的解决办法是加个辅助损失来平衡负载,但这就像给工人强制分配任务,可能会影响工人的工作积极性,也就是影响模型的性能。
DeepSeek-V3可不想这么干,它想出了一个无辅助损失的负载均衡策略。这个策略就像是给每个工人都配了一个智能助手,根据每个工人的工作负荷动态调整任务分配。具体来说,它给每个专家都加了一个偏置项,这个偏置项会根据专家的负载情况实时调整。如果某个专家负载过高,就减少分配给他的任务;如果负载过低,就给他多分配点任务。而且,为了防止单个序列内出现极端不平衡的情况,它还加了一个互补的序列级平衡损失,这就像是在车间里设置了一个监督岗位,随时确保每个工作环节都能平衡进行。
(三)多令牌预测:让模型“未卜先知”的神奇技能
DeepSeek-V3还有一个超厉害的技能,就是多令牌预测(MTP)。一般的模型就像近视眼,只能看到眼前的一个词,预测下一个词是什么。而MTP让DeepSeek-V3拥有了“千里眼”,能一下子看到未来好几个词。这就好比你看小说,普通模型只能根据上一句话猜下一句话,而DeepSeek-V3能一下子猜到接下来好几句话的内容,是不是很神奇?
它实现MTP的方式也很巧妙。它用了D个顺序模块来预测D个额外的词,每个模块就像是一个小侦探,根据前面的线索不断推理下一个词。而且,它在预测的时候会保持完整的因果链,就像侦探破案时,每个线索都环环相扣,这样就能更准确地预测未来的词。在训练的时候,它会计算一个MTP损失,这个损失会帮助模型不断优化预测能力。到了推理的时候,MTP模块还能用来做投机解码,进一步提高生成速度,就像给模型装上了一个加速器。
三、基础设施优化:为模型打造“超级装备”
(一)计算集群:强大的“动力心脏”
要训练DeepSeek-V3这样的巨无霸模型,没有一个强大的计算集群可不行。它的训练集群配备了2048块NVIDIA H800 GPU,这就好比是给模型装上了一颗超级强大的“动力心脏”。每个节点里有8块GPU,它们通过NVLink和NVSwitch连接在一起,就像一个紧密协作的小团队。而不同节点之间则通过InfiniBand(IB)互连,实现高效的通信,就像城市之间的高速公路,让信息能快速传递。
(二)训练框架:高效训练的“魔法秘籍”
DeepSeek-V3的训练框架也是经过精心设计的,它就像是一本魔法秘籍,能让模型训练变得又快又好。这个框架采用了16路管道并行(PP)、64路专家并行(EP)和ZeRO-1数据并行(DP)。
其中,PP就像是工厂里的流水线,把模型的不同层分配到不同的GPU上,让它们能同时工作,提高训练效率。但是,传统的PP方法会有一些“流水线气泡”,就像流水线偶尔会卡顿一样。DeepSeek-V3的DualPipe算法就解决了这个问题,它通过重叠计算和通信阶段,让流水线能更顺畅地运行。这就好比是优化了流水线的流程,让工人在工作的同时,也能快速传递材料,减少等待时间。
EP则是把专家分配到不同的GPU上,让每个专家都能充分发挥自己的能力。DeepSeek-V3的EP跨度为8个节点,这样就能充分利用集群的计算资源。同时,它还开发了高效的跨节点全对全通信内核,能充分利用IB和NVLink的带宽,就像给高速公路拓宽了车道,让信息能更快地流通。
DP则是用来处理数据并行的问题,它能让模型在不同的GPU上处理不同的数据,提高训练的效率和稳定性。通过这些并行技术的结合,DeepSeek-V3的训练框架能实现高效的训练,让模型快速成长。
(三)FP8训练:低精度训练的“神奇药水”
在训练模型的时候,精度和效率就像鱼和熊掌,很难兼得。但是DeepSeek-V3找到了一种“神奇药水”,那就是FP8训练。它提出了一个细粒度的混合精度框架,利用FP8数据格式来训练模型。
这个框架就像是给模型的训练过程做了一次精细化管理。大部分计算密集型操作都用FP8精度来执行,这就好比是让工人用更高效的工具干活,能大大提高计算速度。比如GEMM操作,用FP8精度执行能让计算速度翻倍。而对于一些对精度要求比较高的操作,像嵌入模块、输出头、MoE门控模块、归一化操作和注意力操作,就保持原来的精度,这样就能保证训练的稳定性。
为了让FP8训练更准确,它还采用了一些策略。比如细粒度量化,它会根据不同的元素组进行缩放,就像给不同的物品贴上不同的标签,让它们能更好地适应FP8的格式。还有增加累加精度,它会把中间结果复制到CUDA核心的FP32寄存器里进行高精度累加,就像把重要的东西放到更安全的地方保管。这些策略让FP8训练在保证精度的同时,还能提高训练效率。
(四)推理和部署:让模型“走进千家万户”
训练好模型后,就要考虑如何把它部署到实际应用中,让它能为大家服务。DeepSeek-V3的推理和部署策略就像是给模型规划了一条通往“千家万户”的路。
在推理阶段,它把预填充和解码阶段分开。预填充阶段就像是给汽车加油,先把必要的信息准备好。它的最小部署单元由4个节点和32块GPU组成,采用了4路张量并行(TP4)、序列并行(SP)和8路数据并行(DP8)。为了实现负载均衡,它还采用了冗余专家的部署策略,就像给重要岗位安排了备用人员,确保每个GPU都能高效工作。
解码阶段则是模型真正发挥作用的地方,它把共享专家当作路由专家,让每个词都能选择合适的专家。这个阶段的最小部署单元由40个节点和320块GPU组成,采用了TP4、SP和DP80,还利用了IBGDA技术来减少延迟,提高通信效率。同时,它也在探索动态冗余策略,让模型能根据实际情况灵活调整,就像一个聪明的管家,能根据家里的需求随时做出调整。
(五)硬件设计建议:为未来硬件发展“指明方向”
基于DeepSeek-V3的训练和部署经验,研发团队还对硬件设计提出了一些建议,这些建议就像是给硬件厂商的一份“发展指南”。
在通信硬件方面,现在的通信实现依赖于昂贵的SM(流式多处理器),这就像用大卡车去送小包裹,效率不高。团队希望未来的硬件能把通信任务从SM上卸载下来,就像给卡车减轻负担,让它能更专注于运输大件货物。比如开发一种像NVIDIA SHARP那样的硬件,作为GPU协处理器或网络协处理器,统一IB和NVLink网络,让计算单元能更方便地进行通信操作。
在计算硬件方面,团队建议提高Tensor Core中FP8 GEMM的累加精度,就像给计算器升级,让它能算出更精确的结果。同时,支持细粒度量化、在线量化和转置GEMM操作,这样就能更好地适应模型训练和推理的需求,让硬件和模型能更好地配合,发挥出更大的作用。
四、预训练:让模型“饱读诗书”的成长之路
(一)数据构建:精心挑选的“知识宝库”
预训练对于模型来说,就像是一个人小时候读书学习,读的书越多、越好,长大后就越有见识。DeepSeek-V3在数据构建上花了很大的心思,它的训练语料库就像是一个精心挑选的“知识宝库”。
相比于DeepSeek-V2,它提高了数学和编程样本的比例,就像在图书馆里增加了很多理工科的书籍。同时,它还扩大了多语言的覆盖范围,不再局限于英语和中文,就像图书馆里增加了各种语言的书籍,让模型能接触到更广泛的知识。
在数据处理上,它也做了很多优化,减少了冗余,保持了语料库的多样性,就像整理图书馆的书架,把重复的书清理掉,让每一本书都有自己的价值。它还采用了文档打包方法,就像把相关的书籍整理成一套,方便模型学习。而且,它还引入了Fill-in-Middle(FIM)策略,让模型能根据上下文更准确地预测中间的文本,就像给模型戴上了一副“透视眼镜”,能看穿文本的隐藏信息。
(二)超参数设置:模型成长的“秘密配方”
超参数对于模型来说,就像是做菜时的调料,放多放少都有讲究,合适的超参数能让模型发挥出最佳性能。DeepSeek-V3在超参数设置上也有自己的“秘密配方”。
它设置了61层Transformer层,隐藏维度为7168,就像给模型搭建了一座61层的高楼,每层都有7168个房间,让模型有足够的空间来学习和存储知识。在MLA中,它设置了128个注意力头,每个头的维度为128,这就像给模型装了128个不同角度的“望远镜”,能从不同的视角观察数据。同时,它还设置了合适的压缩维度和其他参数,让模型在保证性能的同时,能更高效地运行。
在训练超参数方面,它采用了AdamW优化器,就像一个聪明的教练,能根据模型的训练情况调整学习的步伐。它设置了合适的学习率调度、梯度裁剪规范、批大小调度策略等,就像给模型制定了一个科学的训练计划,让模型能稳步成长,避免在训练过程中“走弯路”。
(三)长上下文扩展:让模型拥有“超长记忆”
长上下文能力对于模型来说,就像是一个人能记住很长时间的事情,这样在处理复杂问题时就能更得心应手。DeepSeek-V3采用了类似DeepSeek-V2的方法来扩展长上下文能力,就像给模型的记忆力进行了一次升级。
它在预训练之后,用YaRN进行上下文扩展,分两个阶段把上下文窗口从4K扩展到32K,再扩展到128K。这就好比是让一个人的记忆力从只能记住一小段故事,逐渐提升到能记住一部长篇小说的内容。在这个过程中,模型能处理更长的输入,并且保持很强的性能,就像一个记忆力超群的人,能轻松应对各种复杂的记忆任务。
(四)评估:检验模型学习成果的“期末考试”
预训练结束后,就需要对模型进行评估,这就像是学生期末考试,看看模型到底学到了多少知识。DeepSeek-V3在评估时采用了一系列的基准测试,这些测试就像是不同科目的考试试卷。
它在多个领域的数据集上进行评估,包括多学科选择题、语言理解和推理、闭卷问答、阅读理解、参考消歧、语言建模、数学、代码和标准化考试等。通过这些评估,能全面了解模型在不同方面的能力,就像通过多门考试,能全面了解一个学生的学习情况。
评估结果显示,DeepSeek-V3在大多数基准测试中都表现出色,尤其是在数学和代码任务上,它就像一个偏科的学霸,在自己擅长的领域遥遥领先。与其他开源模型相比,它在很多方面都超越了对手,成为了最强的开源模型,这就像一个学生在班级里脱颖而出,成为了大家学习的榜样。
(五)讨论:总结经验,为模型发展“查漏补缺”
在完成评估后,团队对一些关键技术进行了讨论,这就像是考试结束后,老师和学生一起分析试卷,总结经验教训,为以后的学习和发展“查漏补缺”。
对于多令牌预测(MTP)策略,通过对比实验发现,MTP能显著提升模型在大多数评估基准上的性能,就像给模型吃了一颗“智慧药丸”,让它变得更聪明。对于无辅助损失的负载均衡策略,实验表明这个策略能让模型在保持负载平衡的同时,取得更好的性能,就像给模型找到了一种更合理的工作方式,让它能更高效地完成任务。
此外,团队还对比了批级负载平衡和序列级负载平衡,发现批级负载平衡能让专家更好地专业化,虽然存在一些效率上的挑战,但通过现有的训练和推理框架可以有效解决,就像在工作中找到了一种更灵活的分工方式,虽然会遇到一些小问题,但都能顺利解决。

作者:张长旺,图源:旺知识