原创 NLP轻松谈 NLP轻松谈 2025年03月03日 10:02 北京
FlashMLA是一个针对英伟达 Hopper GPU(如 H800)优化的高效 MLA(Multi-Head Latent Attention)解码内核,专门针对可变长度序列进行了优化;已投入 DeepSeek 的生产环境中,经过实战验证。
技术亮点:
✅ 支持 BF16
✅ 支持分页 KV 缓存(块大小 64)
⚡ 在 H800 上,提供 3000 GB/s 的内存带宽和 580 TFLOPS 的计算能力
DeepEP是一款专为 Mixture-of-Experts(MoE,专家混合)和专家并行(EP,Expert Parallelism)优化的通信库。它提供高吞吐、低延迟的 “all-to-all” GPU 计算核心(kernels),也被称为 MoE 任务分配(dispatch)与结果合并(combine)。此外,该库还支持包括 FP8 在内的低精度计算操作。
为了与 DeepSeek-V3 论文提出的组限制门控(group-limited gating)算法保持一致,DeepEP 提供了一组针对 跨域(NVLink-RDMA)非对称带宽转发 优化的计算核心,例如从 NVLink 域向 RDMA 域的数据转发。这些计算核心具备高吞吐率,适用于训练和推理预填充(prefilling)任务,并支持 SM(流式多处理器)计算资源控制。
对于对延迟敏感的推理解码(inference decoding),DeepEP 提供了一组完全基于 RDMA 的低延迟计算核心,以尽可能减少延迟。此外,该库还引入了一种基于 Hook 的计算与通信重叠方法,该方法不会占用任何 SM 资源。
技术亮点:
✅ 高效且优化的 “all-to-all” 通信
✅ 支持基于 NVLink 和 RDMA 的节点内(intranode)与节点间(internode)通信
✅ 训练和推理预填充采用高吞吐率计算核
✅ 推理解码采用低延迟计算核
✅ 原生支持 FP8 计算调度
✅ 提供灵活的 GPU 资源控制,实现计算与通信并行
DeepGEMM是一个专为 FP8 通用矩阵乘法(General Matrix Multiplications, GEMMs) 设计的高效计算库,具备精细化缩放(fine-grained scaling)能力,并符合 DeepSeek-V3 的相关方案。它支持标准 GEMM 计算以及 专家混合(MoE) 组内 GEMM 计算。该库采用 CUDA 编写,安装时无需预编译核心计算核心(kernels),而是通过轻量级 即时编译(JIT, Just-In-Time) 模块在运行时动态编译。
目前,DeepGEMM 仅支持 NVIDIA Hopper 张量核心(tensor cores)。为解决 FP8 张量核心累积(tensor core accumulation) 计算误差问题,该库采用 CUDA 核心两级累积(two-level accumulation, promotion) 策略。虽然 DeepGEMM 借鉴了一些 CUTLASS 和 CuTe 的优化思路,但它并未过度依赖这些库的模板或代数设计,而是追求极简实现,仅由一个核心计算函数(kernel)组成,总计约 300 行代码,使其成为学习 Hopper FP8 矩阵乘法和优化技术 的清晰、易读的资源。
尽管设计轻量,DeepGEMM 在不同形状的矩阵计算中,其性能可媲美甚至超越专家优化的库。
技术亮点:
⚡ Hopper GPU 上 FP8 算力峰值可达 1350+ TFLOPS
✅ 无繁重依赖,代码结构简洁如教程
✅ 全程采用即时编译(Just-In-Time)
✅ 核心逻辑仅约 300 行代码,但在大多数矩阵尺寸上,其性能超越专家优化的计算核心(kernels)
✅ 支持密集布局(dense layout)和两种 MoE 专家布局
Optimized Parallelism Strategies包括 DualPipe、EPLB 和 profile-data 三个子项目。
DualPipe 是一种创新的双向管道并行算法,首次在 DeepSeek-V3 技术报告中提出。该算法实现了前向和后向计算与通信阶段的完全重叠,有效减少了管道中的空闲时间(气泡)。
EPLB:在使用专家并行 (EP) 时,不同的专家被分配到不同的 GPU 上。由于不同专家的负载可能根据当前工作负载有所不同,因此保持不同 GPU 的负载平衡非常重要。如 DeepSeek-V3 论文中所述,我们采用了冗余专家策略,通过复制负载较重的专家,然后通过启发式方法将这些复制的专家分配到 GPU 上,以确保不同 GPU 之间的负载平衡。此外,得益于 DeepSeek-V3 中使用的组限定专家路由,我们还尝试将同一组的专家安排到同一节点,以减少跨节点的数据流量,尽可能做到这一点。
技术亮点:
✅DualPipe 实现了前向和后向计算的全重叠,减少流水线气泡。
✅EPLB 通过冗余专家策略和启发式打包算法,优化 GPU 负载。
profile-data 提供了可视化分析工具(如 PyTorch Profiler 数据),便于复现和优化。
3FS(Fire-Flyer File System):Fire-Flyer 文件系统(3FS)是一款面向高性能的分布式文件系统,专为 AI 训练与推理负载优化,以解决相应挑战。它结合现代 SSD 与 RDMA 网络,提供共享存储层,从而简化分布式应用的开发。
Smallpond:基于 3FS 的数据处理框架。
技术亮点:
⚡ 在 180 节点集群中,总读取吞吐量高达 6.6 TiB/s
⚡ 在 25 节点集群的 GraySort 排序基准测试中,吞吐量达到 3.66 TiB/min
⚡ KVCache 查询在单个客户端节点上的峰值吞吐量可达 40+ GiB/s
采用解耦架构(disaggregated architecture),并具备强一致性语义(strong consistency semantics)
✅ 支持训练数据预处理、数据集加载、检查点保存与恢复、嵌入向量搜索,以及 V3/R1 版本推理中的 KVCache 查询
DeepSeek-V3/R1 推理服务的优化目标是:提高吞吐量和降低延迟。
技术亮点:
通过以下方式优化吞吐量和延迟
跨节点 EP 赋能的批量扩展
计算与通信重叠
⚖️ 负载均衡
DeepSeek 在线推理服务数据:
⚡ 每个 H800 节点每秒输入/输出 Token 数:73.7k / 14.8k
利润率高达545%