【#區(qū)塊鏈# #評測超Llama2,混合專家模型(MoE)會是大模型新方向嗎?#】
文章來源:Founder Park
圖片來源:由無界 AI生成
混合專家模型(MoE)成為最近關注的熱點。
先是 Reddit 上一篇關于 GPT-4 結構的猜測帖,暗示了 GPT-4 可能是由 16 個子模塊組成的專家模型(MoE)的混合體。據(jù)說,這 16 個子模塊中的每一個 MoE 都有 1110 億個參數(shù)(作為參考,GPT-3 有 1750 億個參數(shù))。盡管不能 100% 確定,但 GPT-4 是一個 MoE 組成的集群這個事很可能是真的。
然后是法國 AI 公司 MistralAI 發(fā)布了全球首個基于混合專家技術的大模型 Mistral-8x7B-MoE,是 8 個 70 億參數(shù)規(guī)模大模型的混合。
主要特點如下:
Mistral-7B×8-MoE 是首個被證明有效的開源的 MoE LLM,相比于早期的 Switch Transformer、GLaM 等研究,Mistral-7B×8-MoE 證明了 MoE 真的可以落地,且效果遠好于相同激活值的 Dense 模型。
而在最近的一個評測中,Mistral-8x7B-MoE 經過微調后的表現(xiàn)超過了 Llama2-65B。
到底什么是 MoE,它會是未來大模型訓練的新方向嗎?
Founder Park 整理了公眾號「HsuDan」、「深度人工智能」對于 MOE 的介紹。更詳細的技術解讀,可以參見 Hugging Face 官方對 MoE 的詳細技術解讀。
混合專家模型(MixtureofExperts:MoE)的思想可以追溯到集成學習,集成學習是通過訓練多個模型(基學習器)來解決同一問題,并且將它們的預測結果簡單組合(例如投票或平均)。集成學習的主要目標是通過減少過擬合,提高泛化能力,以提高預測性能。常見的集成學習方法包括 Bagging,Boosting 和 Stacking。
集成學習在訓練過程中,利用訓練數(shù)據(jù)集訓練基學習器,基學習器的算法可以是決策樹、SVM、線性回歸、KNN 等,在推理過程中對于輸入的 X,在每個基學習器得到相應的答案后將所有結果有機統(tǒng)一起來,例如通過求均值的方法解決數(shù)值類問題,通過投票方式解決分類問題。
MoE 和集成學習的思想異曲同工,都是集成了多個模型的方法,但它們的實現(xiàn)方式有很大不同。與 MoE 的最大不同的地方是集成學習不需要將任務分解為子任務,而是將多個基礎學習器組合起來。這些基礎學習器可以使用相同或不同的算法,并且可以使用相同或不同的訓練數(shù)據(jù)。
MoE 模型本身也并不是一個全新的概念,它的理論基礎可以追溯到 1991 年由 MichaelJordan 和 GeoffreyHinton 等人提出的論文,距今已經有 30 多年的歷史,但至今依然在被廣泛應用的技術。這一理念在被提出來后經常被應用到各類模型的實際場景中,在 2017 年得到了更進一步的發(fā)展,當時,一個由 QuocLe,GeoffreyHinton 和 JeffDean 領銜的團隊提出了一種新型的 MoE 層,它通過引入稀疏性來大幅提高模型的規(guī)模和效率。
大模型結合混合專家模型的方法屬于老樹發(fā)新芽,隨著應用場景的復雜化和細分化,大模型越來越大,垂直領域應用更加碎片化,想要一個模型既能回答通識問題,又能解決專業(yè)領域問題,似乎 MoE 是一種性價比更高的選擇。在多模態(tài)大模型的發(fā)展浪潮之下,MoE 大有可能成為 2024 年大模型研究的新方向之一,而大模型也會帶著 MoE,讓其再次偉大。
下面是近些年一部分 MoE 的應用發(fā)展事件,可以看出早期 MoE 的應用和 Transformer 的發(fā)展時間節(jié)點差不多,都是在 2017 年左右。
2017 年,谷歌首次將 MoE 引入自然語言處理領域,通過在 LSTM 層之間增加 MoE 實現(xiàn)了機器翻譯方面的性能提升;
2020 年,Gshard 首次將 MoE 技術引入 Transformer 架構中,并提供了高效的分布式并行計算架構,而后谷歌的 Swtich Transformer 和 GLaM 則進一步挖掘 MoE 技術在自然語言處理領域中的應用潛力,實現(xiàn)了優(yōu)秀的性能表現(xiàn);
2021 年的 V-MoE 將 MoE 架構應用在計算機視覺領域的 Transformer 架構模型中,同時通過路由算法的改進在相關任務中實現(xiàn)了更高的訓練效率和更優(yōu)秀的性能表現(xiàn);
2022 年的 LIMoE 是首個應用了稀疏混合專家模型技術的多模態(tài)模型,模型性能相較于 CLIP 也有所提升。
近期 Mistral AI 發(fā)布的 Mistral 8x7B 模型是由 70 億參數(shù)的小模型組合起來的 MoE 模型,直接在多個跑分上超過了多達 700 億參數(shù)的 Llama 2。
將混合專家模型(Mixture of Experts:MoE)應用于大模型中似乎是不一個不錯的想法,Mistral AI 發(fā)布的 Mistral 8x7B 模型在各項性能和參數(shù)上證明了這一點,使用了更少的參數(shù)卻獲得了遠超于 Llama 2 的效果,這為大模型的發(fā)展提供了一種新的思路。
「學有所長,術有專攻」,古人早已將告訴過我們如何將復雜的事物簡單化處理。大模型從早期只處理文本數(shù)據(jù),到后來需要同時處理圖像數(shù)據(jù)和語音數(shù)據(jù)的發(fā)展過程中,其參數(shù)量和模型結構設計也越來復雜和龐大。
如果說單模態(tài)大模型是一個「特長生」,那么多模態(tài)大模型就是一個「全能天才」,想要讓這個「全能天才」學習的更好,那么就需要對其學習任務分類,安排不同科目的老師進行學習任務的輔導,這樣才能讓其高效快速的學習到各科的知識,在考試的時候才有可能在各科成績上有優(yōu)異的表現(xiàn)。
混合專家模型(MixtureofExperts:MoE)正是這樣一個培養(yǎng)「全能天才」的方法,其核心思想就是先把任務分門別類,然后分給各個「專家模型」進行解決。混合專家模型(MoE)是一種稀疏門控制的深度學習模型,它主要由一組專家模型和一個門控模型組成。MoE 的基本理念是將輸入數(shù)據(jù)根據(jù)任務類型分割成多個區(qū)域,并將每個區(qū)域的數(shù)據(jù)分配一個或多個專家模型。每個專家模型可以專注于處理輸入這部分數(shù)據(jù),從而提高模型的整體性能。
MoE 架構的基本原理非常簡單明了,它主要包括兩個核心組件:GateNet 和 Experts。GateNet 的作用在于判定輸入樣本應該由哪個專家模型接管處理。而 Experts 則構成了一組相對獨立的專家模型,每個專家負責處理特定的輸入子空間。
門控模型(GateNet):混合專家模型中「門」是一種稀疏門網絡,它接收單個數(shù)據(jù)元素作為輸入,然后輸出一個權重,這些權重表示每個專家模型對處理輸入數(shù)據(jù)的貢獻。一般是通過 softmax 門控函數(shù)通過專家或 token 對概率分布進行建模,并選擇前 K 個。例如,如果模型有三個專家,輸出的概率可能為 0.5 和 0.4、0.1,這意味著第一個專家對處理此數(shù)據(jù)的貢獻為 50%,第二個專家為 40%,第二個專家為 10%,這個時候的 K 就可以選擇為 2,我們認為前兩個專家模型的建議會更好,可以用于更加精確的回答中,而第三個專家模型的建議可以用于更加富有創(chuàng)意性的答案中。
專家模型(Experts):在訓練的過程中,輸入的數(shù)據(jù)被門控模型分配到不同的專家模型中進行處理;在推理的過程中,被門控選擇的專家會針對輸入的數(shù)據(jù),產生相應的輸出。這些輸出最后會和每個專家模型處理該特征的能力分配的權重進行加權組合,形成最終的預測結果。
混合專家模型在訓練過程中通過門控模型實現(xiàn)「因材施教」,進而在推理過程中實現(xiàn)專家模型之間的「博采眾長」。MoE 的專家模型可以是小型的 MLP 或者復雜的 LLM。
在傳統(tǒng)的密集模型中,每個輸入都必須經歷完整的計算流程,這導致了在處理大規(guī)模數(shù)據(jù)時的顯著計算成本。然而,在現(xiàn)代深度學習中,稀疏混合專家(MoE)模型的引入為解決這一問題提供了一種新的方法。在這種模型中,輸入數(shù)據(jù)只激活或利用了少數(shù)專家模型,而其他專家模型保持不活躍狀態(tài),形成了「稀疏」結構。這種稀疏性被認為是混合專家模型的重要優(yōu)點,不僅在減少計算負擔的同時,還能提高模型的效率和性能。
MoE模型的優(yōu)勢在于其靈活性和擴展性。由于可以動態(tài)地調整專家網絡的數(shù)量和類型,MoE 模型可以有效地處理大規(guī)模和復雜的數(shù)據(jù)集。此外,通過并行處理不同的專家網絡,MoE 模型還可以提高計算效率。
在實際應用中,MoE 模型常用于處理需要大量計算資源的任務,如語言模型、圖像識別和復雜的預測問題。通過將大型問題分解為更小、更易管理的子問題,MoE 模型能夠提供更高效和精確的解決方案。
混合專家模型的優(yōu)勢顯而易見,通過 MoE 的方式,可以極大的促進大模型的研究和發(fā)展,但也不能忽視其各方面的問題,在實際應用中應該結合具體的需求對各方面的性能和參數(shù)進行一個權衡。
混合專家模型(Mixture of Experts,MoE)的優(yōu)勢:
混合專家模型(Mixture of Experts,MoE)具有多方面的優(yōu)勢,使其在深度學習領域得到廣泛應用。以下是一些混合專家模型的優(yōu)勢:
1. 任務特異性:采用混合專家方法可以有效地充分利用多個專家模型的優(yōu)勢,每個專家都可以專門處理不同的任務或數(shù)據(jù)的不同部分,在處理復雜任務時取得更卓越的性能。各個專家模型能夠針對不同的數(shù)據(jù)分布和模式進行建模,從而顯著提升模型的準確性和泛化能力,因此模型可以更好地適應任務的復雜性。這種任務特異性使得混合專家模型在處理多模態(tài)數(shù)據(jù)和復雜任務時表現(xiàn)出色。
2. 靈活性:混合專家方法展現(xiàn)出卓越的靈活性,能夠根據(jù)任務的需求靈活選擇并組合適宜的專家模型。模型的結構允許根據(jù)任務的需要動態(tài)選擇激活的專家模型,實現(xiàn)對輸入數(shù)據(jù)的靈活處理。這使得模型能夠適應不同的輸入分布和任務場景,提高了模型的靈活性。
3. 高效性:由于只有少數(shù)專家模型被激活,大部分模型處于未激活狀態(tài),混合專家模型具有很高的稀疏性。這種稀疏性帶來了計算效率的提升,因為只有特定的專家模型對當前輸入進行處理,減少了計算的開銷。
4. 表現(xiàn)能力:每個專家模型可以被設計為更加專業(yè)化,能夠更好地捕捉輸入數(shù)據(jù)中的模式和關系。整體模型通過組合這些專家的輸出,提高了對復雜數(shù)據(jù)結構的建模能力,從而增強了模型的性能。
5. 可解釋性:由于每個專家模型相對獨立,因此模型的決策過程更易于解釋和理解,為用戶提供更高的可解釋性,這對于一些對模型決策過程有強解釋要求的應用場景非常重要。
MoE 構架還能向 LLM 添加可學習參數(shù),而不增加推理成本。
6. 適應大規(guī)模數(shù)據(jù):混合專家方法是處理大規(guī)模數(shù)據(jù)集的理想選擇,能夠有效地應對數(shù)據(jù)量巨大和特征復雜的挑戰(zhàn),可以利用稀疏矩陣的高效計算,利用 GPU 的并行能力計算所有專家層,能夠有效地應對海量數(shù)據(jù)和復雜特征的挑戰(zhàn)。其并行處理不同子任務的特性,充分發(fā)揮計算資源,幫助有效地擴展模型并減少訓練時間,提高模型在訓練和推理階段的效率,使其在大規(guī)模數(shù)據(jù)下具有較強的可擴展性,以更低的計算成本獲得更好的結果。這種優(yōu)勢使得混合專家方法成為在大數(shù)據(jù)環(huán)境下進行深度學習的強有力工具。
混合專家模型通過充分利用多個專家模型的優(yōu)勢,實現(xiàn)了在任務處理、靈活性、計算效率和可解釋性等方面的平衡,使其成為處理復雜任務和大規(guī)模數(shù)據(jù)的有效工具。
混合專家模型(Mixture of Experts,MoE)的問題:
盡管混合專家模型在許多方面具有優(yōu)勢,但也存在一些問題和挑戰(zhàn),這些需要在實際應用中謹慎考慮。以下是一些混合專家模型可能面臨的問題:
此外,還有重要的一點是混合專家模型在分布式計算環(huán)境下可能面臨通信寬帶瓶頸的問題。這主要涉及到混合專家模型的分布式部署,其中不同的專家模型或門控網絡可能分布在不同的計算節(jié)點上。在這種情況下,模型參數(shù)的傳輸和同步可能導致通信開銷過大,成為性能的一個瓶頸。
MoE 相關論文
1. Adaptive mixtures of local experts, Neural Computation'1991
2. Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, ICLR'17
3. GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding, ICLR'21
4. Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity, JMLR'22
5. GLaM: Efficient Scaling of Language Models with Mixture-of-Experts, 2021
6. Go Wider Instead of Deeper, AAAI'22
7. MoEBERT: from BERT to Mixture-of-Experts via Importance-Guided Adaptation, NAACL'22
論文 3 GShard?是第一個將 MoE 的思想拓展到 Transformer 上的工作,但論文亮點是提出了 GShard 這個框架,可以方便的做對 MoE 結構做數(shù)據(jù)并行或者模型并行。
我們可以重點看其中提出的MoE結構,論文具體的做法是:把 Transformer 的 encoder 和 decoder 中,每隔一個(every other)的 FFN 層,替換成 position-wise 的 MoE 層,又加了一個分發(fā)器(Gating),使用的是 Top-2 gating network,即不同的 token 每次會發(fā)給至多兩個專家。
文中還提到了很多其他設計:
論文 4 Switch Transformer 的亮點在于它簡化了 MoE 的 routing 算法,每個 FFN 層激活的專家個數(shù)從多個變成了一個,提高了計算效率,可以將語言模型的參數(shù)量擴展至 1.6 萬億。
論文 5 GLaM 是 Google 在 2021 年推出的一個超大模型,比 GPT-3 大三倍,但是由于使用了 Sparse MoE 的設計,訓練成本卻只有 GPT-3 的 1/3,而且在 29 個 NLP 任務上超越了 GPT-3。
以上三篇文章(GShard,Switch-Transformer,GLaM)都是希望通過 MoE 的方式把模型做得盡可能的大,大到普通人玩不起(動輒使用幾百個 experts)。
但也有更親民一點的,論文 6 和 7 是關于如何利用 MoE 去壓縮模型、提高效率。
小編推薦下載
相關文章
更多>>資訊排行
同類軟件下載
熱門標簽