DeepSeek 開源第二彈 DeepEP,但它究竟是個啥?(終于懂了...)
deepseek開源周,繼Flash-MLA之后,開源了第二彈DeepEP。
畫外音:上一頓還沒消化完,新的大餐又來了。
今天簡單聊聊:
- 吃瓜:DeepEP是干嘛的?
- 技術:DeepEP是怎么做到的?
- 普通人有什么用:對寫提示詞有什么啟示?
一、DeepEP是干嘛的?
DeepEP,Distributed Expert Parallel Communication Library,是為混合專家MOE與并行專家EP量身定制(tailored)的通信庫(communication library)。
1. DeepEP通訊庫能達到什么效果?
- 降低延時;
- 提升吞吐量;
其背后就是:訓練/計算更快,成本更低,模型迭代更快。
二、它是怎么做到的?
核心思路:優化MOE混合專家節點間的數據分發與合并。
1. 什么是混合專家MOE?
混合專家,Mixture of Experts,該模型思路不再追求大而全,轉而追求多而專精。它會將任務動態路由給各個領域專家,并將各個領域專家的輸出進行組合。
舉個容易理解的例子。
- 大而全模型:全棧工程師。
- 混合專家模型:Java,FE,QA,DBA,OP工程師...
2. 有了MOE之后,對LLM的架構有什么影響?
(1) 學習與訓練階段
之前:追求多參數
如今:訓練多專家Expert(例如:1萬個專家,每個專家單一職責SRP)
(2) 計算與執行階段
之前:收到提示詞input,一上來就干
如今:
- 先判斷,需要幾個專家(分類任務,很容易);
- 動態路由(需要一個門控網絡作為協調者,Gating Network),分發任務給專家,專家并行計算;
- 組合專家輸出, 協調者再統籌輸出;
新的模式,不管是訓練階段還是執行階段,專家節點之間都需要進行大量的通訊,而DeepEP就好比節點間的智能物流:
- NVLink優化,好比建成城際高鐵,負責同一節點內專家高速通訊,交換數據,帶寬高達160GB/s,接近硬件極限;
- RDMA優化,好比建成跨城磁懸浮,負責跨節點專家高速通訊,跨節點直接訪問內存,帶寬高達50GB/s;
- FP8優化,低精度運算,好比貨物壓縮,更省空間,能交換更多信息;
這些優化對deepseek非常的重要:
- 專家分發(Dispatch):數據快速精準分配給多個專家;
- 數據合并(Combine):匯總各個專家的處理結果,統籌形成最終數據;
三、對我們普通人寫提示詞有什么啟示?
為了充分發揮deepseek的混合專家MOE的最大潛力,可以顯性告訴它,你希望它扮演哪些專家角色來回復問題。
(1) bad case:如何設計高并發高可用系統?
這樣的提示詞,你會得到一個泛泛而談的回答。
(2) good case:假設你是由以下專家組成的團隊:
- 分布式領域系統架構師
- 電商領域業務架構師
- 資深DBA
請分別從各自領域提出5項技術選型建議,并組合設計方案滿足每秒10萬次交易,數據滿足最終一致性,故障恢復時間小于30秒的系統。
沒錯,你不止可以讓deepseek扮演一個角色,你甚至可以讓他扮演專家團的多個角色。此時處理時間并不會顯著增長,但輸出質量會顯著提高。
節省訓練資源,縮短回復時間,提升回答質量,多個專家還能夠交叉驗證(大而全模型可能過擬合),deepseek創新性使用MOE之后,很快就得到了業界的廣泛認可與復制。
稍作總結:
- DeepEP,是為混合專家MOE量身定制的通信庫;
- DeepEP的核心思路是:優化MOE混合專家節點間的數據分發與合并;
- 提示詞層面:通過讓deepseek顯示扮演專家團的多個角色,能充分發揮deepseek的混合專家MOE機制,不會顯著增加處理時間,但能顯著提升輸出質量;
一切的一切,提示詞只有適配了AI的認知模式,才能最高效的發揮最大的作用。
知其然,知其所以然。
思路比結論更重要。