標(biāo)題:中文LLaMA-2刷榜,開源可商用!千元預(yù)算,訓(xùn)練半天,效果媲美主流大模型
最強(qiáng)中文版LLaMA-2來(lái)了!15小時(shí)訓(xùn)練,僅需數(shù)千元算力,性能碾壓同級(jí)中文漢化模型,開源可商用。
LLaMA-2相較于LLaMA-1,引入了更多且高質(zhì)量的語(yǔ)料,實(shí)現(xiàn)了顯著的性能提升,全面允許商用,進(jìn)一步激發(fā)了開源社區(qū)的繁榮,拓展了大型模型的應(yīng)用想象空間。
然而,從頭預(yù)訓(xùn)練大模型的成本相當(dāng)高,被戲稱「5000萬(wàn)美元才能入局」,這使得許多企業(yè)和開發(fā)者望而卻步。那么,如何以更低的成本構(gòu)建自己的大型模型呢?
作為大模型降本增效的領(lǐng)導(dǎo)者,Colossal-AI團(tuán)隊(duì)充分利用LLaMA-2的基礎(chǔ)能力,采用高效的訓(xùn)練方法,僅使用約8.5B token數(shù)據(jù)、15小時(shí)、數(shù)千元的訓(xùn)練成本,成功構(gòu)建了性能卓越的中文LLaMA-2,在多個(gè)評(píng)測(cè)榜單性能優(yōu)越。
相較于原始LLaMA-2,在成功提升中文能力的基礎(chǔ)上,進(jìn)一步提升其英文能力,性能可與開源社區(qū)同規(guī)模預(yù)訓(xùn)練SOTA模型媲美。
秉承Colossal-AI團(tuán)隊(duì)一貫的開源原則,完全開源全套訓(xùn)練流程、代碼及權(quán)重,無(wú)商用限制,并提供了一個(gè)完整的評(píng)估體系框架ColossalEval,以實(shí)現(xiàn)低成本的可復(fù)現(xiàn)性。
此外,相關(guān)方案還可遷移應(yīng)用到任意垂類領(lǐng)域和從頭預(yù)訓(xùn)練大模型的低成本構(gòu)建。
開源代碼與權(quán)重:https://github.com/hpcaitech/ColossalAI
01
性能表現(xiàn)
注:基于ColossalEval評(píng)分,括號(hào)中分?jǐn)?shù)來(lái)源于對(duì)應(yīng)模型官方發(fā)布的榜單分?jǐn)?shù),C-Eval分?jǐn)?shù)來(lái)源于官網(wǎng)Leaderboard。
在常見的中、英文評(píng)測(cè)榜單,可以看到,在英文MMLU榜單中,Colossal-LLaMA-2-7B-base在低成本增量預(yù)訓(xùn)練的加持下,克服了災(zāi)難性遺忘的問題,能力逐步提升(44.47 -> 53.06),在所有7B規(guī)模的模型中,表現(xiàn)優(yōu)異。
在中文榜單中,主要對(duì)比了CMMLU, AGIEVAL, GAOKAO與 C-Eval,效果遠(yuǎn)超基于LLaMA-2的其他中文漢化模型。尤其是與原始LLaMA-2相比,Colossal-LLaMA-2在中文能力上有了質(zhì)的飛躍 (CMMLU: 32.97 -> 49.89)。
即使與其他采用中文語(yǔ)料,可能花費(fèi)上千萬(wàn)元成本,從頭預(yù)訓(xùn)練的各大知名模型相比,Colossal-LLaMA-2在同規(guī)模下仍表現(xiàn)搶眼。
而通過(guò)SFT、LoRA等方式微調(diào),能有效注入基座模型的知識(shí)與能力十分有限,不能較好的滿足高質(zhì)量領(lǐng)域知識(shí)或垂類模型應(yīng)用的構(gòu)建的需求。
為了更好的評(píng)估模型的性能,Colossal-AI團(tuán)隊(duì)不僅僅依賴于量化的指標(biāo),還對(duì)于模型的不同方面進(jìn)行了人工的評(píng)估,以下是一些例子:
從整個(gè)訓(xùn)練的Loss記錄來(lái)看,在利用Colossal-AI系統(tǒng)降本增效能力的同時(shí),模型收斂性也得到充分保證,僅通過(guò)約8.5B tokens(85億tokens),數(shù)千元算力成本,讓模型達(dá)到如此驚艷的效果。
而市面上的大模型動(dòng)輒使用幾萬(wàn)億token進(jìn)行訓(xùn)練才有效果保證,成本高昂。
那么Colossal-AI團(tuán)隊(duì)是如何把訓(xùn)練成本降低,并達(dá)到如此的效果的呢?
02
詞表擴(kuò)充與模型初始化
LLaMA-2原始詞表并未針對(duì)中文做特定優(yōu)化,所包含的中文詞有限,導(dǎo)致在中文語(yǔ)料上理解力不足。因此,首先對(duì)LLaMA-2進(jìn)行了詞表的擴(kuò)充。
Colossal-AI團(tuán)隊(duì)發(fā)現(xiàn):
詞表的擴(kuò)充不僅可以有效提升字符串序列編碼的效率,并且使得編碼序列包含更多的有效信息,進(jìn)而在篇章級(jí)別編碼和理解上,有更大的幫助。
然而,由于增量預(yù)訓(xùn)練數(shù)據(jù)量較少,擴(kuò)充較多的單詞反而會(huì)導(dǎo)致某些單詞或組合無(wú)實(shí)際意義,在增量預(yù)訓(xùn)練數(shù)據(jù)集上難以充分學(xué)習(xí),影響最終效果。
過(guò)大的詞表會(huì)導(dǎo)致embedding相關(guān)參數(shù)增加,從而影響訓(xùn)練效率。
因此,經(jīng)過(guò)反復(fù)實(shí)驗(yàn),同時(shí)考慮了訓(xùn)練的質(zhì)量與訓(xùn)練的效率,Colossal-AI團(tuán)隊(duì)最終確定將詞表從LLaMA-2原有的32000擴(kuò)充至69104。
有了擴(kuò)充好的詞表,下一步就是基于原有的LLaMA-2初始化新詞表的 embedding。
為了更好的遷移LLaMA-2原有的能力,實(shí)現(xiàn)從原有LLaMA-2到中文LLaMA-2能力的快速遷移,Colossal-AI團(tuán)隊(duì)利用原有的LLaMA-2的權(quán)重,對(duì)新的embedding進(jìn)行均值初始化。
如此一來(lái),既保證了新初始化的模型在初始狀態(tài)下,英文能力不受影響,又可以盡可能的無(wú)縫遷移英文能力到中文上。
03
數(shù)據(jù)構(gòu)建
為了更大程度的降低訓(xùn)練的成本,高質(zhì)量的數(shù)據(jù)在其中起著關(guān)鍵作用,尤其是對(duì)于增量預(yù)訓(xùn)練,對(duì)于數(shù)據(jù)的質(zhì)量,分布都有著極高的要求。
為了更好的篩選高質(zhì)量的數(shù)據(jù),Colossal-AI團(tuán)隊(duì)構(gòu)建了完整的數(shù)據(jù)清洗體系與工具包,以便篩選更為高質(zhì)量的數(shù)據(jù)用于增量預(yù)訓(xùn)練。
Colossal-AI團(tuán)隊(duì)數(shù)據(jù)治理的完整流程
除了常見的對(duì)數(shù)據(jù)進(jìn)行啟發(fā)式的篩選和去重,還對(duì)重點(diǎn)數(shù)據(jù)進(jìn)行了打分和分類篩選。
合適的數(shù)據(jù)對(duì)于激發(fā)LLaMA-2的中文能力,同時(shí)克服英文的災(zāi)難性遺忘問題,有著至關(guān)重要的作用。
最后,為了提高訓(xùn)練的效率,對(duì)于相同主題的數(shù)據(jù),Colossal-AI團(tuán)隊(duì)對(duì)數(shù)據(jù)的長(zhǎng)度進(jìn)行了排序,并根據(jù)4096的最大長(zhǎng)度進(jìn)行拼接。
04
訓(xùn)練策略
多階段訓(xùn)練
在訓(xùn)練方面,針對(duì)增量預(yù)訓(xùn)練的特點(diǎn),Colossal-AI團(tuán)隊(duì)設(shè)計(jì)了多階段,層次化的增量預(yù)訓(xùn)練方案,將訓(xùn)練的流程劃分為三個(gè)階段:
大規(guī)模預(yù)訓(xùn)練階段:目標(biāo)是通過(guò)大量語(yǔ)料訓(xùn)練,使得模型可以產(chǎn)出相對(duì)較為流暢的文本。該階段由LLaMA-2完成,經(jīng)過(guò)此階段,模型已經(jīng)掌握大量英文知識(shí),并可以根據(jù)Next Token Prediction輸出流暢的結(jié)果。
中文知識(shí)注入階段:該階段依賴于高質(zhì)量的中文知識(shí),一方面增強(qiáng)了模型對(duì)于中文知識(shí)的掌握程度,另一方面提升了模型對(duì)于新增中文詞表中單詞的理解。
相關(guān)知識(shí)回放階段:該階段致力于增強(qiáng)模型對(duì)于知識(shí)的理解與泛化能力,緩解災(zāi)難性遺忘問題。
多階段相輔相成,最終保證模型在中英文的能力上齊頭并進(jìn)。
分桶訓(xùn)練
增量預(yù)訓(xùn)練對(duì)于數(shù)據(jù)的分布極為敏感,均衡性就尤為重要。
因此,為了保證數(shù)據(jù)的均衡分布,Colossal-AI團(tuán)隊(duì)設(shè)計(jì)了數(shù)據(jù)分桶的策略,將同一類型的數(shù)據(jù)劃分為10個(gè)不同的bins。
在訓(xùn)練的過(guò)程中,每個(gè)數(shù)據(jù)桶中均勻的包含每種類型數(shù)據(jù)的一個(gè)bin,從而確保了每種數(shù)據(jù)可以均勻的被模型所利用。
05
評(píng)估體系
為了更好的評(píng)估模型的性能,Colossal-AI團(tuán)隊(duì)搭建了完整的評(píng)估體系——ColossalEval,希望通過(guò)多維度對(duì)大語(yǔ)言模型進(jìn)行評(píng)估。
流程框架代碼完全開源,不僅支持結(jié)果復(fù)現(xiàn),也支持用戶根據(jù)自己不同的應(yīng)用場(chǎng)景自定義數(shù)據(jù)集與評(píng)估方式。
評(píng)估框架特點(diǎn)總結(jié)如下:
涵蓋針對(duì)于大語(yǔ)言模型知識(shí)儲(chǔ)備能力評(píng)估的常見數(shù)據(jù)集如MMLU,CMMLU等。針對(duì)于單選題這樣的形式,除了常見的比較ABCD概率高低的計(jì)算方式,增加更為全面的計(jì)算方式,如絕對(duì)匹配,單選困惑度等,以求更加全面的衡量模型對(duì)于知識(shí)的掌握程度。
支持針對(duì)多選題的評(píng)估和長(zhǎng)文本評(píng)估。
支持針對(duì)于不同應(yīng)用場(chǎng)景的評(píng)估方式,如多輪對(duì)話,角色扮演,信息抽取,內(nèi)容生成等。用戶可根據(jù)自己的需求,有選擇性的評(píng)估模型不同方面的能力,并支持自定義prompt與評(píng)估方式的擴(kuò)展。
構(gòu)建通用大模型到垂類大模型遷移的橋梁
由Colossal-AI團(tuán)隊(duì)的經(jīng)驗(yàn)來(lái)看,基于LLaMA-2構(gòu)建中文版模型,可基本分為以下流程:
那么這套方案是否可以復(fù)用呢?
答案是肯定的,并且在業(yè)務(wù)落地的場(chǎng)景中是非常有意義的。
隨著ChatGPT掀起的人工智能浪潮,全球各大互聯(lián)網(wǎng)巨頭、AI公司、創(chuàng)企、高校和研究機(jī)構(gòu)等,紛紛在通用大模型的賽道上策馬狂奔。
然而,通用大模型通用能力的背后往往是針對(duì)特定領(lǐng)域內(nèi)知識(shí)的不足,因此,在實(shí)際落地上,大模型幻覺的問題就變的尤為嚴(yán)重。
針對(duì)業(yè)務(wù)微調(diào)固然可以有一定的收獲,但垂類大模型的缺失導(dǎo)致應(yīng)用落地存在性能瓶頸。
如果可以快速低成本構(gòu)造一個(gè)垂類大模型,再基于垂類大模型進(jìn)行業(yè)務(wù)微調(diào),一定能在業(yè)務(wù)落地上更進(jìn)一步,占得先機(jī)與優(yōu)勢(shì)。
將以上流程應(yīng)用在任意領(lǐng)域進(jìn)行知識(shí)遷移,即可低成本構(gòu)建任意領(lǐng)域垂類基座大模型的輕量化流程:
對(duì)于從頭預(yù)訓(xùn)練構(gòu)建基礎(chǔ)大模型,也可借鑒上述經(jīng)驗(yàn)與Colossal-AI降本增效能力,以最低成本高效完成。
06
系統(tǒng)優(yōu)化
上述Colossal-LLaMA-2的亮眼表現(xiàn)和成本優(yōu)勢(shì),構(gòu)建在低成本AI大模型開發(fā)系統(tǒng)Colossal-AI之上。
Colossal-AI基于PyTorch,可通過(guò)高效多維并行、異構(gòu)內(nèi)存等,降低AI大模型訓(xùn)練/微調(diào)/推理的開發(fā)與應(yīng)用成本,提升模型任務(wù)表現(xiàn),降低GPU需求等。
僅一年多時(shí)間便已在GitHub開源社區(qū)收獲GitHub Star 3萬(wàn)多顆,在大模型開發(fā)工具與社區(qū)細(xì)分賽道排名世界第一,已與世界500強(qiáng)在內(nèi)的多家知名廠商聯(lián)合開發(fā)/優(yōu)化千億/百億參數(shù)預(yù)訓(xùn)練大模型或打造垂類模型。
07
Colossal-AI云平臺(tái)
為了進(jìn)一步提高AI大模型開發(fā)和部署效率,Colossal-AI已進(jìn)一步升級(jí)為Colossal-AI云平臺(tái),以低代碼/無(wú)代碼的方式供用戶在云端低成本進(jìn)行大模型訓(xùn)練、微調(diào)和部署,快速將各種模型接入到個(gè)性化的應(yīng)用中。
目前Colossal-AI云平臺(tái)上已經(jīng)預(yù)置了Stable diffusion, LLaMA-2等主流模型及解決方案,用戶只需上傳自己的數(shù)據(jù)即可進(jìn)行微調(diào)。
同時(shí),也可以把自己微調(diào)之后的模型部署成為API,以實(shí)惠的價(jià)格使用A10, A800, H800等GPU資源,無(wú)需自己維護(hù)算力集群以及各類基礎(chǔ)設(shè)施。
此外,更多應(yīng)用場(chǎng)景、不同領(lǐng)域、不同版本的模型、企業(yè)私有化平臺(tái)部署等也正在不斷迭代。
ColossalAI云平臺(tái)現(xiàn)已開啟公測(cè),注冊(cè)即可獲得代金券,歡迎參與并提出反饋。
Colossal-AI云平臺(tái):
platform.luchentech.com
Colossal-AI云平臺(tái)文檔:
https://docs.platform.colossalai.com/
Colossal-AI開源地址:
https://github.com/hpcaitech/ColossalAI