
DeepSeek
自今年年中以来,各大公司纷纷采用了PD分离方案(例如MoonCake)。在Prefilling阶段,这一过程计算密集,少量查询即可使GPU满负荷运行,而过多的查询反而会增加首个token的延迟。相比之下,Decoding阶段则更依赖于内存访问,需通过大量查询来提高GPU的利用率。因此,通过多台机器处理Prefilling阶段、单台机器处理Decoding阶段的PD分离方案,可以在整体效率、首个token延迟(TTFT)和解码速度(TPS)方面实现最佳平衡。这种方案不仅优化了资源使用,还显著降低了延迟,提升了系统的响应速度。DeepSeekV2也采纳了这一PD分离方案,进一步增强了其性能表现。通过这种方式,系统能够在不同负载下灵活应对,确保高效稳定地运行。超大规模分布式推理实现320卡协同计算。
仅依靠PD分离和MTP技术,仍无法有效缓解DeepSeekV3 671GB(FP8)的巨大内存访问压力。我们首先对DeepSeekV2的每秒17到20个token的吞吐量进行分析:DeepSeekV2 FP8 权重显存需求为 236GB,使用单机 H800 TP8 进行推理时,每张卡需要存储 30GB 的权重(若采用 EP8 方案,则每张卡需存储 40GB 以上)。H800 的理论内存带宽上限可达 3.35TB/s,但实际能达到 2TB/s 已属优异。在此情况下,处理单个查询时的解码速度最多为 60+ tokens/秒。然而,考虑到 TP8 的通信量远高于 EP8,以及高并发时计算时间占比等因素,DeepSeekV2 官方公布的解码速度仅不到 20 tokens/秒。这表明在实际应用中,系统性能会受到多种因素的限制,导致解码效率大幅降低。因此,在优化模型和硬件配置时,需综合考虑这些影响因素以提升整体性能。在 DeepSeekV3 中,尽管访存需求和计算量都有所增加,但解码速度依然提升了三倍,达到了每秒 60 个 token。这得益于一个重要的优化措施:320 卡的分布式解码。相较于 DeepSeekV2 的单机配置,其中每个卡上有 20 个专家(expert),DeepSeekV3 则采用了全新的架构设计,每个卡上只有一个专家,总数达到 320 个。此外,每个卡上仅存储四分之一的注意力权重,预计每卡的权重存储空间最多为 5GB,远低于 V2 版本,从而显著降低了访存压力。通过专家并行(EP)的全对全通信(all-to-all)来重叠通信与计算,进一步减少了通信开销,实现了推理过程的加速。这种优化策略使得系统在处理复杂任务时依然能够保持高效的性能表现。推理代价高昂再补充一点,Decoding 部分单个实例就需要 320 张 H800 显卡,而 Prefilling 部分单个实例则需要 32 张显卡。然而,一个 Prefilling 实例显然无法满足一个 Decoding 实例的需求,估计至少需要 10 个 Prefilling 实例来配套。这样一来,一个完整的 DeepSeekV3 部署单元总共需要 640 张 H800 显卡。这样的硬件要求使得其部署门槛非常高,成本和资源需求极大。此外,使用320卡的Decoding EP320也需要超高并发才能充分利用所有资源。在之前的DeepSeekV2版本中,单机H800需要1000到2000的并发才能完全发挥其性能,而现在的DeepSeekV3则需要每个部署单元达到10万以上的并发量才能充分利用整个集群的能力。因此,目前每百万字符8元的输出价格,也需要依赖大量用户的规模效应来降低成本。只有这样,才能实现资源的最大化利用和经济效益。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号