32專家MoE大模型免費(fèi)商用!性能全面對(duì)標(biāo)Llama3,單token推理消耗僅5.28%
每個(gè)token只需要5.28%的算力,精度就能全面對(duì)標(biāo)Llama 3。
開(kāi)源大模型,再添一位重量級(jí)選手——
來(lái)自浪潮信息的32專家MoE模型,源2.0-M32。
不僅擁有極高的回報(bào)投入比,而且全面開(kāi)放,訓(xùn)練代碼和模型權(quán)重都可任意下載,商業(yè)使用也免費(fèi)、無(wú)需授權(quán)。
那么,這到底是怎樣的一款模型?
1/19算力消耗,性能對(duì)標(biāo)Llama 3
首先了解一下模型的基本信息,源2.0-M32模型采用MoE架構(gòu),專家數(shù)量為32,總參數(shù)量40B,激活專家數(shù)為2,激活參數(shù)量3.7B。
精度上,源2.0-M32在多個(gè)測(cè)評(píng)數(shù)據(jù)集上全面對(duì)標(biāo)Llama3(70B,以下同),在MATH(數(shù)學(xué)競(jìng)賽)和ARC-C(科學(xué)推理)榜單還上超越了Llama3。
舉個(gè)例子,在求解一道中文數(shù)學(xué)題目時(shí),源2.0-M32能夠用中文進(jìn)行完整、準(zhǔn)確作答,而Llama3雖然能理解中文題目,但回答時(shí)還是用了英文。
而且看一下Llama3的答案,雖然前面的過(guò)程也沒(méi)什么問(wèn)題,但最終得到的結(jié)果錯(cuò)得離譜,硬生生把一堆整數(shù)的和算出了小數(shù)點(diǎn)。
在實(shí)現(xiàn)與業(yè)界領(lǐng)先開(kāi)源大模型性能相當(dāng)?shù)耐瑫r(shí),在模型的訓(xùn)練、推理和微調(diào)過(guò)程中,源2.0-M32的資源消耗也都顯著更低。
在訓(xùn)練階段,使用2萬(wàn)億token對(duì)源2.0-M32進(jìn)行預(yù)訓(xùn)練,計(jì)算量只有同參數(shù)規(guī)模稠密模型的9.25%。
在推理階段,在達(dá)到相當(dāng)精度的條件下,源2.0-M32平均每個(gè)token消耗的算力為7.4GFLOPS,Llama3則需要140GFLOPS,前者的消耗僅為后者的1/19,即5.28%。
換言之,源2.0-M32每Token算力下的平均精度是Llama3的18.8倍,擁有更高的模算效率。
微調(diào)上,使用1萬(wàn)條平均長(zhǎng)度為1024 token的數(shù)據(jù)進(jìn)行微調(diào),Llama3-70B消耗為0.05PD(PetaFLOPs/s-Day),源2.0-M32只用0.0026PD,僅為L(zhǎng)lama3的5.2%。
當(dāng)然不得不說(shuō)的是,雖然源2.0-M32的微調(diào)消耗已經(jīng)降低到了Llama3的5.2%,但微調(diào)本身對(duì)于一些用戶來(lái)說(shuō)就是無(wú)法負(fù)擔(dān)的成本。
而得益于源2.0-M32強(qiáng)大的少樣本學(xué)習(xí)能力,讓用戶即使沒(méi)有條件進(jìn)行微調(diào),也能快速構(gòu)建大模型應(yīng)用。
以代碼生成為例,僅需很少量的樣本引導(dǎo),源2.0-M32在HumanEval上獲得的精度就能從74.4提升到78.1,增幅達(dá)到了4.97%。
浪潮信息提供了預(yù)訓(xùn)練、微調(diào)和推理服務(wù)腳本,開(kāi)發(fā)人員可以高效完成部署。
模型部署可端可云,可以在自有的云服務(wù)上部署,也可以在浪潮信息推出的企業(yè)大模型開(kāi)發(fā)平臺(tái)EPAI中快速構(gòu)建,還可以通過(guò)浪潮信息開(kāi)源的本地大模型對(duì)話工具YuanChat,在PC端完成快速部署。
而且源2.0-M32模型激活參數(shù)量?jī)H3.7B,算力需求只有2B模型(單專家)的1點(diǎn)多倍,用筆記本就能帶動(dòng)。
總之,浪潮信息始終追求更高效的智能涌現(xiàn)——本次發(fā)布“源2.0-M32”大模型,就是希望資源有限的條件下,實(shí)現(xiàn)能耗更低、推理和訓(xùn)練效果更優(yōu)的大模型開(kāi)發(fā)。
那么,浪潮信息是如何實(shí)現(xiàn)用更少的算力開(kāi)銷,對(duì)標(biāo)行業(yè)領(lǐng)先模型的呢?
算法、算力、數(shù)據(jù)的全面創(chuàng)新
自浪潮信息涉足AI領(lǐng)域以來(lái),一直將“算法、算力、數(shù)據(jù)”視為AI應(yīng)用的“三駕馬車”。
實(shí)際上,整個(gè)“源”系列大模型的研發(fā)過(guò)程亦是如此,所有的相關(guān)研究,都是圍繞著這三個(gè)維度展開(kāi)的。
在算法上,源2.0-M32選擇了MoE架構(gòu),解決了稠密模型訓(xùn)練成本過(guò)高、數(shù)據(jù)和算力不足的問(wèn)題。
從Llama1(65B)、Llama2(70B)到Llama3(70B)的迭代過(guò)程可以看出,三代模型的參數(shù)量接近,但隨著訓(xùn)練Token數(shù)從1.4T增加到了15T,模型表現(xiàn)也隨之顯著提升。
△數(shù)據(jù)來(lái)自Llama1與Llama2的論文
大模型的擴(kuò)展率揭示出:增大模型的參數(shù)量與增大訓(xùn)練的token數(shù)對(duì)模型能力提升的作用類似,如果按照Llama3的訓(xùn)練數(shù)據(jù)量(15T tokens)外推,500B參數(shù)的模型若想充分的訓(xùn)練,所需的高質(zhì)量文本token數(shù)高達(dá)107T,已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了當(dāng)前業(yè)界已知的數(shù)據(jù)量。
退一步講,即使真的有這么多數(shù)據(jù),訓(xùn)練過(guò)程所需的算力投入同樣無(wú)法承受。
按照計(jì)算,如果用107T訓(xùn)練token訓(xùn)一個(gè)500B參數(shù)規(guī)模的Dense模型,需要的算力是321000Z(10^21)Flops。
即使在2萬(wàn)顆加速卡的集群上,訓(xùn)練效率按40%來(lái)算(實(shí)際還不一定能達(dá)到),也需要耗時(shí)464天,單是電費(fèi)就要花費(fèi)約3億元。
相比之下,MoE模型的一個(gè)顯著優(yōu)勢(shì)就是,能夠在遠(yuǎn)少于稠密模型所需的計(jì)算資源下,進(jìn)行有效的預(yù)訓(xùn)練。
同時(shí),源2.0-M32沒(méi)有采用Mixtral等MoE模型中更常見(jiàn)的8專家結(jié)構(gòu),而是將專家數(shù)量設(shè)定為了32,運(yùn)行時(shí)只激活兩個(gè)專家。
這一參數(shù)的選擇,是研發(fā)團(tuán)隊(duì)進(jìn)行了大量的實(shí)驗(yàn)調(diào)優(yōu)之后確定的。
浪潮信息人工智能首席科學(xué)家吳韶華介紹說(shuō),模算效率是浪潮信息設(shè)計(jì)自己的大模型時(shí)的核心出發(fā)點(diǎn),在提升模型能力的同時(shí),盡可能降低算力開(kāi)銷。
業(yè)界中像Mixtral這樣的模型,獲得更高精度的方式是固定專家數(shù)量,增加單個(gè)專家的參數(shù)量,但源2.0-M32則反其道而行之。
吳韶華介紹,在研發(fā)團(tuán)隊(duì)的實(shí)驗(yàn)中,隨著專家數(shù)量從8個(gè)專家增加到32個(gè)專家,在模型精度上取得了非常不錯(cuò)的回報(bào)。
但即使總的專家數(shù)量增加到了32個(gè),激活的專家依然只有兩個(gè)。在這種情況下,激活參數(shù)量不變,算力開(kāi)銷不變。
至于源2.0-M32中的單個(gè)專家,則是選用了源2.0-2B模型,這樣做的考量是控制單個(gè)專家的參數(shù)量不至于過(guò)大,以便在企業(yè)場(chǎng)景應(yīng)用中可以有更好的模算效率。
除了在專家數(shù)量的設(shè)置上另辟蹊徑,團(tuán)隊(duì)也對(duì)源2.0-M32的門(mén)控網(wǎng)絡(luò)進(jìn)行了全新設(shè)計(jì),采用了獨(dú)創(chuàng)的Attention Router門(mén)控網(wǎng)絡(luò),相比傳統(tǒng)的門(mén)控網(wǎng)絡(luò)獲得了精度提升。
當(dāng)前流行的MoE結(jié)構(gòu)大都采用簡(jiǎn)單的調(diào)度策略,其本質(zhì)是對(duì)token與代表每個(gè)專家的特征向量求點(diǎn)積,隨后挑選點(diǎn)積結(jié)果最大的幾個(gè)專家。
這種方式只考慮了token和專家的關(guān)系,卻忽略了專家與專家之間的相關(guān)性,但實(shí)際過(guò)程中往往需要多個(gè)專家協(xié)同參與計(jì)算,如果忽視專家之間相關(guān)性,無(wú)疑會(huì)降低模型的精度。
而源2.0-M32大模型中的Attention Router,就創(chuàng)造了一種專家間協(xié)同性的度量方法,解決了傳統(tǒng)的門(mén)控機(jī)制中專家關(guān)聯(lián)性缺失的問(wèn)題。
具體來(lái)說(shuō),對(duì)于每一個(gè)專家,研發(fā)團(tuán)隊(duì)都構(gòu)建了3個(gè)向量,并利用類似Attention的機(jī)制來(lái)構(gòu)建專家之間的關(guān)系。最終選擇的專家不僅與Token匹配度高,兩個(gè)專家的協(xié)同效果也更好。
此外,源2.0-M32也沿用了源2.0系列中首創(chuàng)的局部注意力過(guò)濾增強(qiáng)(LFA)機(jī)制,和經(jīng)典的Llama結(jié)構(gòu)相比,模型在幾百億token數(shù)據(jù)的訓(xùn)練之后,在100億token的測(cè)試集上做測(cè)試,會(huì)有3.5%的精度提升。
在數(shù)據(jù)層面,源2.0-M32一共使用2萬(wàn)億token進(jìn)行訓(xùn)練,相比之前的2.0版本大幅提升。
整個(gè)訓(xùn)練過(guò)程也非常穩(wěn)定,沒(méi)有出現(xiàn)數(shù)值不穩(wěn)定或異常的中斷的情況,最終訓(xùn)練損失為1.22。
數(shù)據(jù)類型上看,源2.0-M32這個(gè)模型的2萬(wàn)億token中,差不多有一半的數(shù)據(jù)都是代碼,包含中文代碼和英文代碼。
同時(shí),團(tuán)隊(duì)也引入了互聯(lián)網(wǎng)數(shù)據(jù)和各類學(xué)科數(shù)據(jù)等類型,來(lái)補(bǔ)充數(shù)據(jù)的多樣性。
另外,研發(fā)團(tuán)隊(duì)還通過(guò)源2.0合成數(shù)據(jù)的工具,獲得并增加了超過(guò)1000萬(wàn)條的合成數(shù)據(jù),重點(diǎn)是針對(duì)于數(shù)學(xué)和中文代碼。
因?yàn)榛ヂ?lián)網(wǎng)上中文數(shù)學(xué)的語(yǔ)料實(shí)在太少,研發(fā)團(tuán)隊(duì)曾經(jīng)清洗了10PB左右的互聯(lián)網(wǎng)數(shù)據(jù),但實(shí)際只得到了幾十GB的中文數(shù)學(xué)數(shù)據(jù)。
所以,這片空白需要通過(guò)數(shù)據(jù)合成來(lái)進(jìn)行填補(bǔ),這也是研發(fā)團(tuán)隊(duì)持續(xù)做的工作。
在算力層面,源2.0-M32延續(xù)了源2.0提出的分布式訓(xùn)練方法,綜合運(yùn)用流水線并行+數(shù)據(jù)并行的策略,顯著降低了大模型對(duì)芯片間P2P帶寬的需求,為硬件差異較大訓(xùn)練環(huán)境提供了一種高性能的訓(xùn)練方法。
針對(duì)MoE模型的稀疏專家計(jì)算,采用合并矩陣乘法的方法,模算效率得到大幅提升。
將開(kāi)源進(jìn)行到底
了解了模型背后的技術(shù)細(xì)節(jié),浪潮信息又為什么能夠打造出如此高效的大模型技術(shù)和產(chǎn)品呢?
主觀上,浪潮信息始終堅(jiān)持在算法、架構(gòu)等層面進(jìn)行創(chuàng)新,對(duì)于這樣做的原因,吳韶華這樣介紹:
如果想提升大模型的能力,沿用當(dāng)前的結(jié)構(gòu)當(dāng)然是一個(gè)比較好的路徑。
但我們始終堅(jiān)持:要從算法層面和模型架構(gòu)層面做探索、創(chuàng)新,這樣才能更快速的實(shí)現(xiàn)模型能力的提升。
客觀上,也至少包括以下三點(diǎn)原因。
一是從AI時(shí)代開(kāi)始之前,浪潮信息就是專業(yè)的算力供應(yīng)商,在算力側(cè)擁有大量的生態(tài)伙伴,對(duì)不同類型算力特點(diǎn)有深入的研究,能夠更高效地對(duì)算力進(jìn)行利用。
實(shí)際上,自從2021年的源1.0開(kāi)始,浪潮信息的一系列模型就都實(shí)現(xiàn)了比業(yè)界更高的訓(xùn)練效率。
同時(shí)期的GPT-3,算力的利用效率只有21.3%,而源1.0效率則達(dá)到了44.8%,達(dá)到了業(yè)界領(lǐng)先水平。
二是在浪潮信息內(nèi)部,也有非常多的場(chǎng)景和團(tuán)隊(duì),包括客服、軟件研發(fā)、生產(chǎn)制造、運(yùn)維等等,都有很多實(shí)際的應(yīng)用案例,或者實(shí)際需要模型去做規(guī)?;D(zhuǎn)型的場(chǎng)景。
這些場(chǎng)景為源大模型的使用、迭代提供了天然的試驗(yàn)場(chǎng),同時(shí)從中能夠積累更多的經(jīng)驗(yàn)、更多的能力,從而滿足更多的需求。
三是始終堅(jiān)持開(kāi)源開(kāi)放,同樣對(duì)模型能力的進(jìn)化非常有幫助。
源系列模型的開(kāi)源從1.0版本就已開(kāi)始,從源1.0到源2.0再到今天的源2.0-M32,始終在堅(jiān)持做開(kāi)源,也已賦能了很多開(kāi)發(fā)者。
這些開(kāi)發(fā)者基于源1.0做了很有趣的應(yīng)用探索,給了浪潮信息很好的反饋,指明了在模型能力上和開(kāi)發(fā)者實(shí)際的應(yīng)用需求上,到底應(yīng)該關(guān)注在哪些層面。
吳韶華表示,從源1.0開(kāi)源至今,浪潮信息一直在開(kāi)源活動(dòng)中持續(xù)受益,后續(xù)也會(huì)很堅(jiān)定的繼續(xù)開(kāi)源。
總之,從創(chuàng)新研發(fā)到開(kāi)源開(kāi)放,浪潮信息將堅(jiān)持致力于研發(fā)基礎(chǔ)大模型,為企業(yè)用戶降低大模型使用門(mén)檻,加速推進(jìn)產(chǎn)業(yè)智能化升級(jí)。
GitHub地址:??https://github.com/IEIT-Yuan/Yuan2.0-M32???
論文地址:???https://arxiv.org/abs/2405.17976???
Huggingface地址:???https://huggingface.co/IEITYuan/Yuan2-M32-hf???
ModelScope地址:???https://modelscope.cn/models/YuanLLM/Yuan2-M32-hf/summary???
Wisemodel地址:???https://www.wisemodel.cn/models/IEIT-Yuan/Yuan2-M32-hf??
本文轉(zhuǎn)自 量子位 ,作者:量子位
