DeepSeek開源周第二彈:DeepEP如何用RDMA+FP8讓MoE模型飛起來?

一、引言:MoE模型的通信瓶頸與DeepEP的誕生

在混合專家(MoE)模型訓練中,專家間的全對全(All-to-All)通信成為性能瓶頸。傳統方案在跨節點傳輸時帶寬利用率不足50%,延遲高達300μs以上。DeepSeek推出的DeepEP作為首個開源EP通信庫,通過軟硬件協同優化,將節點內通信帶寬壓榨至158GB/s(接近NVLink極限),跨節點RDMA延遲降至46GB/s,成為大模型訓練/推理的“通信加速器”。


二、核心功能解析
  1. 雙模式通信內核

    • 高吞吐量內核:訓練/推理預填充階段專用,支持NVLink(160GB/s)和RDMA(50GB/s)混合傳輸,節點內帶寬達158GB/s,跨節點47GB/s。
    • 低延遲內核:推理解碼階段采用純RDMA技術,8專家并發時延遲僅163μs,帶寬穩定在46GB/s。
  2. FP8原生支持
    通過動態位圖壓縮和流水線優化,FP8格式使顯存占用減少50%,同時保持92%的注意力精度,顯著降低計算開銷。

  3. 通信-計算重疊技術
    基于Hook機制實現后臺數據傳輸,推理階段計算與通信可并行執行,SM資源利用率提升至98%。


三、技術架構深度解析
  1. 分層優化設計

    • 硬件層:深度適配Hopper GPU的異步拷貝引擎(ACE),顯存帶寬利用率達89.5%。
    • 網絡層:通過虛擬通道(VL)隔離RDMA流量,避免與計算任務爭搶資源。
    • 算法層:針對組限制門控(Group-Limited Gating)算法優化非對稱域轉發,實現NVLink到RDMA的零拷貝傳輸。
  2. 動態資源調度
    支持SM數量控制(1-16個),可根據任務負載動態分配GPU資源。測試顯示,64卡集群下訓練吞吐量提升40%,顯存占用減少35%。


四、性能實測與對比
指標DeepEP (H800)傳統方案 (NCCL)提升幅度
節點內帶寬158GB/s60GB/s163%
跨節點帶寬47GB/s15GB/s213%
8專家延遲163μs320μs490%
FP8吞吐量580TFLOPS200TFLOPS190%

測試環境:4096 token/batch,7168 hidden維度,top-8專家


五、典型應用場景
  1. 大規模訓練加速
    支持2048卡MoE模型訓練,通信開銷占比從35%降至12%,訓練速度提升3倍。

  2. 實時推理優化
    在智能客服場景中,128 token響應時間從500ms降至250ms,吞吐量提升至64QPS。

  3. 企業級部署
    通過RDMA虛擬通道隔離技術,支持千卡級推理集群穩定運行,資源利用率提升25%。


六、代碼示例:MoE訓練中的DeepEP調用
from deep_ep import Buffer, dispatch_forward# 初始化通信緩沖區
buffer = Buffer(group="moe_group", hidden_bytes=7168*8)# 分發任務到專家
recv_x, handle = buffer.dispatch(x, topk_idx, num_experts=8)# 合并結果
_, _ = buffer.combine(recv_x, handle)

部署要求

  • 硬件:Hopper架構GPU + InfiniBand 400Gb/s網卡
  • 軟件:CUDA 12.3 + PyTorch 2.1 + Python 3.8
  • 安裝命令:
    NVSHMEM_DIR=/path/to/nvshmem python setup.py install
    

七、未來展望

DeepEP已支持FP8/BF16混合精度,計劃2025Q3推出多卡并行優化版本,并與DeepSeek-V3/R1模型生態深度集成。開發者可通過GitHub倉庫體驗極致性能。


結語
DeepEP不僅是通信庫的迭代,更是**“專家并行計算范式”**的里程碑。通過軟硬件協同優化,它讓MoE模型從實驗室走向工業級應用,開發者可通過GitHub倉庫一鍵部署,體驗從訓練到推理的全鏈路加速。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70815.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多通道數據采集和信號生成的模塊化儀器如何重構飛機電子可靠性測試體系?

