GitHub Star 超3萬!這個AI大模型工具很火
“百模大戰(zhàn)”正風(fēng)起云涌,AIGC相關(guān)企業(yè)融資和并購金額也屢創(chuàng)新高,全球科技企業(yè)爭相入局。然而,AI大模型風(fēng)光無限的背后是成本極其高昂,單次預(yù)訓(xùn)練成本或高達(dá)上千萬元。基于LLaMA等現(xiàn)有開源大模型的微調(diào),也難以滿足企業(yè)打造核心競爭力和多樣化商業(yè)使用等需求。因此,如何低成本量身打造預(yù)訓(xùn)練基礎(chǔ)大模型,已成為AI大模型浪潮的關(guān)鍵瓶頸。
Colossal-AI作為全球最大、最活躍的大模型開發(fā)工具與社區(qū),以當(dāng)前被最廣泛使用的LLaMA為例,提供開箱即用的650億參數(shù)預(yù)訓(xùn)練方案,可提升訓(xùn)練速度38%,為大模型企業(yè)節(jié)省大量成本。
開源地址:
https://github.com/hpcaitech/ColossalAI
LLaMA 點燃開源熱情
Meta開源的7B~65B LLaMA大模型進(jìn)一步激發(fā)了打造類ChatGPT的熱情,并由此衍生出Alpaca, Vicuna,ColossalChat等微調(diào)項目。
但LLaMA只開源了模型權(quán)重且限制商業(yè)使用,微調(diào)能夠提升和注入的知識與能力也相對有限。對于真正投身大模型浪潮的企業(yè)來說,仍必須預(yù)訓(xùn)練自己的核心大模型。開源社區(qū)為此做了諸多努力:
RedPajama:開源可商用類LLaMA數(shù)據(jù)集,無訓(xùn)練代碼和模型
OpenLLaMA:開源可商用類LLaMA 7B,13B模型,使用EasyLM基于JAX和TPU訓(xùn)練
Falcon:開源可商用類LLaMA 7B,40B模型,無訓(xùn)練代碼
但對于最主流的PyTorch + GPU生態(tài),仍缺乏高效、可靠、易用的類LLaMA基礎(chǔ)大模型預(yù)訓(xùn)練方案。
最佳大模型預(yù)訓(xùn)練方案提速 38%
針對上述空白與需求,Colossal-AI首個開源了650億參數(shù)LLaMA低成本預(yù)訓(xùn)練方案,相比業(yè)界其他主流選擇,可提升預(yù)訓(xùn)練速度38%,僅需32張A100/A800即可使用,并且不限制商業(yè)使用。

而像原生PyTorch、FSDP等,則因顯存溢出無法運行該任務(wù)。Hugging Face accelerate、DeepSpeed、Megatron-LM也未對LLaMA預(yù)訓(xùn)練進(jìn)行官方支持。
開箱即用
1.安裝Colossal-AI
git clone -b example/llama https://github.com/hpcaitech/ColossalAI.gitcd ColossalAI# install and enable CUDA kernel fusionCUDA_EXT=1 pip install .
2.安裝其他依賴
cd examples/language/llama# install other dependenciespip install -r requirements.txt# use flash attentionpip install xformers
3.數(shù)據(jù)集
默認(rèn)數(shù)據(jù)集togethercomputer/RedPajama-Data-1T-Sample將在首次運行時自動下載,也可通過-d或--dataset指定自定義數(shù)據(jù)集。
4.運行命令
已提供7B和65B的測速腳本,僅需根據(jù)實際硬件環(huán)境設(shè)置所用多節(jié)點的host name即可運行性能測試。
cd benchmark_65B/gemini_autobash batch12_seq2048_flash_attn.sh
對于實際的預(yù)訓(xùn)練任務(wù),使用與速度測試一致,啟動相應(yīng)命令即可,如使用4節(jié)點*8卡訓(xùn)練65B的模型。
colossalai run --nproc_per_node 8 --hostfile YOUR_HOST_FILE --master_addr YOUR_MASTER_ADDR pretrain.py -c '65b' --plugin "gemini" -l 2048 -g -b 8 -a
例如,使用Colossal-AI gemini_auto并行策略,可便捷實現(xiàn)多機多卡并行訓(xùn)練,降低顯存消耗的同時保持高速訓(xùn)練。還可根據(jù)硬件環(huán)境或?qū)嶋H需求,選擇流水并行+張量并行+ZeRO1等復(fù)雜并行策略組合。
其中,通過Colossal-AI的Booster Plugins,用戶可以便捷自定義并行訓(xùn)練,如選擇Low Level ZeRO,Gemini,DDP等并行策略。Gradient checkpointing通過在反向傳播時重新計算模型的activation來減少內(nèi)存使用。通過引入Flash attention機制加速計算并節(jié)省顯存。用戶可以通過命令行參數(shù)便捷控制數(shù)十個類似的自定義參數(shù),在保持高性能的同時為自定義開發(fā)保持了靈活性。

ColossalAI最新的ShardFormer極大降低了使用多維并行訓(xùn)練LLM的上手成本?,F(xiàn)已支持包括LLaMA的多種等主流模型,且原生支持Huggingface/transformers模型庫。無需改造模型,即可支持多維并行(流水、張量、ZeRO、DDP等)的各種配置組合,能夠在各種硬件配置上都發(fā)揮卓越的性能。
AI大模型系統(tǒng)基礎(chǔ)設(shè)施 Colossal-AI
Colossal-AI為該方案提供了核心系統(tǒng)優(yōu)化與加速能力支持,它由加州伯克利大學(xué)杰出教授 James Demmel 和新加坡國立大學(xué)校長青年教授尤洋領(lǐng)導(dǎo)開發(fā)。Colossal-AI基于PyTorch,可通過高效多維并行、異構(gòu)內(nèi)存等,降低AI大模型訓(xùn)練/微調(diào)/推理的開發(fā)與應(yīng)用成本,降低GPU需求等。
Colossal-AI上述解決方案已在某世界500強落地應(yīng)用,在千卡集群性能優(yōu)異,僅需數(shù)周即可完成千億參數(shù)私有大模型預(yù)訓(xùn)練。上海AI Lab與商湯等新近發(fā)布的InternLM也基于Colossal-AI在千卡實現(xiàn)高效預(yù)訓(xùn)練。
自開源以來,Colossal-AI 已經(jīng)多次在 GitHub 熱榜位列世界第一,獲得 GitHub Star 超3萬顆,并成功入選 SC、AAAI、PPoPP、CVPR、ISC 等國際 AI 與 HPC 頂級會議的官方教程,已有上百家企業(yè)參與共建Colossal-AI生態(tài)。其背后的潞晨科技,近期獲得數(shù)億元A輪融資,已在成立18個月內(nèi)已迅速連續(xù)完成三輪融資。
開源地址:
https://github.com/hpcaitech/ColossalAI
參考鏈接:
https://www.hpc-ai.tech/blog/large-model-pretraining
