現(xiàn)在是2023年5月,截止目前,網(wǎng)絡(luò)上已經(jīng)開源了眾多的LLM,如何用較低的成本,判斷LLM的基礎(chǔ)性能,選到適合自己任務(wù)的LLM,成為一個(gè)關(guān)鍵。
本文會涉及以下幾個(gè)問題:
影響LLM性能的主要因素
目前主要的模型的參數(shù)
LLaMA系列是否需要擴(kuò)中文詞表
不同任務(wù)的模型選擇
影響LLM性能的主要因素
Scaling Laws for Neural Language Models
OpenAI的論文Scaling Laws中列舉了影響模型性能最大的三個(gè)因素:計(jì)算量、數(shù)據(jù)集大小、模型參數(shù)量。也就是說,當(dāng)其他因素不成為瓶頸時(shí),計(jì)算量、數(shù)據(jù)集大小、模型參數(shù)量這3個(gè)因素中的單個(gè)因素指數(shù)增加時(shí),loss會線性的下降。同時(shí),DeepMind的研究也得出來和OpenAI類似的結(jié)論。那么我們可以基本確定,如果一個(gè)模型在這3個(gè)方面,均做的不錯(cuò),那么將會是一個(gè)很好的備選。
模型參數(shù)量是我們最容易注意到的,一般而言,LLM也只在訓(xùn)練數(shù)據(jù)上訓(xùn)練1個(gè)epoch(如果還有算力,其實(shí)可以擴(kuò)更多的新數(shù)據(jù)),那么,數(shù)據(jù)集的大小就是很關(guān)鍵的參數(shù)。訓(xùn)練OPT-175B的Susan Zhang在Stanford分享的時(shí)候,也提到了,如果能夠重新再來一次,她會選擇much much more data??梢姅?shù)據(jù)量的重要性。
了解到Scaling Laws之后,為了降低模型的推理成本,可以在模型參數(shù)量降低的同時(shí),增加訓(xùn)練的數(shù)據(jù)量,這樣可以保證模型的效果。Chinchilla和LLaMA就是這樣的思路。
除了以上的因素之外,還有一個(gè)比較大的影響因素就是數(shù)據(jù)質(zhì)量。
Instruction Tuning with GPT-4
在微軟的論文中指出,同樣基于LLaMA模型,使用GPT3和GPT4產(chǎn)生的數(shù)據(jù),對模型進(jìn)行Instruction Turing,可以看到GPT4的數(shù)據(jù)微調(diào)過的模型效果遠(yuǎn)遠(yuǎn)好于GPT3數(shù)據(jù)微調(diào)的模型,可見數(shù)據(jù)質(zhì)量帶來的影響。同樣的,Vicuna的Instruction Turing中,也對shareGPT的數(shù)據(jù)做了很細(xì)致的清洗工作。
所以,如果沒有數(shù)量級的差異,在Instruction Turing的時(shí)候,可以盡可能拋棄質(zhì)量差的數(shù)據(jù),保留高質(zhì)量的數(shù)據(jù)。
目前主要的模型的參數(shù)
訓(xùn)練數(shù)據(jù)量 | 參數(shù) | |
---|---|---|
LLaMA | 1T~1.4T tokens | 7B~65B |
chatGLM-6B | 1T tokens | 6B |
根據(jù)我們上面的推理,訓(xùn)練數(shù)據(jù)量是對模型影響最關(guān)鍵的因素。LLaMA和chatGLM-6B是目前效果相對比較好的LLM,他們的訓(xùn)練數(shù)據(jù)都達(dá)到了至少1T tokens。那么如果一個(gè)LLM的訓(xùn)練數(shù)據(jù)量,少于1T tokens數(shù)的話,這個(gè)模型可以不用考慮了。
而LLaMA的參數(shù)量可以有7B、13B、33B、65B可以選擇,那么在參數(shù)量上和可選擇性上,比chatGLM要更優(yōu)秀。那么,基于這些考慮,LLaMA系列及其變種,是當(dāng)前更好的選擇。而且,經(jīng)過Instruction Turing之后,Vicuna已經(jīng)表現(xiàn)出了非常好的性能,根據(jù)微軟的論文(不是伯克利自己的論文),Vicuna已經(jīng)達(dá)到90%的GPT4的效果。這一點(diǎn)和伯克利自己的結(jié)論也吻合。
在Vicuna的作者的博客中,作者也提到了vicuna-13B會比vicuna-7B效果好很多。筆者自己微調(diào)過這兩個(gè)模型,13B確實(shí)會比7B的準(zhǔn)確率高出5-10%。
同時(shí),int8量化的Vicuna-13B在推理時(shí),只需要20GB的顯存,可以放進(jìn)很多消費(fèi)級的顯卡中。
這么看起來,Vicuna-13B確實(shí)是一個(gè)很強(qiáng)的baseline,目前看到的開源LLM,只有WizardVicunaLM 的效果更優(yōu)于Vicuna-13B。如果你沒有很多時(shí)間調(diào)研,那么vicuna-13B會是一個(gè)不錯(cuò)的備選。
LLaMA系列是否需要擴(kuò)中文詞表
關(guān)于LLaMA的一個(gè)爭論就是,LLaMA的base model是在以英語為主要語言的拉丁語系上進(jìn)行訓(xùn)練的,中文效果會不會比較差?還有就是,LLaMA詞表中的中文token比較少,需不需要擴(kuò)詞表?
針對問題一,微軟的論文中已經(jīng)驗(yàn)證了,經(jīng)過Instruction Turing的Vicuna-13B已經(jīng)有非常好的中文能力。
Instruction Tuning with GPT-4
那為什么沒有在很多中文語料上訓(xùn)練過的LLaMA,能有這么好的中文能力呢?首先,在GPT4的技術(shù)報(bào)告中提到,即使在數(shù)據(jù)量很少的語言上,GPT4也有非常好的性能。
LLM表現(xiàn)出了驚人的跨語言能力。我猜其中一個(gè)比較重要的原始是采用了byte-level BPE算法構(gòu)建詞表。這種BBPE算法,將很多字符都拆分到byte級別。比如,雖然詞表中沒有對應(yīng)的中文字符,但是可以通過組合byte,構(gòu)建出來原始的中文字符。這部分可以參考文章Dylan:[分析] 淺談ChatGPT的Tokenizer。因此,經(jīng)過超大規(guī)模的語料訓(xùn)練之后,LLM可以跨不同的語言,表現(xiàn)出很好的性能。
采用BBPE的好處是可以跨語言共用詞表,顯著壓縮詞表的大小。而壞處就是,對于類似中文這樣的語言,一段文字的序列長度會顯著增長。因此,很多人會想到擴(kuò)中文詞表。但考慮到擴(kuò)詞表,相當(dāng)于從頭初始化開始訓(xùn)練這些參數(shù)。因此,參考第一節(jié)的結(jié)論,如果想達(dá)到比較好的性能,需要比較大的算力和數(shù)據(jù)量。如果沒有很多數(shù)據(jù)和算力,就不太建議這么搞。
根據(jù)開源項(xiàng)目Chinese-LLaMA-Alpaca公布的數(shù)據(jù),他們在使用120G的中文語料后(下圖中的Alpaca-Plus-7B和Alpaca-Plus-13B),效果才有不錯(cuò)的提升,而在使用20G語料時(shí)(下圖中的Alpaca-13B),效果還相對比較差。作為對比,原始的LLaMA使用的數(shù)據(jù)量大概是4T左右(此處是存儲空間,不是token數(shù))。
Chinese-LLaMA-Alpaca
因此,雖然擴(kuò)詞表看起來很誘人,但是實(shí)際操作起來,還是很有難度的,不過如果你有很多數(shù)據(jù)和算力,這個(gè)當(dāng)我沒說(不是)。
不同任務(wù)的模型選擇
上文還提到,LLaMA系列的一大優(yōu)勢是,有很多不同大小的模型,從7B-65B。上面我們主要討論了13B的模型,還有33B和65B的模型沒有討論。那什么場景下,13B的模型也不夠,需要更大的模型呢?
答案就是,只要你的算力可以支持,就建議上更大的模型。
GPTQ-for-LLaMa
根據(jù)GPTQ-for-LLaMa 的數(shù)據(jù),可以看到隨著模型的增大,模型在wiki2數(shù)據(jù)上的困惑度一直在下降。更重要的是,LLaMA-33B經(jīng)過int4量化之后,PPL低于LLaMA-13B!LLaMA-65B經(jīng)過int4量化之后,PPL低于LLaMA-33B!并且,LLaMA-33B經(jīng)過int4量化之后,推理只需要20GB的顯存!?。?/p>
看到這個(gè)數(shù)據(jù),我著實(shí)有點(diǎn)小激動。然后立馬開始著手微調(diào)33B的模型?。。?/p>
當(dāng)然,從推理成本的角度來看,模型參數(shù)量越小,成本越低。那什么情況下可以用小模型呢?回答是,需要根據(jù)任務(wù)的難易程度選擇模型大小,如果任務(wù)很簡單,其實(shí)小模型就OK。比如處理一些比較簡單的中文任務(wù),chatGLM-6B將會更合適。中文詞表,再加上推理更好的優(yōu)化,可以極大降低推理成本。
但如果任務(wù)很難,對于語義的理解程度很高,那么肯定是模型越大效果越好。有什么任務(wù)是比較難的任務(wù)呢?我們來看看什么任務(wù)讓GPT4的覺得比較困難。
GPT-4 Technical Report
可以看到,GPT4表現(xiàn)最差的幾個(gè)項(xiàng)目分別是Codeforces Rating、AP English Literature、AMC 10和AP English Language(AP是Advanced Placement,美國大學(xué)先修課程)。其中有兩個(gè)分別是代碼測試和數(shù)學(xué)測試,語言模型(LM)表現(xiàn)比較差符合預(yù)期。但是作為地表最強(qiáng)語言模型,在English Literature和English Language的考試中,這樣的表現(xiàn),是讓人有點(diǎn)意外的。不過,話說回來,OpenAI對于GPT4的定位,還是一個(gè)工具型助手,而不是一個(gè)寫文學(xué)性文字的模型。RLHF的作用,也是讓模型,盡可能符合人對它的instruction。
因此,如果你的任務(wù)是,讓LLM去寫偏文學(xué)性的文章,應(yīng)該要注意兩個(gè)方面:1、任務(wù)本身有難度,盡可能上能力范圍內(nèi)的參數(shù)量更大的模型;2、數(shù)據(jù)層面,不要使用Instruction Turing的數(shù)據(jù) ,而需要自己去找合適的高質(zhì)量數(shù)據(jù)集。
-
模型
+關(guān)注
關(guān)注
1文章
3031瀏覽量
48346 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1197瀏覽量
24531 -
GPT
+關(guān)注
關(guān)注
0文章
347瀏覽量
15179 -
LLM
+關(guān)注
關(guān)注
0文章
247瀏覽量
279
原文標(biāo)題:大模型選型的一點(diǎn)思考
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論