DeepSeek发布V3/R1推理系统优化细节,提升大规模并行性能
时间:2025-03-09 19:40
小编:小世评选
近期,DeepSeek在知乎发布了一篇名为《DeepSeek-V3/R1推理系统概览》的文章,详细阐述了其推理系统的优化特性,尤其是在大规模跨节点专家并行(Expert Parallelism, EP)方面的最新进展。这些优化旨在提高模型在处理大批量数据时的性能,减少延迟,同时有效分配计算和通信的负载,从而实现更高效的整体吞吐量。
大规模跨节点专家并行(Expert Parallelism)
DeepSeek-V3/R1模型引入了大量的专家机制,在每一层中包含256个专家,但实际运行时仅激活其中的8个。这种高度的稀疏性使得DeepSeek需要采用较大的overall batch size,以有效提升每个专家的expert batch size。专家并行的采用,使得系统能够在推理时更好地利用资源,最大化吞吐量。具体而言,DeepSeek在跨节点的专家并行策略中,引入了多机多卡的计算架构,以实现以下两个阶段的优化:
1. Prefill阶段:在这一阶段,DeepSeek采用了EP32、MLA和DP32的组合,部署单位为4个节点,网络中配置32个冗余路由专家。每张GPU卡上配置9个路由专家和1个共享专家,使得数据处理能够更加高效,减少单个节点的负担。
2. Decode阶段:Decode循环中使用了EP144、MLA和DP144的结构,结合18个节点与32个冗余路由专家,将每张卡的路由专家数量减少至2个,同时维持1个共享专家的配置。这一结构在保持高性能的同时,也为每个节点提供了更合理的资源分配。
计算与通信重叠
由于多机多卡的专家并行架构会引入较大的通信开销,DeepSeek-re团队通过双batch重叠的技术来降低这一负担。在Prefill阶段,系统通过将两个batch的计算与通信交错执行,进而掩盖了通信时的开销,从而有效提升了系统的整体吞吐量;在Decode阶段,由于执行时间各不相同,DeepSeek采取了将attention部分拆分为两个阶段的策略,使用流水线模式将计算与通信重叠,进一步提升处理效率。
负载均衡策略
在大规模并行的环境中,当某个GPU节点的计算或通信负载过高时,便会出现性能瓶颈,导致整体系统效率下降。因此,为保证系统性能,每个GPU的计算与通信负载必须尽可能均衡。DeepSeek团队针对这一问题设计了多个负载均衡机制:
Prefill Load Balancer:其目标是让不同数据并行(DP)实例上的请求数量与长度尽量一致,确保各GPU的core-attention计算量、dispatch发送量均衡,避免单个GPU处理时间过长。
Decode Load Balancer:针对decode阶段的负载均衡,DeepSeek确保各GPU的KVCache占用量尽量相同,同时调配请求数,以确保dispatch发送量均衡。
Expert-Parallel Load Balancer:在MoE模型中,存在一些对计算量要求较高的专家,DeepSeek通过平衡每个GPU的专家计算量,最大程度上减小GPU间dispatch接收量的最大值,从而提高系统整体效率。
性能和成本分析
在实际应用中,DeepSeek V3和R1的推理服务使用H800 GPU进行支持,尽可能保持与训练时相同的精度。系统的运营机制被设定为:在高峰时段(白天)使用所有节点整合推理服务,而在低峰时间(夜间)则减少推理节点,腾出时间进行系统研究与训练。
在最近的24小时监测期间,DeepSeek V3和R1推理服务共涉及278个节点,平均使用226.75个节点(每个节点含8个H800 GPU)。推算GPU租赁成本为每小时2美元,日均成本达到87,072美元。在这一时间段内,总输入token为608B,其中56.3%(342B)命中KVCache,输出token总量为168B,平均输出速率为每秒20~22个token。在效率方面,prefill任务的输入吞吐量约为73.7k tokens/s,而decode任务的输出吞吐量约为14.8k tokens/s。以DeepSeek R1的定价模式估算,理论上的日收入约为562,027美元,成本利润率达545%。
DeepSeek V3/R1所采用的大规模跨节点专家并行策略、计算与通信重叠技术以及精细的负载均衡方案,共同构成了该推理系统的强大竞争力。尽管如此,系统的日常收入依然受到定价策略和运行时负载状况的影响。未来,DeepSeek将继续优化算法结构与资源配置,不断提升系统性能和用户体验。