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