在预训练阶段,对性能影响有限的地方,他们选择了极致压缩;在后训练阶段,对模型擅长的领域,他们又倾注全力提升。
没有GPU Poor,只有卷得不够多。
DeepSeek-V3的横空出世,用一组惊人的数据完美诠释了这句话。
当o1、Claude、Gemini和Llama 3等模型还在为数亿美元的训练成本苦恼时,DeepSeek-V3用557.6万美元的预算,在2048个H800 GPU集群上仅花费3.7天/万亿tokens的训练时间,就达到了足以与它们比肩的性能
这个数字意味着什么?每万亿tokens仅需180K个H800 GPU小时,总计278万 GPU小时的训练成本。而Llama 3.1的训练使用了16,384块Nvidia H100 GPU,总计2100多万GPU小时,翻了十倍。
在之前大家赞许争论之声未止,但“魔法”的面纱却没人掀开。
腾讯科技就帮你们抽取出其中最核心的那一部分,用更平实的语句解释DeepSeek-V3的“省钱高效”背后的技术路径。
训练的省钱法门:能压都压,全不空转
传统之中,大模型训练降低成本主要靠两招:压缩、并行和提升硬件使用效率。
DeepSeek-V3这次所用的方法基本上就是猛挥这三板斧。
压缩:从结构到量化
压缩很容易理解,就是把大的东西压缩成小的。
对于模型训练来讲,压缩之后,运算单元(GPU和CPU)需要进行的运算数据量就会减少,运算速率必然会提升。另一个重要影响是,内存占用和缓存会减少,这样训练同样大小的模型所需要的硬件规模也可以大幅减少。
而在训练模型的过程中,内存占比最高的就是向量数据。
DeepSeek-V3这次一次用了两种方法去压缩向量数据,一是MLA多层注意力架构,另一个就是FP8混合精度训练。
多层注意力MLA
打个比方,如果把注意力机制比作图书检索系统,传统方法相当于为每本书都建立完整的索引卡片(Key)和内容摘要(Value),而DeepSeek的方法则像是建立了一个智能的分类系统,不记具体信息,而是记一个简单的"标签"(压缩的Key/Value),需要时再从标签还原出详细信息。就像把"计算机技术,三楼右侧第二排"简化成"C2-3"这样的编码。
在这个过程中,DeepSeek使用了低秩压缩技术(可以理解为将高维矩阵压缩为若干个低维矩阵的乘积),将KV压缩到512维度,远小于原始维度。通过Key/Value的低秩压缩使得的训练内存占用减少了20-30%。
在Query端的优化对训练效率也非常有意义。Query可以理解为用户的检索请求,传统方法会为每个请求都分配大量计算资源。DeepSeek通过对Query的低秩压缩,减少了计算过程中的激活内存占用。虽然这种优化对推理阶段的影响相对较小,但在训练过程中发挥了重要作用,显著提升了训练效率。这就像是优化了图书检索系统的查询处理机制,使得系统能够更快速地处理大量并发的检索请求。
而DeepSeek-V3巧妙的找到了一些平衡,让这些压缩技术几乎没有影响模型的性能。
FP8 混合精度训练框架
MLA方法是从DeepSeek V2开始就采用的方法,本次只是进行了优化调整。而在DeepSeek-V3里引入了一种 FP8 混合精度训练框架,并首次在超大规模模型上验证了其有效性。
FP8就是用8个二进制位来表示数字的格式,相比传统的32位(FP32)和16位(FP16)格式,精度低了很多,但是占用空间小,计算快。
就像用"约350人"代替"准确的358人",牺牲一些精度来换取效率。虽然不够精确,但在很多场景下已经够用了,而且能大大提升运算速度和节省内存。
就像一个精打细算的主厨:日常备菜用普通的厨具就够了,但到了关键的烹饪步骤,就会换上最好的刀具。
在模型训练中,大部分的前向运算都使用FP8来处理,这样可以大大节省显存和计算资源,让整个训练过程跑得更快。但他们也很清楚哪些地方不能省:比如最后的调味、摆盘(对应嵌入模块、输出头等),就一定要用精密的工具(FP16或FP32精度)。
这一策略使得模型训练速度大幅提升,毕竟核心计算能提升100%的速度,而显存使用减少也非常明显。并且模型最终的效果精度损失能做到小于0.25%,几乎无损。
并行:对硬件的极限使用
要实现更快的训练速度,最有效的方法就是增加并行计算的规模,让更多的计算单元同时处理不同的数据或任务。而在并行中,需要解决的问题就是尽可能的有效利用计算资源,让它们都高负载的工作。
在系统架构层面,DeepSeek就使用了专家并行训练技术,通过将不同的专家模块分配到不同的计算设备上同时进行训练,提升了训练过程中的计算效率。
但这种简单的并行还远不够。DeepSeek这次对算力做的是极限压榨:如果把训练过程当成一个工厂的话,他们主要做的就是不让流水线上没有闲人,再加上尽可能优化工序,让工件(数据)进入流水线时直接就可以被操作(计算)。
DualPipe跨节点通信
优化流水线流程的主要模式是DeepSeek创新的DualPipe方法。
在计算和通信重叠方面,DualPipe采用了类似于"多任务并行处理"的思路。
就像现代计算机能够在下载文件的同时处理文档一样,DualPipe让模型在进行计算的同时,后台已经开始准备下一步需要的数据传输。这种设计确保了通信开销被很大程度地隐藏在计算过程中,极大提升了整体效率。
传统的训练信息流水线并行就像一条产品装配线,每个工位按顺序处理任务。当数据包从一个阶段传递到下一个阶段时,往往会产生等待时间,这就是所谓的"流水线气泡"。这些气泡会导致计算资源的浪费,就像流水线上的工人不得不等待上游工序完成才能开始工作。此外,不同节点之间的数据传输时间也会成为性能瓶颈,就像工位之间传递零件的时间过长会影响整体生产效率。
除此之外,还要尽量压缩取件到操作的过程。
因为DeepSeek对流水线的特殊设计,使得通信和计算的过程可以重叠。当一个节点在进行当前批次数据的计算时,系统已经开始准备下一批次需要的专家参数传输。当前向计算完成时,下一步需要的数据已经就位,几乎不会产生等待时间。大部分数据传输时间被"隐藏"在了计算过程中,就像在无缝衔接的装配线上,零件的运送时间对整体生产效率几乎没有影响。
DualPipe正是通过精确控制这种重叠过程,实现了在大规模分布式训练中接近零通信开销的理想状态。
无辅助损失的负载均衡策略
无辅助损失的负载均衡策略是DeepSeek-V3一个让训练过程中工人各展所能的调整。
负载均衡策略在V2时代已经被引入,但在这一代更进一步。
在专家混合系统(MoE)中,负载均衡一直是个关键挑战。因为MoE有很多专家模型,怎么能让该上的专家不闲着,没人无事可做对训练和模型效率都很关键。
传统方法通常需要引入额外的辅助损失项来平衡专家的使用,就像在工厂中人为设置配额来确保各条生产线的负载均衡。这种方法不仅增加了训练的复杂性,还可能影响模型的本地优化目标。
这个改进让训练过程更稳定,大家都有机会训练,也提高了训练效率。
底层通信优化
对于模型训练来讲,底层通讯也是个大问题,很多时候硬件间通讯不畅就会使得训练产线出现局部停工,无活儿可干的事儿。
DeepSeek在这方面也做了相当的优化,专门开发了高效的跨节点全对全通信内核。这就像是在高速公路系统中建立了更智能的红绿灯调度系统,能够充分利用InfiniBand和NVlink这些高速通道的带宽。这些优化确保了数据在不同计算节点之间的传输始终保持在最高效率。
以上这些还不是DeepSeek在训练上采用的所有提效手段,只是相对大胆创新的部分。目前其他训练在架构中常用的移除LayerNorm中的bias项、在FFN后引入scale因子、采用RoPE相对位置编码等方式,DeepSeek-V3也都有所采用。而在训练策略上,DeepSeek还采用了ALiBi位置编码预训练、Flash Attention 2实现、序列长度动态扩展等已有先进技术。
既然GPU少,那就卷工程,DeepSeek这回确实是用东亚魔法打破西方垄断。
超强性能的秘密:努力偏科
DeepSeek-V3的能力确实相当惊艳,相较于其他顶尖开源模型如LLama 3.1 405B,Qwen2.5 72B,在数据上都更胜一筹。甚至在和Claude 3.5 Sonnet和GPT-4o这两个最顶尖模型的比较上都有多项数据更强。
那DeepSeek-V3为什么这么强呢?
首先是基础。DeepSeek-V3 的总参数量有671B,每个token激活37B参数。整体参数总量比Llama 3.1 405B还高,也远超Qwen 2.5的72B。在Scaling Law尚未碰壁的情况下,参数大小上的优势依然是实实在在的。
而且在上面的训练过程中,我们看到DeepSeek-V3虽然全力压缩数据,但在工程中尽可能的降低了对模型质量的影响。
这就是DeepSeek的底子。但能让它更上一层楼的还有其他几个关键因素。
数据精筛
首先是数据,高效的数据选择就意味着快速的性能提升。
DeepSeek-V3在数据处理方面展现可以说是精益求精,卷到极致。其数据处理策略涵盖了从原始数据采集到最终训练集构建的完整流程。
根据DeepSeek 的技术报告,在训练V3的过程中,DeepSeek用了14.8万亿tokens的预训练。而作为对比Llama 3.1用了15万亿tokens,而Qwen 2.5的训练则使用了18万亿token。
首先在数据源的选择上,DeepSeek-V3采用了更多元化的数据获取策略。基础训练数据来源于经过严格筛选的CommonCrawl语料库,这确保了数据的广泛性和代表性。除此之外,研发团队还特别重视专业领域数据的引入,包括大规模的代码数据集、数学推理数据、科学文献等。
在数据清洗环节,DeepSeek采用了专有的数据过滤算法,实施了多层次的质量控制。这个过程首先对原始数据进行重复内容的识别和删除,确保数据的唯一性。随后,通过智能算法筛除低质量内容,包括格式错误的数据、不完整的文本片段以及不符合规范的内容。这种严格的数据清洗流程不仅提高了训练数据的质量,也为模型的最终表现奠定了良好基础。
数据处理的技术实现上,DeepSeek-V3采用了一系列先进的处理方法。首先是统一的tokenizer设计,确保了数据处理的一致性。其次是动态序列长度调整机制,这使得模型能够更好地处理不同长度的输入。通过数据混合采样策略和课程学习方法,他们也优化了训练过程中的数据使用效率。
MTP技术
然后是架构革新。
DeepSeek引入的多token预测(MTP)技术堪称一个Game Changer。这项技术实际上是meta在今年4月30号提出的,DeepSeek对新技术的应用甚至快过meta自己。
简单讲这也是一种并行优化。
DeepSeek-R1蒸馏
除了在数据选择上更多引入了专业数据之外,还要提到后训练过程中,DeepSeek对R1的蒸馏使用。这一方面提升了模型的能力,也让它有点偏科。
DeepSeek R1 系列模型是DeepSeek在复现GPT-o1上的最新尝试。它在今年11月21日才发布Preview版本,就已经用在对DeepSeek-V3的蒸馏上了。
这一模型本身使用强化学习训练,推理过程包含大量反思和验证,思维链长度可达数万字。在编程和数学能力方面甚至在几项指标上超越了GPT-o1-preview。
通过从DeepSeek-R1系列模型中蒸馏推理能力,即从R1模型中提取关键的推理模式和解题策略作为数据微调DeepSeek主干模型,并采用循序渐进课程学习等先进方法,DeepSeek-V3模形式化思维能力得到了大幅强化。此外,在蒸馏过程中,V3还学会了对结构化数据处理和长序列计算进行了优化。
因此,DeepSeek-V3很强,但仍然还有很大优化的空间。
DeepSeek-V3,工程的奇迹也是重要的价值
这一评价其实并不算特别中肯。确实,DeepSeek-V3所采用的核心技术中,多层注意力MLA技术存在已久、MTP技术来自今年4月meta的论文,而R1的蒸馏和探索也是受到OpenAI和谷歌的启发。
但在底层工程并行技术上,DeepSeek实际上做了很多创新。比如无辅助损失负载均衡来自DeepSeek八月的论文,Daulpipe也是DeepSeek的新尝试。
至少在工程面上,DeepSeek的创新力并不差。
但他却忽视了一个基本事实:在深度学习时代,规模效应本身就是算法创新的催化剂。
当下AI之所以难以渗透落地,很大的原因正是因为成本还不够低。尤其是在模型进入强化学习时代后,o1的成本更是高的难以让人向下进入日常。
而这正是DeepSeek-V3所做的尝试价值所在。它展示了一种新的可能性:在工程实现和理论创新之间找到平衡点。它不是在追随OpenAI或Anthropic的路径,而是开创了一条符合现实约束的技术进化道路。
在AI领域,过分强调"形而上"的理论创新,同时轻视工程实现的突破,这种倾向某种程度上正是阻碍AI真正落地的绊脚石。
之前提到的meta四月发布的论文技术和DeepSeek本身在八月的论文提到的技术,包括11月发布的R1模型,它们的能力都被运用到了年底发布的这个最新模型之中。
DeepSeek至少做到了,以最快的速度将理论转化为现实。
作者:郝博阳,本文来源:腾讯科技,原文标题:《省钱也是技术活:解密DeepSeek的极致压榨术》
风险提示及免责条款
以上就是本篇文章【省钱也是技术活:解密DeepSeek的极致压榨术】的全部内容了,欢迎阅览 ! 文章地址:http://xiaoguoguo.dbeile.cn/news/7369.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 多贝乐移动站 http://xiaoguoguo.dbeile.cn/mobile/ , 查看更多