DeepSeek本周开源了三个项目

喜欢花科技君 2025-03-07 02:53:25
FlashMLA

专为Hopper GPU优化的高效MLA解码内核,支持变长序列处理,显著提升AI推理效率,实现在H800 GPU上达到580 TFLOPS计算吞吐量。

通过 分段调度 和 自适应块划分,将变长序列切分为固定大小的块,减少空闲线程和内存访问碎片化。结合 Hopper 的 Warp Execution 特性,动态调整每个线程块的指令流,最大化 SM(流多处理器)利用率。利用 Hopper 的 NVLink 4.0+ 高带宽接口,直接从显存读取输入数据到 Tensor Core,避免 CPU 中间缓存,降低延迟。支持 稀疏掩码处理,通过位运算快速跳过被掩码的位置,减少无效计算。

MLA(Masked Language Modeling) 是自回归语言模型(如 GPT)的核心计算模块,需对输入序列中的每个位置进行掩码(Masking)并预测被掩码的 token。

变长序列处理 在实际应用中非常常见(如长文本生成、多语言输入),但传统实现难以高效利用 GPU 资源,存在内存碎片和计算负载不均衡问题。

DeepEP

首个开源EP通信库,专为MoE(混合专家)模型设计,优化分布式训练和推理的通信效率,支持NVLink和RDMA,并实现计算-通信重叠。

将通信操作(如 AllReduce)拆分为 预发送阶段 和 接收阶段,允许计算任务在通信过程中继续执行。通过 RDMA(远程直接内存访问) 和 NVLink 的原子操作,减少 CPU 参与,降低通信延迟。根据专家激活的稀疏性(多数专家未被选中),采用 压缩编码(如 Top-K 编码)传输数据,减少带宽占用。实现 路由表缓存,复用相同输入的通信路径,加速频繁的小批量数据同步。在等待通信完成的间隙,GPU 可执行其他任务(如下一个 token 的解码或梯度更新),理论上可节省 30%-50% 的训练时间。

MoE(Mixture of Experts) 模型通过动态路由(Routing)将输入分配给不同的专家子网络,显著提升参数效率,但其分布式训练面临两大挑战:

通信开销大:每个专家的激活结果需跨节点同步,通信量随专家数量指数级增长。

同步阻塞:传统通信库(如 NCCL)的同步机制导致计算与通信无法重叠,浪费 GPU 算力。

DeepGEMM

高性能FP8矩阵乘法库,专为英伟达Hopper Tensor Core优化,支持MoE模型训练,代码仅300行且性能超越专家调优方案,在H800 GPU上可达1350+ TFLOPS。

仅用 300 行 C++ 代码 实现高性能矩阵乘法,避免复杂模板和抽象层开销。利用 Hopper 的 Warp-Level Pruning 技术,在计算时跳过无效数据(如零元素),减少算力浪费。动态选择 FP8 输入 + FP16 输出 或 FP16 输入 + FP8 输出,平衡精度与性能。内置 误差补偿机制,通过微调(Scaling Factor)抵消精度损失,确保模型收敛性。在 H800 GPU 上实现单矩阵乘法 1350+ TFLOPS(接近 Tensor Core 的理论峰值),较 CuBLAS FP8 实现快 40%。支持 非阻塞调用,允许 CPU 在等待计算结果时调度其他任务。

FP8(8 位浮点数) 相比 FP16 和 FP32,可节省 2 倍显存占用和计算能耗,但精度损失可能影响模型收敛。

Hopper Tensor Core 支持原生 FP8 矩阵乘法,但其性能潜力未被充分挖掘,传统库(如 CuBLAS)依赖专家手动调优。

MoE 模型训练 需要大量低精度矩阵乘法(如专家权重更新),但对精度敏感度较低。

这三个项目从底层的矩阵乘法(DeepGEMM)、通信层(DeepEP)到高层解码(FlashMLA),覆盖了 MoE 模型和生成式 AI 的关键性能瓶颈,深度绑定 Hopper GPU 的特性(如 Tensor Core、NVLink 4.0),最大化释放新硬件的计算潜力。

0 阅读:1

喜欢花科技君

简介:感谢大家的关注