別TM浪費算力了,這樣才能最大限度發揮 Deepseek 的潛能 - MOE
最近幾周自學deepseek原理+應用+實踐,一些成果,和大家分享:
- 小眾關心的,deepseek核心技術原理;
- 大眾關心的,提示詞要怎么寫;
今天和大家聊聊,deepseek的核心機制之一的混合專家MOE。
什么是混合專家MOE?
混合專家,Miture of Experts,該模型思路不再追求大而全,轉而追求多而專精。它會將任務動態路由給各個領域專家,并將各個領域專家的輸出進行組合。
比較抽象,舉個容易理解的例子。
- 大而全模型:全棧工程師。
- 混合專家模型:Java,FE,QA,DBA,OP工程師...
大而全的模型有什么不足?
- 訓練時間長:培養一個“全棧”工程師太久了;
- 計算性能差:面對一個產品需求,做設計編碼上線周期長;
- 回復不深入:什么都懂,但都不精,淺嘗輒止;
而混合專家模型則能夠很好的解決上述幾個問題:
- 培養一個Java工程師的周期更短;
- 需求評審完之后,Java,FE,QA... 多個專家可以并行設計編碼上線;
- Java,FE,QA專人專崗,專業性高;
有了MOE之后,對LLM的架構有怎么樣的影響?
(1) 學習與訓練階段
之前:追求多參數
如今:訓練多專家Expert(例如:1萬個專家,每個專家單一職責SRP)
(2) 計算與執行階段
之前:收到提示詞input,一上來就干
如今:
- 先判斷,需要幾個專家(分類任務,很容易);
- 動態路由(需要一個門控網絡作為協調者,Gating Network),分發任務給專家,專家并行計算;
- 組合專家輸出, 協調者再統籌輸出;
input[提示詞] --> 專家分類{專家E1E2...En}
門控網絡 --> E1E2...En
E1 --> O1[輸出1]
E1 --> O2[輸出2]
...
En --> On[輸出n]
O1O2...On --> 統籌輸出[output]
MOE對我們寫提示詞,獲取更佳的回答質量有什么啟示呢?
如果覺得AI回復缺乏深度,可以顯性告訴它,你希望它扮演什么專家角色來回復問題。
畫外音:模型分類出來的專家角色不一定100%準確。
(1) bad case:如何設計高并發高可用系統?
這樣的提示詞,你會得到一個泛泛而談的回答。
(2) good case:假設你是由以下專家組成的團隊:
- 分布式領域系統架構師
- 電商領域業務架構師
- 資深DBA
請分別從各自領域提出5項技術選型建議,并組合設計方案滿足每秒10萬次交易,數據滿足最終一致性,故障恢復時間小于30秒的系統。
節省訓練資源,縮短回復時間,提升回答質量,多個專家還能夠交叉驗證(大而全模型可能過擬合),deepseek創新性使用MOE之后,很快就得到了業界的廣泛認可與復制。
deepseek,流弊!
總結
- MOE是deepseek的核心創新應用(之一);
- 從此大模型從“大而全”轉向“多而精”;
- 提示詞通過顯性告訴deepseek專家角色,能夠最大化發揮MOE的潛力;
一切的一切,提示詞只有適配了AI的認知模式,才能最高效的發揮最大的作用。
知其然,知其所以然。
思路比結論更重要。