650 亿参数大模型预训练方案开源可商用!LLaMA 训练加速 38%,来自明星开源项目
- 量子位
2023-07-18 13:20
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.gitcd ColossalAI# install and enable CUDA kernel fusionCUDA_EXT=1 pip install .
第二步、安装其他依赖项。
cd examples/language/llama# install other dependenciespip install -r requirements.txt# use flash attentionpip install xformers
第三步、数据集。
默认数据集 togethercomputer / RedPajama-Data-1T-Sample 将在首次运行时自动下载,也可通过-d 或 —dataset 指定自定义数据集。
第四步、运行命令。
已提供 7B 和 65B 的测速脚本,仅需根据实际硬件环境设置所用多节点的 host name 即可运行性能测试。
cd benchmark_65B/gemini_autobash 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
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。