DeepSeek 推出了 DeepEP,MoE 模型訓練的秘密武器

嘿,各位,最近 DeepSeek 開源社群可熱鬧了!他們在 #OpenSourceWeek 的第二天,就丟出了一個超厲害的東西:DeepEP。這可不是一般的通訊函式庫,而是專門為「混合專家模型」(Mixture-of-Experts,MoE)量身打造的。

DeepEP 到底是什麼東東?🤔

簡單來說,DeepEP 是一個能讓 MoE 模型在訓練和推論時,溝通更有效率的函式庫。你知道的,MoE 模型就像一群各有所長的專家,DeepEP 就像是他們的超級聯絡官,讓這些專家之間的溝通暢行無阻。

DeepEP 的幾個特點,讓我來跟你娓娓道來:

  • 又快又好:它優化了 all-to-all 的通訊,不管是節點內還是節點間,都能發揮 NVLink 和 RDMA 的威力。
  • 訓練推論一把罩:不管是需要高吞吐量的訓練和推論預填充(prefilling),還是需要低延遲的推論解碼(decoding),DeepEP 都有專門的 kernel 來處理。
  • FP8 也沒問題:它還支援原生的 FP8,讓運算更有效率。
  • 彈性十足:你可以靈活控制 GPU 資源,讓運算和通訊可以重疊進行,節省寶貴的時間。

說真的,DeepEP 解決了我們在做 MoE 模型時的很多痛點,你懂的,當你的模型裡有一堆專家,如何讓他們有效溝通真的很重要。

深入了解 DeepEP 的細節 🤓

DeepEP 的核心,就是它那些厲害的 all-to-all GPU kernels,也就是大家常說的 MoE dispatch 和 combine。這些 kernels 不只速度快,還支援低精度的運算,像是 FP8。

還有,為了配合 DeepSeek-V3 論文中提到的 group-limited gating 演算法,DeepEP 提供了一系列的 kernels,專門優化非對稱域的頻寬轉發(asymmetric-domain bandwidth forwarding),像是把資料從 NVLink 域轉發到 RDMA 域。這些 kernels 的吞吐量超高,不管是訓練還是推論預填充都很好用。而且,它們還支援 SM(Streaming Multiprocessors)數量的控制。

對於需要低延遲的推論解碼,DeepEP 也有一組專門的 kernels,只用 RDMA 來降低延遲。它還引入了一個基於 hook 的通訊-運算重疊方法,完全不佔用任何 SM 資源。

實際效能如何?數據會說話!📊

DeepEP 的開發團隊在 H800 上做了測試,結果真的很亮眼。

  • 一般 kernels(NVLink 和 RDMA 轉發)

    • 節點內:dispatch 和 combine 的瓶頸頻寬分別達到 153 GB/s 和 158 GB/s(NVLink)。
    • 節點間:dispatch 和 combine 的瓶頸頻寬都能達到 40 GB/s 以上(RDMA)。
  • 低延遲 kernels(純 RDMA)

    • 在不同數量的 EP 下,dispatch 的延遲大約在 163 到 194 微秒之間,combine 的延遲大約在 318 到 360 微秒之間。
    • RDMA 的頻寬也能達到 40 GB/s 左右。

老實說,看到這些數據,我真的覺得 DeepEP 很厲害!

如何開始使用 DeepEP?🚀

DeepEP 的安裝和使用都很簡單,只要你的硬體和軟體符合以下條件:

  • Hopper 架構的 GPU(未來可能會支援更多)
  • Python 3.8 或以上
  • CUDA 12.3 或以上
  • PyTorch 2.1 或以上
  • 節點內通訊需要 NVLink
  • 節點間通訊需要 RDMA 網路

DeepEP 還依賴一個修改過的 NVSHMEM,記得要先安裝好。

安裝好之後,就可以在你的 Python 專案裡匯入 deep_ep,開始享受它帶來的便利了!

網路設定的小撇步 💡

DeepEP 已經在 InfiniBand 網路上做了完整的測試,不過理論上它也相容於 RDMA over Converged Ethernet(RoCE)。

為了避免不同類型的流量互相干擾,建議使用 InfiniBand 的 Virtual Lanes(VL)來隔離:

  • 使用一般 kernels 的工作負載
  • 使用低延遲 kernels 的工作負載
  • 其他工作負載

你可以透過設定 NVSHMEM_IB_SL 環境變數來控制 DeepEP 使用的 VL。

另外,低延遲 kernels 支援 InfiniBand 交換器的自適應路由(adaptive routing)功能,可以更平均地分配流量。不過,一般 kernels 目前還不支援,未來可能會加入。

總結一下 📝

DeepEP 真的是一個很棒的工具,對於在做 MoE 模型的人來說,絕對值得一試。它不只效能好,還很容易上手。如果你也對 MoE 模型有興趣,不妨試試看 DeepEP,相信你一定會喜歡它!

分享至:
DMflow.chat Ad
廣告

DMflow.chat

探索DMflow.chat,開啟AI驅動的客戶服務新時代。

Learn More

© 2025 Communeify. All rights reserved.