來自:劉聰NLP
寫在前面
大模型時代,根據(jù)大模型縮放定律,大家通常都在追求模型的參數(shù)規(guī)模更大、訓(xùn)練的數(shù)據(jù)更多,從而使得大模型涌現(xiàn)出更多的智能。但是,模型參數(shù)越大部署壓力就越大。即使有g(shù)ptq、fastllm、vllm等推理加速方法,但如果GPU資源不夠也很難保證高并發(fā)。
那么如何在模型變小的同時,模型效果不明顯下降,在指定任務(wù)上也可以媲美大模型的效果呢?
Google前幾天發(fā)布的Gemini,在移動端采用1.8B參數(shù)模型面向低端手機(jī),3.25B參數(shù)模型面向高端手機(jī)。
An overview of the Gemini 1.0 model family
而微軟最近也是推出了2.7B的Phi-2模型,評測效果絕群。
Averaged performance on grouped benchmarks compared to popular open-source SLMs
Comparison between Phi-2 and Gemini Nano 2 Model on Gemini’s reported benchmarks
恰好筆者前段時間也在研究1-2B參數(shù)量左右的模型,因此寫寫心得體會;并匯總了一下現(xiàn)在市面上開源的1-2B參數(shù)量的大模型。
這波反向操作,佛曰:不可說。
如何使大模型變小
模型壓縮的方法包括:用更多的數(shù)據(jù)硬訓(xùn)練小模型、通過大模型對小模型進(jìn)行蒸餾、通過大模型對小模型進(jìn)行剪枝、對大模型進(jìn)行量化、對大模型進(jìn)行低秩分解。
Taxonomy of Model Compression methods for Large Language Models
但是模型參數(shù)量變小還是硬訓(xùn)練或蒸餾一個參數(shù)量小的模型,剪枝和量化只是對模型進(jìn)行推理加速,本質(zhì)上參數(shù)量沒有變少。
對于預(yù)訓(xùn)練階段來說,往往需要更多的數(shù)據(jù)硬訓(xùn)練。參數(shù)規(guī)模不夠,只能數(shù)據(jù)質(zhì)量和數(shù)據(jù)數(shù)量來湊。
Textbooks Are All You Need
而在指令微調(diào)階段,往往是蒸餾更優(yōu)秀的大模型,來讓小模型效果更好。利用GPT3.5、GPT4的數(shù)據(jù)直接指令微調(diào)是對閉源大模型蒸餾的方法之一,也是目前大家主流的做法。但也可以在蒸餾過程中,利用閉源大模型充當(dāng)一個裁判來判別教師模型回答和學(xué)生模型回答的差異,讓學(xué)生模型向老師模型(閉源)進(jìn)行反饋,重點是找到困難數(shù)據(jù)讓學(xué)生模型進(jìn)行更好的學(xué)習(xí)。
Lion: Adversarial Distillation of Proprietary Large Language Models
當(dāng)然如果你本身擁有更大更好的大模型,那么就可以用標(biāo)準(zhǔn)的知識蒸餾來進(jìn)行模型蒸餾,利用KL散度,對教師模型和學(xué)生模型輸出概率分布之間的差異進(jìn)行訓(xùn)練學(xué)習(xí)。
將更大模型的效果蒸餾到小模型上,會比硬訓(xùn)練的效果要理想,但首先要有一個可獲取網(wǎng)絡(luò)各層logits的大&好&強(qiáng)的模型。
訓(xùn)練1-2B參數(shù)規(guī)模使我痛并快樂
訓(xùn)練1-2B模型讓我又找到了全量調(diào)參的快樂,之前受顯卡限制,都是Lora、QLora等方法訓(xùn)練。
模型部署階段,再也不用為顯存發(fā)愁,老卡也輕輕松松進(jìn)行模型部署。對于2B模型,F(xiàn)loat32進(jìn)行參數(shù)部署也就8G、Float16就需要4G,如果再做量化的話更小,甚至CPU部署速度也可以接受。
同等數(shù)據(jù)情況下,效果確實不如更大的模型。以Qwen1.8B和7B為例,在自己任務(wù)上指標(biāo)差了7-10個點。
在個人任務(wù)上,通過增加數(shù)據(jù),將訓(xùn)練數(shù)據(jù)擴(kuò)大2-4倍并提高數(shù)據(jù)質(zhì)量之后,效果基本上可以媲美。
小模型在沒有定制優(yōu)化的任務(wù)上,就一言難盡了,泛化能力等都遠(yuǎn)不如更大的模型。
用了小模型之后,再也沒被吐槽過速度了。
主流1-2B參數(shù)規(guī)模的大模型匯總
共整理了14個1-2B參數(shù)規(guī)模的大模型,按照參數(shù)量從大到小排序,如下所示。
PS: HF訪問不了的小伙伴,可以看一下《大模型下載使我痛苦》。
Yuan2.0-2B
Yuan2.0-2B是浪潮發(fā)布的Yuan2.0大模型的2B版本,采用中英文的高質(zhì)量資料,包括書籍、百科、論文等。Yuan2.0-2B模型層數(shù)24層,隱藏層維度2048,支持最大長度8192。
Qwen-1.8B
Qwen-1.8B是阿里發(fā)布的Qwen大模型的1.8B版本,采用2.2TB Token的數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,包含高質(zhì)量中、英、多語言、代碼、數(shù)學(xué)等數(shù)據(jù),涵蓋通用及專業(yè)領(lǐng)域的訓(xùn)練語料。Yuan2.0-2B模型層數(shù)24層,隱藏層維度2048,支持最大長度8192,并且開源了對應(yīng)的Chat模型。
Bloom-1.7B&1.1B
Bloom-1.7B&1.1B是Hugging Face牽頭組織的BigScience項目開源的Bloom大模型的1.7B和1.1B版本。訓(xùn)練數(shù)據(jù)涉及46種自然語言和13種編程語言,共計1.6TB的文本數(shù)據(jù)。Bloom-1.7B模型層數(shù)24層,隱藏層維度2048,支持最大長度2048。Bloom-1.1B模型層數(shù)24層,隱藏層維度1536,支持最大長度2048。
Pythia-1.4B&1B
Pythia-1.4B&1B是EleutherAI開源的Pythia的1.4B和1B版本。主要使用300B Token的The Pile數(shù)據(jù)集進(jìn)行訓(xùn)練。Pythia-1.4B模型層數(shù)24層,隱藏層維度2048。Pythia-1B模型層數(shù)16層,隱藏層維度2048。
Phi-1&Phi-1.5
Phi-1&Phi-1.5是微軟開源的Phi大模型的兩個不同版本,均有1.3B參數(shù),模型層數(shù)24層,隱藏層維度2048。Phi-1模型訓(xùn)練54B Token的數(shù)據(jù),而Phi-1.5模型訓(xùn)練150B Token的數(shù)據(jù)。
Deepseek-Coder-1.3B
Deepseek-Coder-1.3B是深度求索發(fā)布開源的Deepseek-Coder的1.3B版本,采用1TB Token的數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,數(shù)據(jù)由87%的代碼和13%的中英文自然語言組成,模型層數(shù)24層,隱藏層維度2048。
Galactica-1.3b是MetaAI開源的Galactica大模型的1.3B版本,采用106B Token數(shù)據(jù)進(jìn)行訓(xùn)練,數(shù)據(jù)主要來自論文、參考資料、百科全書和其他科學(xué)來源等。模型層數(shù)24層,隱藏層維度2048。
GPT-Sw3-1.3B
GPT-Sw3-1.3B是AI Sweden開源的GPT-SW3大模型的1.3B版本,采用320B Token數(shù)據(jù)進(jìn)行訓(xùn)練,數(shù)據(jù)主要由瑞典語、挪威語、丹麥語、冰島語、英語和編程代碼數(shù)據(jù)集組成。模型層數(shù)24層,隱藏層維度2048。
GPT-Neo-1.3B
GPT-Neo-1.3B是EleutherAI開源的GPT-Neo大模型的1.3B版本,GPT-Neo模型主要為了復(fù)現(xiàn)的GPT-3模型,采用380B Token數(shù)據(jù)進(jìn)行訓(xùn)練,模型層數(shù)24層,隱藏層維度2048。
OPT-1.3B
OPT-1.3B模型是由MetaAI開源的OPT大模型的1.3B版本,采用180B Token數(shù)據(jù)進(jìn)行訓(xùn)練,模型層數(shù)24層,隱藏層維度2048。
TinyLlama-1.1B
TinyLlama模型是一個1.1B參數(shù)的Llama模型,旨在3TB Token的數(shù)據(jù)上進(jìn)行訓(xùn)練,目前訓(xùn)練到2.5TB Token數(shù)據(jù),模型層數(shù)22層,隱藏層維度2048。
寫到最后
如果領(lǐng)導(dǎo)非要部署大模型,但對效果要求沒有那么高,又沒有資源支持,那么選擇一個1-2B的模型也是不錯的呦。
審核編輯:湯梓紅
-
手機(jī)
+關(guān)注
關(guān)注
35文章
6874瀏覽量
157541 -
gpu
+關(guān)注
關(guān)注
28文章
4729瀏覽量
128889 -
參數(shù)
+關(guān)注
關(guān)注
11文章
1829瀏覽量
32194 -
開源
+關(guān)注
關(guān)注
3文章
3309瀏覽量
42471 -
大模型
+關(guān)注
關(guān)注
2文章
2423瀏覽量
2639
原文標(biāo)題:1-2B參數(shù)規(guī)模大模型使用心得及模型匯總
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論