飛機的核心電子系統包括發電與配電系統,飛機內部所有設備和系統之間的內部數據通信系統,以及用于外部通信的射頻設備。其他所有航空電子元件都依賴這些關鍵總線進行電力傳輸或數據通信。在本文中,我們將了解模塊化儀器(無論是PCIe…

【Godot4.3】基于繪圖函數的矢量蒙版效果與UV換算

概述 在設計圓角容器時突發奇想: 將圓角矩形的每個頂點坐標除以對應圓角矩形所在Rect2的size,就得到了頂點對應的UV坐標。然后使用draw_colored_polygon,便可以做到用圖片填充圓角矩形的效果。而且這種計算的效果就是圖片隨著其填充的圖像縮…

數據存儲:一文掌握存儲數據到MongoDB詳解

文章目錄 一、環境準備1.1 安裝MongoDB1.2 安裝Python MongoDB驅動 二、連接到MongoDB2.1 基本連接2.2 連接到MongoDB Atlas(云服務) 三、基本CRUD操作3.1 創建(Create):插入數據3.2 讀取(Read)…

算法教程:島的最大面積

算法教程:島的最大面積 我們將首先討論問題和解決方案,然后使用可視化工具(上一篇博客中進行了介紹)來更好地理解搜索過程。 問題描述 我們將要演練的具體問題是問題 Leetcode:島嶼的最大面積。在 Leetcode 上找到的直接問題描述是: 給你一個 m x n 二進制矩陣網格。島…

Scrapy:隧道代理中移除 Proxy-Authorization 的原理解析

隧道代理中移除 Proxy-Authorization 的原理解析 背景 在 Scrapy 的 HTTP 下載處理中,當使用隧道代理(TunnelingAgent)時,會移除請求頭中的 Proxy-Authorization。這個操作看似簡單,但背后有著重要的安全考慮和技術原…

大中型虛擬化園區網絡設計

《大中型虛擬化園區網絡設計》屬于博主的“園區網”專欄,若想成為HCIE,對于園區網相關的知識需要非常了解,更多關于園區網的內容博主會更新在“園區網”專欄里,請持續關注! 一.前言 華為云園區網絡解決方案(簡稱Cloud…

sklearn中的決策樹-分類樹:剪枝參數

剪枝參數 在不加限制的情況下,一棵決策樹會生長到衡量不純度的指標最優,或者沒有更多的特征可用為止。這樣的決策樹 往往會過擬合。為了讓決策樹有更好的泛化性,我們要對決策樹進行剪枝。剪枝策略對決策樹的影響巨大,正確的剪枝策…

幾個api

幾個api 原型鏈 可以閱讀此文 Function instanceof Object // true Object instanceof Function // true Object.prototype.isPrototypeOf(Function) // true Function.prototype.isPrototypeOf(Object) // true Object.__proto__ Function.prototype // true Function.pro…

【Azure 架構師學習筆記】- Azure Databricks (12) -- Medallion Architecture簡介

本文屬于【Azure 架構師學習筆記】系列。 本文屬于【Azure Databricks】系列。 接上文 【Azure 架構師學習筆記】- Azure Databricks (11) – UC搭建 前言 使用ADB 或者數據湖,基本上繞不開一個架構“Medallion”, 它使得數據管理更為簡單有效。ADB 通過…

Android手機部署DeepSeek

1.概述 android手機端部署deepseek一般需要安裝termux,ollama,deepseek三個大的步驟 原因分析:deepseek等大模型需要類似ollama的工具去運行。ollama有mac window和linux版本,無Android版本;termux是一個模擬linux環境的Android app&#x…

計算機科學技術領域的內卷現狀與應對措施分析

計算機科學技術領域的內卷現狀與應對措施分析 李升偉 整理 ### 計算機科學技術領域的內卷現狀與應對措施分析 #### 一、內卷現狀分析 1. **教育與升學內卷** 計算機科學與技術相關專業(如計算機科學與技術、人工智能、大數據等)已成為考研競爭最…

python-leetcode 45.二叉樹轉換為鏈表

題目: 給定二叉樹的根節點root,請將它展開為一個單鏈表: 展開后的單鏈表應該使用同樣的TreeNode,其中right子指針指向鏈表中的下一個節點,而左子指針始終為空 展開后的單鏈表應該與二叉樹先序遍歷順序相同 方法一:二叉樹的前序…

【leetcode hot 100 15】三數之和

一、兩數之和的擴展 class Solution {public List<List<Integer>> threeSum(int[] nums) {// 將得到的結果存入Set中&#xff0c;保證不重復Set<List<Integer>> set new HashSet<>();// 模擬兩數之和&#xff0c;作為第一個循環中的內容for(in…

設備健康管理系統在制造業的深度應用探索

引言 在制造業的數字化轉型浪潮中&#xff0c;設備健康管理系統正逐漸成為企業提升競爭力的關鍵利器。隨著工業 4.0 和智能制造概念的不斷深入&#xff0c;制造業對設備的高效、穩定運行提出了更高要求。設備健康管理系統借助先進的傳感器技術、物聯網&#xff08;IoT&#xf…

HTTPS 與 HTTP 的區別在哪?

HTTP與HTTPS作為互聯網數據傳輸的核心協議&#xff0c;其通信機制與安全特性深刻影響著現代網絡應用的可靠性與用戶體驗。本文將解析兩者的通信流程、安全機制及核心差異。 一、HTTP的通信機制 先來看看HTTP是什么吧。 HTTP基于TCP/IP協議棧&#xff0c;采用經典客戶端-服務…

為什么要將PDF轉換為CSV?CSV是Excel嗎?

在企業和數據管理的日常工作中&#xff0c;PDF文件和CSV文件承擔著各自的任務。PDF通常用于傳輸和展示靜態的文檔&#xff0c;而CSV因其簡潔、易操作的特性&#xff0c;廣泛應用于數據存儲和交換。如果需要從PDF中提取、分析或處理數據&#xff0c;轉換為CSV格式可能是一個高效…

【JAVAEE】多線程

【JAVAEE】多線程 一、進程1.1 進程的定義1.2 進程和線程的聯系 二、線程2.1 JConsole工具2.2 創建線程2.2.1 Thread類&#xff0c;start&#xff08;&#xff09;&#xff0c;run&#xff08;&#xff09;2.2.2 繼承Thread類2.2.3 實現Runnable接口2.2.4 匿名內部類2.2.5 使用…

手機打電話時如何識別對方按下的DTMF按鍵的字符-安卓AI電話機器人

手機打電話時如何識別對方按下的DTMF按鍵的字符 --安卓AI電話機器人 一、前言 前面的篇章中&#xff0c;使用藍牙電話攔截手機通話的聲音&#xff0c;并對數據加工&#xff0c;這個功能出來也有一段時間了。前段時間有試用的用戶咨詢說&#xff1a;有沒有辦法在手機上&#xff…

【Go】十八、http 調用服務的編寫

http接口框架的搭建 這個http接口框架的搭建參考之前的全量搭建&#xff0c;這里是快速搭建的模式&#xff1a; 直接對已有的http模塊進行復制修改&#xff0c;主要修改點在于 proto部分與api、router 部分&#xff0c;剩余的要針對進行修改模塊名稱。 接口的具體編寫 在 a…

WiseFlow本地搭建實錄---保姆教程

今天從零開始搭建了Wiseflow的本地環境搭建&#xff0c;目前使用的都是免費的API&#xff0c;我建議大家可以一起嘗試一下搭建自己的關鍵信息的數據庫&#xff0c;我是windows的環境&#xff0c;但是其他的應該也差不多&#xff0c;踩了很多坑&#xff0c;希望這篇文章能幫大家…