700億參數(shù)LLaMA2訓(xùn)練加速195%,開箱即用的8到512卡LLaMA2全流程方案來了!
LLaMA2訓(xùn)練微調(diào)推理,大提速了!
針對700億版本,訓(xùn)練加速195%。
而且還能基于云平臺(tái)實(shí)現(xiàn)無代碼訓(xùn)練個(gè)性私有化模型,并一鍵部署。
圖片
超活躍的大模型系統(tǒng)開源項(xiàng)目Colossal-AI又上新了!
可提供開箱即用的8到512卡LLaMA2訓(xùn)練、微調(diào)、推理方案,并提供一站式云平臺(tái)解決方案。
大模型開發(fā)和應(yīng)用落地成本,再降億點(diǎn)點(diǎn)~
LLaMA2訓(xùn)練加速195%
得益于開源特性,LLaMA系列大模型在短短幾個(gè)月內(nèi)已經(jīng)衍生出諸多應(yīng)用和項(xiàng)目,也成為很多公司企業(yè)應(yīng)用大模型的首選。
最新的7B~70B LLaMA2大模型,進(jìn)一步提高了語言模型的基礎(chǔ)能力。
但由于LLaMA2的預(yù)訓(xùn)練預(yù)料大部分來自英文通用知識,而僅用微調(diào)能夠提升和注入的領(lǐng)域知識和多語言能力也相對有限。
此外,高質(zhì)量的專業(yè)知識和數(shù)據(jù)集通常被視為各個(gè)行業(yè)和公司的核心資產(chǎn),僅能以私有化形式保存。
因此,以低成本預(yù)訓(xùn)練/繼續(xù)預(yù)訓(xùn)練/微調(diào)LLaMA2系列大模型,結(jié)合高質(zhì)量私有化業(yè)務(wù)數(shù)據(jù)積累,幫助業(yè)務(wù)降本增效是眾多行業(yè)與企業(yè)的迫切需求與瓶頸。
圖片
但LLaMA2大模型僅發(fā)布了原始模型權(quán)重與推理腳本,不支持訓(xùn)練/微調(diào),也未提供數(shù)據(jù)集。
所以,針對這些現(xiàn)有問題,Colossal-AI開源了針對LLaMA2的全流程方案,并具備高可擴(kuò)展性,支持從70億到700億參數(shù)的模型,從8卡到512卡都可保持良好的性能。
在使用8卡訓(xùn)練/微調(diào)LLaMA2-7B時(shí),Colossal-AI能達(dá)到約54%的硬件利用率(MFU),處于業(yè)界領(lǐng)先水平。
而對于預(yù)訓(xùn)練任務(wù),以使用512張A100 40GB預(yù)訓(xùn)練LLaMA2-70B為例,DeepSpeed ZeRO3策略因顯存不足而無法啟動(dòng),僅能通過速度衰減較大的ZeRO3-offload策略啟動(dòng)。Colossal-AI則因卓越的系統(tǒng)優(yōu)化和擴(kuò)展性,仍能保持良好性能,訓(xùn)練提速195%。
圖片
Colossal-AI LLaMA-2訓(xùn)練/微調(diào)方案的高性能來源于新的異構(gòu)內(nèi)存管理系統(tǒng)Gemini和高性能算子(包括Flash attention 2)等系統(tǒng)優(yōu)化。
新Gemini提供了高可擴(kuò)展性、高魯棒性、高易用性的接口。其Checkpoint格式與HuggingFace完全兼容,減小了使用和轉(zhuǎn)換成本。其對于切分、offload等的設(shè)置更加靈活且易用,能夠覆蓋更多硬件配置下的LLaMA-2訓(xùn)練/微調(diào)任務(wù)。
僅需數(shù)行代碼即可使用:
from colossalai.booster import Booster
from colossalai.booster.plugin import GeminiPlugin
plugin = GeminiPlugin()
booster = Booster(plugin=plugin)
model, optimizer, train_dataloader, criterion = booster.boost(model, optimizer, train_dataloader, criterion)
ShardFormer多維細(xì)粒度并行
雖然對于主流硬件條件和大多數(shù)模型,Colossal-AI的新Gemini已經(jīng)能夠提供良好的性能,但是對于一些極端硬件條件,或者是特殊模型,可能仍然需要多維并行的細(xì)粒度優(yōu)化。
現(xiàn)有其他方案通常需要分布式系統(tǒng)資深專家,手動(dòng)對代碼進(jìn)行大規(guī)模重構(gòu)和調(diào)優(yōu),Colossal-AI的ShardFormer提供了開箱即用的多維并行和算子優(yōu)化的能力,僅需數(shù)行代碼即可使用,在單機(jī)/大規(guī)模集群上都能提供良好的性能。
from colossalai.booster import Booster
from colossalai.booster.plugin import HybridParallelPlugin
from transformers.models.llama import LlamaForCausalLM, LlamaConfig
plugin = HybridParallelPlugin(tp_size=2, pp_size=2, num_microbatches=4, zero_stage=1)
booster = Booster(plugin=plugin)
model = LlamaForCausalLM(LlamaConfig())
model, optimizer, train_dataloader, criterion = booster.boost(model, optimizer, train_dataloader, criterion)
Colossal-AI ShardFormer支持包括LLaMA1/2、BLOOM、OPT、T5、GPT-2、BERT、GLM在內(nèi)的主流開源模型,也可以直接使用Huggingface/transformers模型導(dǎo)入,Checkpoint格式也與HuggingFace完全兼容,對比Megatron-LM等需重寫大量代碼的方案,大大提升了易用性。
圖片
對于并行策略,已支持以下多種并行方式:張量并行、流水線并行、序列并行、數(shù)據(jù)并行、Zero數(shù)據(jù)并行等,并可將多種并行方式組合使用,只需通過簡單的配置命令,即可適配各種復(fù)雜的硬件環(huán)境/模型。
同時(shí),其內(nèi)置了各種高性能算子,免去了繁瑣的兼容/配置過程。其中包括:
- Flash attention 2
- Memory efficient attention (xformers)
- Fused Normalization Layer
- JIT kernels
云平臺(tái)大模型一站式解決
為了進(jìn)一步提升開發(fā)和部署效率,Colossal-AI團(tuán)隊(duì)還將上述系統(tǒng)優(yōu)勢與算力結(jié)合,提供Colossal-AI云平臺(tái),提供廉價(jià)算力和開箱即用的AI主流應(yīng)用,包括對話大模型,多模態(tài)模型,生物醫(yī)藥等,現(xiàn)已開啟內(nèi)測。
圖片
通過屏蔽大模型底層的分布式并行計(jì)算、內(nèi)存、通信管理與優(yōu)化等,AI開發(fā)者可以繼續(xù)專注于AI模型與算法設(shè)計(jì),以更低成本更快速度完成AI大模型助力業(yè)務(wù)降本增效。
圖片
用戶只需要上傳相關(guān)數(shù)據(jù),即可無代碼訓(xùn)練個(gè)性化私有模型,并將訓(xùn)練好的模型一鍵部署。相關(guān)的應(yīng)用都經(jīng)過Colossal-AI團(tuán)隊(duì)精心優(yōu)化,得益于算法和系統(tǒng)的雙面優(yōu)化,能大大降低模型訓(xùn)練以及部署的成本。
圖片
感興趣的童鞋可訪問Colossal-AI GitHub地址查看詳情,云平臺(tái)可通過搜索“Colossal-AI Platform”了解更多~