650亿参数大模型的预训练方案,发布即开源。
训练速度较传统方案提升38%。
这就是由Colossal-AI最新发布的类LLaMA基础大模型预训练方案。
要知道,在“百模大战”背景下,谁拥有自家大模型,往往被视为核心竞争力。
在这个节点下,愿意开源大模型的公司少之又少。
但自己从头训练一个大模型,对技术、资金都有很高要求。
由此,Colossal-AI最新的开源动作,可以说是应时势所需了。
并且它还不限制商业使用,开箱即用仅需4步。
具体项目有哪些内容?一起往下看~
开源地址:https://github.com/hpcaitech/ColossalAI
32张A100/A800即可使用
实际上,自从Meta开源LLaMA后,掀起了一波微调项目热潮,如Alpaca、Vicuna、ColossalChat等都是在其基础上打造的。
但是LLaMA只开源了模型权重且限制商业使用,微调能够提升和注入的知识与能力也相对有限。
对于真正想要投身大模型浪潮的企业来说,训练自己的核心大模型非常重要。
开源社区也此前已献了一系列工作:
- RedPajama:开源可商用类LLaMA数据集(无训练代码和模型)
- OpenLLaMA:开源可商用类LLaMA 7B/13B模型,使用EasyLM基于JAX和TPU训练
- Falcon:开源可商用类LLaMA 7B/40B模型(无训练代码)
但这些都还不够,因为对于最主流的PyTorch+GPU生态,仍缺乏高效、可靠、易用的类LLaMA基础大模型预训练方案。
所以Colossal-AI交出了最新的开源答卷。
仅需32张A100/A800,即可搞定650亿参数类LLaMA大模型预训练,训练速度提升38%。
而像原生PyTorch、FSDP等,则因显存溢出无法运行该任务。
Hugging Face accelerate、DeepSpeed、Megatron-LM也未对LLaMA预训练进行官方支持。
开箱即用、4步搞定
而这一项目真正上手起来也很简易。共有四步:
- 1、安装Colossal-AI
- 2、安装其他依赖项
- 3、数据集
- 4、运行命令
具体代码如下:
第一步、安装Colossal-AI。
git clone -b example/llama https://github.com/hpcaitech/ColossalAI.git
cd ColossalAI
# install and enable CUDA kernel fusion
CUDA_EXT=1 pip install .
第二步、安装其他依赖项。
cd examples/language/llama
# install other dependencies
pip install -r requirements.txt
# use flash attention
pip install xformers
第三步、数据集。
默认数据集togethercomputer/RedPajama-Data-1T-Sample将在首次运行时自动下载,也可通过-d或—dataset指定自定义数据集。
第四步、运行命令。
已提供7B和65B的测速脚本,仅需根据实际硬件环境设置所用多节点的host name即可运行性能测试。
cd benchmark_65B/gemini_auto
bash batch12_seq2048_flash_attn.sh
对于实际的预训练任务,使用与速度测试一致,启动相应命令即可,如使用4节点*8卡训练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并行策略,可便捷实现多机多卡并行训练,降低显存消耗的同时保持高速训练。
还可根据硬件环境或实际需求,选择流水并行+张量并行+ZeRO1等复杂并行策略组合。
其中,通过Colossal-AI的Booster Plugins,用户可以便捷自定义并行训练,如选择Low Level ZeRO、Gemini、DDP等并行策略。
Gradient checkpointing通过在反向传播时重新计算模型的activation来减少内存使用。
通过引入Flash attention机制加速计算并节省显存。用户可以通过命令行参数便捷控制数十个类似的自定义参数,在保持高性能的同时为自定义开发保持了灵活性。
Colossal-AI最新的ShardFormer极大降低了使用多维并行训练LLM的上手成本。
现已支持包括LLaMA的多种等主流模型,且原生支持Huggingface/transformers模型库。
无需改造模型,即可支持多维并行(流水、张量、ZeRO、DDP等)的各种配置组合,能够在各种硬件配置上都发挥卓越的性能。
Colossal-AI:大模型系统基础设施
带来如上新工作的Colossal-AI,如今已是大模型趋势下的明星开发工具和社区了。
Colossal-AI上述解决方案已在某世界500强落地应用,在千卡集群性能优异,仅需数周即可完成千亿参数私有大模型预训练。
上海AI Lab与商汤等新近发布的InternLM也基于Colossal-AI在千卡实现高效预训练。
自开源以来,Colossal-AI多次在GitHub热榜位列世界第一,获得 GitHub Star超3万颗,并成功入选SC、AAAI、PPoPP、CVPR、ISC等国际 AI 与HPC顶级会议的官方教程,已有上百家企业参与共建Colossal-AI生态。
它由加州伯克利大学杰出教授 James Demmel 和新加坡国立大学校长青年教授尤洋领导开发。
Colossal-AI基于PyTorch,可通过高效多维并行、异构内存等,主打为AI大模型训练/微调/推理的开发与应用成本,降低GPU需求等。
其背后公司潞晨科技,近期获得数亿元A轮融资,已在成立18个月内已迅速连续完成三轮融资。
开源地址:https://github.com/hpcaitech/ColossalAI。
参考链接:https://www.hpc-ai.tech/blog/large-model-pretraining。