主要观点总结
本文介绍了DeepSeek官方揭秘的DeepSeek-V3/R1推理系统,包括其优化吞吐量和延迟的方法、大规模跨节点专家并行、计算通信重叠、负载均衡等关键点,以及系统的在线服务数据统计。
关键观点总结
关键观点1: DeepSeek-V3/R1推理系统的优化目标及实现方法
DeepSeek-V3/R1推理系统的优化目标是实现更大的吞吐和更低的延迟。通过大规模跨节点专家并行(ExpertParallelism/EP)来实现这一目标。EP能够增大batch size,提高GPU矩阵乘法的效率,同时分散专家在不同的GPU上,减少每个GPU的计算负载,从而降低延迟。但这也增加了系统的复杂性,需要优化传输和计算流程,以及进行负载均衡。
关键观点2: 大规模跨节点专家并行(EP)的细节
由于DeepSeek-V3/R1的专家数量众多,必须采用大规模跨节点专家并行(EP)。通过多机多卡间的专家并行策略,实现prefill和decode阶段的双batch重叠,掩盖通信开销,提高整体吞吐。同时,EP还涉及负载均衡问题,需要为每个GPU分配均衡的计算负载和通信负载。
关键观点3: DeepSeek-V3/R1推理系统的在线服务数据统计
DeepSeekV3和R1的所有服务均使用H800 GPU,提供24小时的服务。在统计时段内,输入token总数为608B,其中56.3%命中KVCache硬盘缓存。输出token总数为168B,平均输出速率为20~22tps。平均每台H800的吞吐量为:对于prefill任务,输入吞吐约73.7k tokens/s;对于decode任务,输出吞吐约14.8k tokens/s。此外,还给出了成本利润率的计算。
正文
首先EP使得batch size大大增加,从而提高GPU矩阵乘法的效率,提高吞吐。其次EP使得专家分散在不同的GPU上,每个GPU只需要计算很少的专家(因此更少的访存需求),从而降低延迟。
但EP同时也增加了系统的复杂性。复杂性主要体现在两个方面:
因此,本文的主要内容是如何使用EP增大batch size,如何隐藏传输的耗时,如何进行负载均衡。
大规模跨节点专家并行(Expert Parallelism/EP)
由于DeepSeek-V3/R1的专家数量众多,并且每层256个专家中仅激活其中8个。模型的高度稀疏性决定了我们必须采用很大的overall batch size,才能给每个专家提供足够的expert batch size,从而实现更大的吞吐、更低的延时。需要大规模跨节点专家并行(Expert Parallelism/EP)。
我们采用多机多卡间的专家并行策略来达到以下目的:
计算通信重叠
多机多卡的专家并行会引入比较大的通信开销,所以我们使用了双batch重叠来掩盖通信开销,提高整体吞吐。