一條磁力鏈爆全網(wǎng),Mixtral 8x7B論文來了!碾壓Llama 2 70B,每token僅需激活13B參數(shù)
還記得一個(gè)月前,Mistral AI突然公布的一條磁力鏈接,引爆了整個(gè)AI社區(qū)。
緊接著,Mixtral 8x7B的技術(shù)細(xì)節(jié)隨之公布,其表現(xiàn)不僅優(yōu)于Llama 2 70B,而且推理速度提高了整整6倍。
甚至,它在大多數(shù)標(biāo)準(zhǔn)基準(zhǔn)測試上與GPT-3.5打平,甚至略勝一籌。
今天,這家法國初創(chuàng)正式發(fā)布了Mixtral 8x7B混合專家模型(Mixtral of Experts)的論文。
論文地址:https://arxiv.org/abs/2401.04088
網(wǎng)友紛紛表示,最好的開源模型論文終于發(fā)布了。
具體技術(shù)細(xì)節(jié),我們一探究竟。
架構(gòu)
Mixtral是一個(gè)稀疏的混合專家網(wǎng)絡(luò),而且是一個(gè)純解碼器模型。其中前饋塊從一組8個(gè)不同的參數(shù)組中進(jìn)行選擇。
在每一層,對于每個(gè)token,路由網(wǎng)絡(luò)都會(huì)選擇其中的兩個(gè)組「專家」來處理token,并將它們的輸出相加。
這項(xiàng)技術(shù)不僅增加了模型的參數(shù)數(shù)量,而且控制了成本和延遲,因?yàn)槟P兔刻幚硪粋€(gè)token只會(huì)使用部分參數(shù)。
具體來說,Mixtral使用32000個(gè)token的上下文信息時(shí)進(jìn)行了預(yù)訓(xùn)練。在多項(xiàng)基準(zhǔn)測試中,它的性能達(dá)到或超過Llama 2 70B和GPT-3.5。
尤其,Mixtral在數(shù)學(xué)、代碼生成和多語言理解任務(wù)方面,表現(xiàn)卓越,并在這些領(lǐng)域顯著優(yōu)于Llama 2 70B。
而且研究表明,Mixtral能夠成功地從32k token的上下文窗口中檢索信息,無論序列長度和信息在序列中的位置如何。
架構(gòu)細(xì)節(jié)
Mixtra基于Transformer架構(gòu)打造,并使用了「Mistral 7B」論文中一些模型修改方法。
但明顯不同的是,Mixtral完全支持32k token的全密集上下文長度,并且前饋塊被混合專家層(Mixture-of-Expert layer)所取代。先看如下表1,匯總了模型架構(gòu)的具體參數(shù)。
稀疏混合專家
下圖所示,研究人員具體介紹了混合專家層。
這是一個(gè)處理輸入數(shù)據(jù)的特殊層,在這里,每個(gè)輸入數(shù)據(jù)點(diǎn)都會(huì)被分配給8個(gè)處理單元(稱為「專家」)中的2個(gè)。
這個(gè)分配過程是由一個(gè)路由完成的,但這里的路由并不是我們通常說的網(wǎng)絡(luò)設(shè)備,而是神經(jīng)網(wǎng)絡(luò)中的一個(gè)組件,它負(fù)責(zé)決定哪些「專家」來處理特定的數(shù)據(jù)點(diǎn)。
每個(gè)「專家」實(shí)際上是一個(gè)處理模塊,它們各自獨(dú)立處理被分配的數(shù)據(jù),并輸出結(jié)果。
最終,這層的輸出結(jié)果是由這2個(gè)被選中的「專家」的輸出經(jīng)過特定的加權(quán)計(jì)算后得到的。
在Mixtral這個(gè)系統(tǒng)中,每個(gè)「專家」其實(shí)就是一個(gè)標(biāo)準(zhǔn)的前饋網(wǎng)絡(luò)模塊,這種模塊也被用在了我們所說的標(biāo)準(zhǔn)Transformer模型架構(gòu)中。
混合專家層(Mixture of Experts Layer)
MoE層可以在具有高性能專用內(nèi)核的單個(gè)GPU上高效運(yùn)行。
比如Megablocks將MoE層的前饋網(wǎng)絡(luò)(FFN)操作轉(zhuǎn)換為大型稀疏矩陣乘法,顯著提高了執(zhí)行速度,并自然地處理不同專家獲得分配它們的可變數(shù)量token的情況。
此外,MoE層可以通過標(biāo)準(zhǔn)模型并行技術(shù)以及一種稱為專家并行(EP)的特殊分區(qū)策略分布到多個(gè)GPU。
在MoE層執(zhí)行期間,本應(yīng)由特定專家處理的token將被路由到相應(yīng)的GPU進(jìn)行處理,并且專家的輸出將返回到原始token位置。
結(jié)果
研究人員對Mixtral和Llama進(jìn)行了對比研究,為了確保比較的公正性,并重新運(yùn)行了所有的基準(zhǔn)測試,這一次采用了內(nèi)部開發(fā)的評估流程。
研究人員在多種不同的任務(wù)上進(jìn)行了性能評估,這些任務(wù)可以分為以下幾類:
- 常識(shí)推理(零樣本):包括Hellaswag,Winogrande,PIQA,SIQA,OpenbookQA,ARC-Easy,ARC-Challenge,以及CommonsenseQA
- 世界知識(shí)(少樣本,5個(gè)樣本):涵蓋了NaturalQuestions和TriviaQA
- 閱讀理解(零樣本):BoolQ和QuAC
- 數(shù)學(xué):GSM8K(少樣本,8個(gè)樣本)使用了多數(shù)投票法(maj@8),以及MATH(少樣本,4個(gè)樣本)同樣采用了多數(shù)投票法(maj@4)
- 編程代碼:Humaneval(零樣本)和MBPP(少樣本,3個(gè)樣本)
- 綜合性測試:MMLU(少樣本,5個(gè)樣本),BBH(少樣本,3個(gè)樣本),還有AGI Eval(少樣本,3至5個(gè)樣本,僅限英語選擇題)
可以看到,在所有基準(zhǔn)測試中,Mixtral的表現(xiàn)都超過,或至少與Llama 2 70B相當(dāng)。值得一提的是,在數(shù)學(xué)和代碼生成這兩個(gè)領(lǐng)域,Mixtral顯著優(yōu)于Llama 2 70B。
Mixtral與不同參數(shù)的Llama模型在一系列基準(zhǔn)測試中的性能對比
如下表2展示了Mixtral 8x7B、Mistral 7B以及Llama 2 7B/13B/70B和Llama 1 34B的詳細(xì)結(jié)果。
模型參數(shù)規(guī)模與效率對比
研究人員將Mixtral模型的性能與Llama 2系列做了對比,目的是要探究Mixtral在成本與性能比上的高效性(圖3)。
作為一種稀疏的混合專家模型(Sparse Mixture-of-Experts model),Mixtral每處理一個(gè)token只需激活13B參數(shù)。盡管活躍參數(shù)減少了5倍,但Mixtral在大部分領(lǐng)域的表現(xiàn)仍然超過了Llama 2 70B。
此外,需要指出的是,這項(xiàng)分析主要關(guān)注活躍參數(shù)的數(shù)量,這個(gè)數(shù)量直接關(guān)聯(lián)到推理階段的計(jì)算成本,不過并未涉及內(nèi)存成本和硬件的使用效率。
用于運(yùn)行Mixtral的內(nèi)存成本與其稀疏參數(shù)的總數(shù)有關(guān),總共為47B,這仍然比Llama 2 70B參數(shù)要少。
關(guān)于硬件的使用率,研究人員注意到由于專家模型的路由機(jī)制,SMoEs層會(huì)引入額外的計(jì)算成本。
而且當(dāng)每個(gè)硬件設(shè)備運(yùn)行多個(gè)專家模型時(shí),由于內(nèi)存需求增加,也會(huì)帶來更高的成本。這種模型更適用于可以實(shí)現(xiàn)高運(yùn)算密度的批量處理任務(wù)。
與Llama 2 70B和GPT-3.5的性能比較
在表3中,研究人員展示了Mixtral 8x7B與Llama 2 70B、GPT-3.5在性能上的對比結(jié)果。
通過對比,研究人員還發(fā)現(xiàn)Mixtral在多個(gè)方面表現(xiàn)媲美,甚至超越了另外兩個(gè)模型。
在多模態(tài)學(xué)習(xí)理解(MMLU)的評測中,Mixtral盡管在模型參數(shù)量上較?。?7B token對比70B),性能卻更勝一籌。
至于機(jī)器翻譯評測(MT Bench),研究人員則是報(bào)告了當(dāng)前最新的GPT-3.5-Turbo模型,即gpt-3.5-turbo-1106版本的性能數(shù)據(jù)。
可以看到,在所有基準(zhǔn)測試中,Mixtral的表現(xiàn)普遍優(yōu)于Llama 2 70B,唯一的例外是在閱讀理解基準(zhǔn)測試中,當(dāng)其激活參數(shù)數(shù)量僅為Llama 2 70B的1/5時(shí)。
特別是在代碼和數(shù)學(xué)領(lǐng)域,Mixtral顯著勝過Llama 2 70B。
Mixtral(7B/8x7B)與 Llama 2(7B/13B/70B)在MMLU、常識(shí)推理、世界知識(shí)、閱讀理解、數(shù)學(xué)和代碼方面的比較結(jié)果
多語言基準(zhǔn)
與Mistral 7B相比較,研究人員在模型預(yù)訓(xùn)練階段,顯著提高了多語言數(shù)據(jù)的比重。
這種增加的模型參數(shù)讓Mixtral在多語種的性能評估中表現(xiàn)出色,同時(shí)還不損失對英語的準(zhǔn)確度。
尤其值得一提的是,Mixtral在處理法語、德語、西班牙語和意大利語的任務(wù)上,明顯勝過了Llama 2 70B,具體成績可以參見表4。
長距離性能
為了檢驗(yàn)Mixtral在處理涉及廣泛信息的情境下的表現(xiàn),研究人員還提出了一項(xiàng)稱為passkey檢索的任務(wù)對其進(jìn)行測試。
這項(xiàng)任務(wù)是專門設(shè)計(jì)來評估模型在面對一個(gè)包含隨機(jī)插入的passkey的長篇提示信息時(shí),恢復(fù)passkey的能力。
圖4(左)的結(jié)果表明,無論上下文有多長或者passkey出現(xiàn)在文本序列的哪個(gè)位置,Mixtral都能保持100%的恢復(fù)精度。
而圖4(右)則展示了Mixtral在proof-pile數(shù)據(jù)集的一個(gè)子集上的困惑度(perplexity),隨著上下文量的增加,其困惑度呈現(xiàn)出單調(diào)下降的趨勢。
指令微調(diào)
此外,研究人員還開發(fā)了Mixtral–Instruct模型,首先在一個(gè)指令數(shù)據(jù)集上進(jìn)行了監(jiān)督微調(diào)(SFT),然后在一個(gè)成對的反饋數(shù)據(jù)集上采用了直接偏好優(yōu)化(DPO)。
在MT-Bench的評估中,Mixtral–Instruct取得了8.30的高分(表2),成為了截至2023年12月表現(xiàn)最佳的開源權(quán)重模型。
LMSys進(jìn)行的人工評估結(jié)果顯示在圖6,結(jié)果表明Mixtral–Instruct的表現(xiàn)超越了GPT-3.5-Turbo、Gemini Pro、Claude-2.1以及Llama 2 70B chat模型。
路由分析
最后,研究人員對路由器如何選擇「專家」進(jìn)行了簡要分析。特別是在訓(xùn)練期間,是否會(huì)有「專家」選擇專攻某些特定的領(lǐng)域(如數(shù)學(xué)、生物學(xué)、哲學(xué)等)。
為了探究這一點(diǎn),研究人員對The Pile驗(yàn)證數(shù)據(jù)集的不同子集進(jìn)行了「專家」選擇分布的測量,結(jié)果如圖7所示。涉及模型的第0層、第15層和第31層(最后一層)。
出乎意料的是,這里并沒有發(fā)現(xiàn)明顯的基于主題分配「專家」的模式。
比如,在所有層中,無論是arXiv論文(用LaTeX編寫)、生物學(xué)領(lǐng)域(PubMed摘要)還是哲學(xué)領(lǐng)域(PhilPapers文件),「專家」的分配分布都非常相似。
只有在數(shù)學(xué)領(lǐng)域(DM Mathematics)中,「專家」的分布略有不同。
研究人員認(rèn)為,這種差異可能是因?yàn)閿?shù)據(jù)集本身是合成的,且對自然語言的覆蓋上有限,尤其是在模型的第一層和最后一層,隱藏狀態(tài)分別與輸入和輸出嵌入高度相關(guān)。
而這也表明,路由器確實(shí)表現(xiàn)出了一些結(jié)構(gòu)化的句法行為。
圖8展示了不同領(lǐng)域(Python 代碼、數(shù)學(xué)和英語)的文本示例。其中,每個(gè)token都用不同的背景色標(biāo)注,便于查看對應(yīng)分配到的「專家」。
可以發(fā)現(xiàn),像Python中的「self」和英文中的「Question」這樣的詞語,雖然包含有多個(gè)token,但往往被分配給同一個(gè)「專家」。同樣,相鄰的token也會(huì)被分配給同一位「專家」。
在代碼中,縮進(jìn)的token也總是被指派給相同的「專家」,這一點(diǎn)在模型的第一層和最后一層尤為顯著,因?yàn)檫@些層的隱藏狀態(tài)與模型的輸入和輸出更加緊密相關(guān)。
此外,根據(jù)The Pile數(shù)據(jù)集,研究人員還發(fā)現(xiàn)了一些位置上的鄰近性(positional locality)。
表5展示了在不同領(lǐng)域和網(wǎng)絡(luò)層中,連續(xù)token被同一個(gè)「專家」選中的比例。
在網(wǎng)絡(luò)的上層,這種連續(xù)性的重復(fù)分配遠(yuǎn)高于隨機(jī)分配的概率。這一現(xiàn)象對于模型的優(yōu)化——加速訓(xùn)練和推理過程,有重要的啟示。
例如,在專家并行(Expert Parallelism)處理中,那些位置上具有高鄰近性的情況更容易導(dǎo)致某些「專家」被過度使用。不過,這種鄰近性也可以用于緩存技術(shù)。
關(guān)于這些「專家」被選擇的頻率,圖10提供了一個(gè)更全面的視角,涵蓋了所有網(wǎng)絡(luò)層和不同的數(shù)據(jù)集。
結(jié)論
在這篇論文中,研究人員介紹了第一個(gè)性能達(dá)到SOTA的開源專家混合網(wǎng)絡(luò)——Mixtral 8x7B。
在人類評估基準(zhǔn)中,Mixtral 8x7B Instruct的表現(xiàn)超越了Claude-2.1、Gemini Pro以及GPT-3.5-Turbo。
Mixtral的一大特點(diǎn)是,它在處理每個(gè)token時(shí),僅激活使用13B參數(shù),而這一數(shù)值遠(yuǎn)低于Llama 2 70B所使用的70B參數(shù)。
現(xiàn)在,研究人員已經(jīng)把訓(xùn)練和微調(diào)后的模型在Apache 2.0開源許可下公開,以便社區(qū)成員可以自由使用。