挑戰(zhàn)Scaling Law,Meta發(fā)布移動(dòng)端350M小模型MobileLLM,性能比肩7B LLaMA-v2
從5月和6月幾家科技巨頭的發(fā)布會(huì)中,我們已經(jīng)能隱隱感受到AI的一個(gè)重要發(fā)展趨勢(shì):從云數(shù)據(jù)中心走向個(gè)人用戶,從大型服務(wù)器走向筆記本和移動(dòng)設(shè)備。
遵循Scaling Law已經(jīng)不再是唯一的路徑,模型「以小搏大」的故事不斷上演。
先有微軟更新Phi系列小模型,一個(gè)樹(shù)莓派即可運(yùn)行RAG;后有谷歌用27B參數(shù)Gemma 2力壓70B的Llama 3。
硬件方面,我們看到了AI功能逐漸與電子產(chǎn)品進(jìn)行深度集成。
比如微軟臭名昭著的Recall功能,正是他們AI+PC戰(zhàn)略的重要組成部分;蘋(píng)果也在Apple Intelligence的大旗下推出用于3B小模型,力求與iOS無(wú)縫銜接。
如今LLM的參數(shù)量動(dòng)輒上百億,蘋(píng)果3B的參數(shù)量已經(jīng)顯得十分迷你,但對(duì)手機(jī)這種移動(dòng)設(shè)備來(lái)說(shuō)依舊有很高門(mén)檻。
不僅用2-bit和4-bit混合精度壓縮模型(平均每個(gè)權(quán)重3.5-bit),而且要有至少8G內(nèi)存和M1芯片才能運(yùn)行。
Meta最近發(fā)表的一篇論文就表明,參數(shù)量可以進(jìn)一步收縮,最新提出的MobileLLM模型參數(shù)量小于1B,但性能依舊可觀。
論文地址:https://arxiv.org/abs/2402.14905
LeCun也親自發(fā)推為這項(xiàng)研究背書(shū),稱贊了其中一系列精簡(jiǎn)參數(shù)量的操作。
這篇論文已被ICML 2024接收,模型的訓(xùn)練代碼也已經(jīng)在GitHub上開(kāi)源。
GitHub地址:https://github.com/facebookresearch/MobileLLM
簡(jiǎn)介
我們首先做個(gè)假設(shè),如果把GPT-4(大約有1萬(wàn)億參數(shù))以50tokens/s的推理速度部署在生活中,你需要什么樣的硬件?
答案是1億個(gè)H100 GPU。別說(shuō)是移動(dòng)設(shè)備了,家里都放不下。
那如果降低標(biāo)準(zhǔn),用LLaMA-v2 7B這樣的模型,再加上8-bit量化呢?
簡(jiǎn)單計(jì)算一下,光存儲(chǔ)模型參數(shù)就需要約7GB,但不是存儲(chǔ)空間,而是珍貴的運(yùn)存空間(DRAM)。
而且DRAM也不能被AI模型全占了,考慮到操作系統(tǒng)和其他應(yīng)用的運(yùn)行,LLM的運(yùn)存占比不能超過(guò)10%。
按照?qǐng)D2的統(tǒng)計(jì),各個(gè)品牌最近發(fā)布的移動(dòng)設(shè)備一般會(huì)配備6~12GB的DRAM。這就意味著,如果要在手機(jī)上順利部署,模型的參數(shù)量最好能降低到<1B。
不僅是運(yùn)存,耗電也是一大問(wèn)題。7B模型的能耗大概是0.7J/token,一個(gè)滿電的iPhone大概有50kJ可供揮霍。計(jì)算下來(lái),如果生成速度是10tokens/s,手機(jī)充滿一次電只夠你和模型對(duì)話2小時(shí)。
基于上述考慮,用<1B的模型部署在移動(dòng)端是更理想的選擇,因此MobileLLM的參數(shù)量定位在125M/350M,比蘋(píng)果的3B模型還少了一個(gè)數(shù)量級(jí),可謂「迷你中的迷你」。
但是別被Scaling Law局限,參數(shù)小不意味著能力弱,模型架構(gòu)的重要性應(yīng)該重新進(jìn)入我們的視線。
MobileLLM不僅在同等大小的模型中達(dá)到了SOTA性能,而且提出,架構(gòu)的深度比寬度更重要。一個(gè)「深而窄」的「瘦長(zhǎng)」小模型同樣可以學(xué)習(xí)到抽象概念。
架構(gòu)與方法
在只有125M/350M參數(shù)的情況下,如何在有限范圍內(nèi)實(shí)現(xiàn)架構(gòu)設(shè)計(jì)的最優(yōu)化就成為了重要的問(wèn)題。
對(duì)于<1B的LLM,作者探索出了4種行之有效的架構(gòu)設(shè)計(jì)技巧。
1)使用SwiGLU前饋網(wǎng)絡(luò)
2)讓網(wǎng)絡(luò)整體形狀變得「狹長(zhǎng)」,即深而窄
3)重新使用編碼共享(embedding sharing)方法
4)使用組查詢注意力機(jī)制(grouped query attention)
在此基礎(chǔ)上,作者還提出了一種塊間層共享(block-wise layer-sharing)方法,能夠在不引入額外內(nèi)存開(kāi)銷的情況下進(jìn)一步提高模型準(zhǔn)確率,但代價(jià)是增加解碼過(guò)程的推理延遲。
這種添加了層共享機(jī)制的模型被標(biāo)記為MobileLLM-LS。
反駁Scaling Law:小模型的架構(gòu)設(shè)計(jì)很重要
2020年提出Scaling Law的論文認(rèn)為,訓(xùn)練數(shù)據(jù)量、參數(shù)量以及訓(xùn)練迭代次數(shù)才是決定性能的關(guān)鍵因素,而模型架構(gòu)的影響幾乎可以忽視。
然而這篇論文的作者通過(guò)對(duì)比實(shí)驗(yàn)提出,這個(gè)定律對(duì)小模型并不適用。
當(dāng)模型參數(shù)固定在125M或者350M時(shí),30~42層的「狹長(zhǎng)」模型明顯比12層左右的「矮胖」模型有更優(yōu)越的性能(圖4),在常識(shí)推理、問(wèn)答、閱讀理解等8個(gè)基準(zhǔn)測(cè)試上都有類似的趨勢(shì)。
這其實(shí)是非常有趣的發(fā)現(xiàn),因?yàn)橐酝鶠?25M量級(jí)的小模型設(shè)計(jì)架構(gòu)時(shí),一般都不會(huì)疊加超過(guò)12層。
為什么要重拾「編碼共享」
「編碼共享」(embedding sharing)方法最開(kāi)始由OPT這樣的小模型提出,因?yàn)樾∧P椭芯幋a層的參數(shù)占到了相當(dāng)大的比例。
比如,125M模型中要使用上下文長(zhǎng)度32k、維度512的編碼,輸入和輸出編碼層就包含了16M的參數(shù),占比達(dá)到20%。
相較之下,大模型的編碼層參數(shù)量顯得微不足道。比如LLaMA-7B中,這個(gè)比例就下降到了3.7%,LLaMA-70B甚至只有0.7%。因此,共享編碼對(duì)于LLM來(lái)說(shuō)可有可無(wú)。
編碼共享在大模型時(shí)代的過(guò)氣,不代表這種技術(shù)不再適用于小模型,它可以讓模型架構(gòu)更緊湊、更有效率。
如表1所示,進(jìn)行編碼共享后,模型在總參數(shù)量降低16M的情況下依舊總體維持了原有性能,甚至在某些基準(zhǔn)上有提升。
層共享機(jī)制
之前提到,論文的實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),讓小模型變得「瘦長(zhǎng)」有利于性能提升。于是作者想到:如果引入層共享機(jī)制,不就相當(dāng)于保持參數(shù)總量不變的同時(shí),增加了模型深度。
實(shí)驗(yàn)證明,這種方法的確可以提升性能,而且論文還對(duì)比了不同的層共享方法(圖6),最終權(quán)衡設(shè)備內(nèi)存、性能和推理延遲,選擇了即時(shí)塊間層共享(immediate block-wise sharing,圖6b)。
評(píng)估實(shí)驗(yàn)
作者構(gòu)建了125M和350M參數(shù)的MobileLLM/MobileLLM-LS模型,并在1T的數(shù)據(jù)集上進(jìn)行訓(xùn)練。
預(yù)訓(xùn)練后的模型在多個(gè)數(shù)據(jù)集上進(jìn)行零樣本測(cè)試,包括ARC-easy、ARCchallenge、HellaSwag、 WinoGrande、TQA、RACE等常用基準(zhǔn)。
表3展示的是零樣本常識(shí)推理方面的測(cè)評(píng)結(jié)果,MobileLLM系列基本實(shí)現(xiàn)了全面SOTA,不僅能超越之前發(fā)布的OPT、BLOOM等經(jīng)典模型,也優(yōu)于最近發(fā)布的GPT-neo、Galactica、RWKV等參數(shù)更大的模型。
在問(wèn)答和閱讀理解方面,MobileLLM依舊表現(xiàn)出色(表4)。相比其他模型,125M和325M的MobileLLM在TQA上分別有>6.4分和約10分的提升。
下游任務(wù)
除了在基準(zhǔn)測(cè)試上跑分,論文還考慮到了應(yīng)用場(chǎng)景部署時(shí)對(duì)模型多方面的要求,并進(jìn)行了相應(yīng)測(cè)評(píng)。
AlpacaEval和MT-Bench分別測(cè)試模型在單輪和多輪聊天任務(wù)中的表現(xiàn),相比其他3個(gè)基線模型,MobileLLM依舊是性能最優(yōu),而且甚至能用350M的參數(shù)超過(guò)其他參數(shù)>1B模型的表現(xiàn)。
除了對(duì)話,在API調(diào)用的場(chǎng)景中,MobileLLM的EM分?jǐn)?shù)可以和7B參數(shù)的LLaMA-v2相匹配。
此外,MobileLLM與量化(PTQ)的兼容性也很好。經(jīng)過(guò)W8A8量化后,模型的性能只有不到0.5分的下降,并且依舊與層共享機(jī)制兼容,因此可以適應(yīng)更嚴(yán)苛硬件條件下的部署。
作者簡(jiǎn)介
本文的通訊作者Zechun Liu是Meta Reality Labs的研究科學(xué)家。她本科畢業(yè)于復(fù)旦大學(xué),博士畢業(yè)于香港科技大學(xué),加入Meta前曾有兩年多的時(shí)間在CMU擔(dān)任訪問(wèn)學(xué)者。
Zechun的研究興趣是深度學(xué)習(xí)在現(xiàn)實(shí)場(chǎng)景中的應(yīng)用,例如資源不足的限制、計(jì)算資源和精度之間的權(quán)衡等,其中重點(diǎn)關(guān)注網(wǎng)絡(luò)二值化和量化、網(wǎng)絡(luò)通道剪枝、架構(gòu)設(shè)計(jì)、知識(shí)蒸餾等方面。