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