
文章摘要
DeepSeek-R1模型在H100 GPU上的性能优化取得了显著进展,短短4个月内性能提升了26倍,吞吐量接近DeepSeek官方数据。这一突破得益于SGLang、英伟达等机构的联合团队在推理优化方面的创新。团队通过全面升级SGLang,支持了PD分离、大规模EP、DeepEP、DeepGEMM及EPLB等功能,成功在12个节点共96块GPU的集群上复现了DeepSeek的推理系统。在处理2000个token的输入序列时,系统实现了每个节点每秒52.3k输入token和22.3k输出token的吞吐量,成本降至0.20美元/1M输出token,约为DeepSeek Chat API官方定价的五分之一。
高效的并行化设计是控制DeepSeek架构计算复杂度和内存需求的关键。团队针对注意力层、稠密前馈网络(FFN)、稀疏FFN以及语言模型(LM)的头部等关键组件,分别采用了专门设计的并行化策略。例如,在注意力层中,团队实现了DP attention,消除了跨设备的KV缓存冗余,显著降低了内存开销。在稠密FFN中,团队选择采用数据并行(DP)策略,而非张量并行(TP),以增强可扩展性和内存效率。在稀疏FFN中,团队采用了专家并行(EP)策略,将专家权重分散到多个设备上,有效扩展了内存容量。
预填充和解码分离技术进一步提升了系统性能。团队在SGLang中引入了预填充和解码(PD)分离技术,通过预填充服务器和解码服务器的协同工作,实现了两个阶段的交错执行。这种分离机制确保了每个阶段都能在最佳状态下运行,最大限度地利用了GPU资源。此外,团队还采用了非阻塞传输、基于RDMA的传输以及灵活的API集成等特性,进一步提升了系统性能。
大规模专家并行性(EP)和DeepGEMM集成优化了MoE模型的计算过程。团队利用DeepEP框架实现了专家并行(EP),并通过DeepGEMM优化了MoE模型中的矩阵乘法运算。DeepEP提供了标准调度模式和低延迟调度模式,能够根据工作负载动态调整调度模式,优化资源利用率。DeepGEMM则提供了分组GEMM(连续布局)和分组GEMM(掩码布局)两种内核,分别针对预填充阶段和解码阶段进行了优化。
双batch重叠(TBO)技术和专家并行负载均衡器(EPLB)进一步提升了系统的可扩展性和效率。团队通过TBO技术将单个batch拆分为两个micro-batch,允许计算和通信过程相互重叠,降低了峰值内存使用量。EPLB则通过计算专家的最佳排列方式,最大限度地减少了工作负载分布不均匀的问题,提高了GPU的利用率。
评估结果显示,SGLang的性能与DeepSeek的推理系统非常接近。在预填充阶段,SGLang的吞吐量与DeepSeek官方数据之间的差距在5.6%以内;在解码阶段,SGLang的吞吐量仅比DeepSeek的性能分析数据略低。团队还详细分析了预填充阶段和解码阶段的各个内核执行时间,结果显示SGLang的解码性能与DeepSeek的结果非常接近。
尽管取得了显著进展,项目仍存在一些局限性,如延迟优化、序列长度约束、多token预测(MTP)集成、专家并行负载均衡(EPLB)分布、灵活的张量并行(TP)规模以及Blackwell架构支持等。未来,团队将继续优化这些领域,以进一步提升系统性能和可扩展性。
原文和模型
【原文链接】 阅读原文 [ 5448字 | 22分钟 ]
【原文作者】 新智元
【摘要模型】 deepseek-v3
【摘要评分】 ★★★★★