原创 云中江树 2025-02-22 10:17 北京
DeepSeek 在AI基础设施上的独门秘籍!
DeepSeek 刚刚公开了他们的"秘密武器"是如何打造的!
这事儿有多火?
他们就放出了一个 GitHub 仓库,里面就一个说明文档,结果短短8小时就吸引了将近2000个开发者点赞关注!
https://github.com/deepseek-ai/open-infra-index
所以这个文档里到底藏着什么宝贝?
它揭示了 DeepSeek 的"AI训练神器" - 一个叫"萤火2号"(Fire-Flyer AI-HPC)的超级计算机系统是怎么建成的。
通过这份文档,我们能窥见 DeepSeek 在AI基础设施上的独门秘籍!
https://arxiv.org/abs/2408.14158
接下来,江树和大家一起来聊一聊这篇论文。
这篇论文讲的是如何通过软硬件协同设计,搭建一个既省钱又高效的AI超级计算机系统,专门用来训练深度学习模型,特别是现在很火的大型语言模型(LLMs)。
别担心,我会用最通俗的语言,尽量让小白也能看懂这篇论文的核心内容和亮点。
1. 背景:为什么需要Fire-Flyer AI-HPC?
首先,我们得明白为什么需要这样一个系统。深度学习,特别是大型语言模型(比如GPT-3、PaLM),发展得非常快。这些模型的参数量动不动就上百亿、千亿,训练它们需要的计算资源(主要是GPU)和存储、网络资源非常庞大。
问题1:计算资源超贵
训练这些模型需要成百上千的GPU,而GPU的价格很贵,电费也不便宜。如果用传统的超级计算机或者昂贵的GPU集群(比如NVIDIA的DGX-A100系统),成本会非常高。
问题2:能耗高,环保压力大
这么多GPU一起跑,耗电量巨大,碳排放也高,不符合现在节能减排的大趋势。
问题3:性能和成本的平衡很难
如果用便宜的硬件,性能可能跟不上;如果用高性能的硬件,成本又太高。如何在性能和成本之间找到平衡,是一个大难题。
这篇论文的作者想解决这些问题,提出了Fire-Flyer AI-HPC系统,目标是用更低的成本和能耗,达到接近高端系统(如DGX-A100)的性能。
2. Fire-Flyer AI-HPC是什么?
Fire-Flyer AI-HPC是一个专门为深度学习设计的超级计算机系统。它最大的特点是软硬件协同设计,也就是硬件和软件一起优化,既省钱又高效。下面我们来一步步看看它是怎么做到的。
硬件设计:选便宜但好用的零件
作者在硬件上做了一些聪明的选择,降低了成本:
GPU选择:PCIe A100,而不是SXM A100
NVIDIA的DGX-A100系统用的是SXM A100 GPU,性能很高,但价格也贵。
作者选择了PCIe A100 GPU,性能大约是SXM A100的83%,但成本和能耗只有60%。
简单来说,PCIe A100虽然性能稍低,但性价比更高,适合预算有限的场景。
网络设计:Fat-Tree拓扑,省钱又高效
网络是超级计算机中很重要的一部分,数据的传输速度直接影响训练效率。
作者用了Fat-Tree网络拓扑,这种网络带宽很高,适合AI训练和存储任务。
为了进一步省钱,他们把网络分成两个区域(Zone),减少了昂贵的交换机数量。
存储和计算网络也整合在一起,减少了额外的硬件成本。
存储设计:用NVMe SSD,速度快容量大
训练AI模型需要处理大量数据,存储系统的性能很关键。
作者用了NVMe SSD(一种很快的硬盘),搭配自己的文件系统(后面会讲),既能满足高速读写需求,又能省钱。
软件优化:让硬件更好用
光有硬件还不够,软件优化是Fire-Flyer AI-HPC的另一大亮点。作者开发了一些工具,让系统更高效、更稳定。
HFReduce:加速数据通信
在CPU上做异步allreduce,减少对GPU资源的占用。
计算和通信可以同时进行(overlap),提高效率。
测试表明,HFReduce的通信速度比NCCL快很多,特别是在大数据量的情况下。
在AI训练中,GPU之间需要频繁交换数据(比如梯度),这个过程叫allreduce。
作者发现,传统的通信库(如NVIDIA的NCCL)在PCIe GPU上性能不太好,因为PCIe的带宽有限。
他们开发了一个叫HFReduce的通信库,主要有以下优点:
HaiScale:训练框架,支持多种并行方式
它支持多种并行方式,适配PCIe GPU的特性。
通过优化通信和计算的重叠,减少了训练时间。
比如,训练一个中等规模的模型(GPT2-medium),HaiScale比PyTorch的FSDP快了差不多一半。
训练大型模型需要多种并行策略,比如数据并行(DP)、管道并行(PP)、张量并行(TP)、专家并行(EP)。
HaiScale是一个专门为PCIe架构优化的训练框架:
3FS:高效的分布式文件系统
用NVMe SSD,读写速度超快(实测读吞吐量高达8TB/s)。
通过网络调优,减少了数据传输时的拥塞问题。
还支持KV缓存技术(3FS-KV),降低了大型语言模型服务的成本。
AI训练需要频繁读写数据,存储系统的速度很重要。
3FS是作者自己开发的文件系统,专门为大数据AI任务设计:
HAI平台:任务管理和故障处理
任务调度:根据资源情况,合理分配GPU,避免浪费。
故障处理:如果有硬件故障,系统能快速检测并隔离问题节点。
灾备恢复:定期保存训练进度(checkpoint),如果系统出问题,可以快速从最近的checkpoint恢复,减少损失。
HAI平台是一个任务调度和管理系统,功能包括:
这个平台让系统的利用率和稳定性都大大提高。
稳定性与鲁棒性:系统更可靠
大型AI系统跑起来,硬件故障是难免的(比如GPU坏了、网络断了)。作者做了很多工作来提高系统的稳定性:
Checkpoint Manager:快速保存和恢复
训练大型模型可能需要几周甚至几个月,中间如果出问题,可能得从头开始。
作者的checkpoint manager每隔几分钟就自动保存一次训练进度,用3FS的高速读写功能,保存和加载都很快(几秒钟完成)。
如果系统故障,只会丢失最近5分钟的进度,非常高效。
Validator:硬件故障检测
检查GPU内存有没有坏掉。
测试CPU和网络的性能。
跑一些压力测试,确保硬件正常。
Validator是一个工具,每周自动检查硬件状态,比如:
如果发现问题,系统会自动把坏掉的节点隔离,确保任务不会受到影响。
硬件故障统计
NVLink(GPU之间的连接)故障占了42.57%,是因为用了很多NVLink桥,故障率自然高。
GPU内存错误(ECC错误)占了2%,需要特别注意。
网络闪断(网络突然中断)占了30%,会影响任务进度。
作者还分析了过去一年的硬件故障数据,发现:
通过这些统计,他们能更好地优化系统,减少故障的影响。
3. 成果:省钱又高效
Fire-Flyer AI-HPC的成果非常亮眼:
性能接近高端系统
用了10,000个PCIe A100 GPU,性能达到了DGX-A100的80%以上。
比如,训练LLaMa-13B模型,扩展到512个GPU时,效率高达91%;训练DeepSeekMoE-16B模型,320个GPU时效率达到92.92%。
成本大幅降低
相比DGX-A100系统,Fire-Flyer AI-HPC的建设成本降低了50%。
网络成本(交换机等)降低了40%,因为用了更简单的Fat-Tree拓扑。
能耗减少,环保
能耗降低了40%,总功率不超过4 MW(DGX-A100系统更高)。
这不仅省电费,也减少了碳排放。
4. 讨论:一些有趣的话题
网络拥塞控制
在RDMA网络中,通常会用DCQCN来控制拥塞。但作者发现,DCQCN在他们的网络中效果不好(同时支持HFReduce和3FS流量很难)。
他们干脆禁用了DCQCN,通过网络调优(比如流量隔离)来避免拥塞,结果网络依然很稳定。
NVLink的选择
一开始没用NVLink,因为想省钱,而且HFReduce已经够用了。
但后来大型语言模型需求增加,作者加了NVLink,专门用来支持张量并行(TP),效果很好。
不过NVLink也有问题,比如故障率高(Xid 74错误),需要权衡利弊。
维护成本
建设成本:硬件成本占大头,软件开发成本相对低(几十个开发者的工资比GPU便宜多了)。
能耗成本:训练ResNet时,Fire-Flyer的能耗比DGX-A100低40%。
运营成本:主要包括电费和机房租金,用PUE(能效比)计算,总成本比传统系统低很多。
稳定性对比
相比DGX-A100,Fire-Flyer的NVLink故障率稍低(42.57% vs 52.42%)。
不过GPU内存错误和网络闪断还是需要特别关注,作者通过Validator和checkpoint manager有效降低了影响。
5. 未来:支持更复杂的模型
作者还提出了未来的计划,主要是支持专家混合模型(MoE LLMs),因为这种模型需要更多的all-to-all通信:
下一代架构
每个GPU配一个网卡(NIC),提高带宽,类似DGX-H100/B100系统。
用多平面网络(multi-plane network),在保持性能的同时降低成本。
考虑用RoCE交换机代替InfiniBand,网络成本更低。
目标
支持更大规模的GPU集群(最高32,768个GPU),满足MoE模型的训练需求。
继续优化软件和硬件,进一步降低成本和能耗。
6. 总结:为什么Fire-Flyer AI-HPC很牛?
Fire-Flyer AI-HPC通过软硬件协同设计,成功搭建了一个经济高效的AI超级计算机系统。它的亮点包括:
硬件省钱:用PCIe A100 GPU和Fat-Tree网络,成本和能耗比高端系统低很多。
软件高效:通过HFReduce、HaiScale、3FS和HAI平台,优化了性能和稳定性。
成果显著:性能接近DGX-A100(80%以上),成本降低50%,能耗降低40%。
未来可期:计划支持MoE模型,继续降低成本,提高性能。
这篇论文不仅展示了技术实力,也为其他想建AI集群的人提供了宝贵的经验。