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

內(nèi)核調(diào)試?yán)鱬rintk的使用心得

Aultium Designer 的使用心得和基本電路圖的搭建

智慧服裝工廠電子看板試用心得

開(kāi)源大模型Falcon(獵鷹) 180B發(fā)布 1800億參數(shù)

HT for Web (Hightopo) 使用心得(5)- 動(dòng)畫(huà)的實(shí)現(xiàn)

評(píng)論