0

0

一个开源方案,极速预训练650亿参数LLaMA

爱谁谁

爱谁谁

发布时间:2025-04-24 15:18:33

|

463人浏览过

|

来源于php中文网

原创

ai大模型领域,竞争日益激烈,aigc相关企业的融资和并购金额不断创下新高,全球科技巨头纷纷加入这一赛道。然而,ai大模型的高成本问题日益凸显,单次预训练的费用可能高达上千万元。基于现有开源模型如llama进行微调,已不足以满足企业在核心竞争力和多样化商业应用上的需求。因此,如何以低成本定制预训练基础大模型,成为ai大模型发展的关键挑战。

Colossal-AI作为全球最大、最活跃的大模型开发工具和社区,针对当前最常用的LLaMA模型,提供了一套开箱即用的650亿参数预训练方案。该方案可提升训练速度38%,为企业节省大量成本。

一个开源方案,极速预训练650亿参数LLaMA开源地址:https://www.php.cn/link/b9531e7d2a8f38fe8dcc73f58cae9530

LLaMA的开源激发了社区的热情

Meta开源的7B到65B参数的LLaMA模型,进一步激励了开发类似ChatGPT的热情,并催生了Alpaca、Vicuna、ColossalChat等微调项目。

然而,LLaMA仅开源了模型权重,且限制商业使用,微调能够增强的知识和能力也有限。对于真正投入大模型开发的企业来说,预训练自己的核心大模型仍是必要的。为此,开源社区进行了多项尝试:

RedPajama:开源可商用的类似LLaMA数据集,但无训练代码和模型OpenLLaMA:开源可商用的类似LLaMA 7B和13B模型,使用EasyLM基于JAX和TPU进行训练Falcon:开源可商用的类似LLaMA 7B和40B模型,但无训练代码然而,对于最主流的PyTorch和GPU生态,仍缺乏高效、可靠、易用的类似LLaMA基础大模型预训练方案。

最佳大模型预训练方案可提升速度38%

针对这一空白与需求,Colossal-AI首次开源了650亿参数的LLaMA低成本预训练方案。与业界其他主流方案相比,该方案可提升预训练速度38%,仅需32张A100/A800即可运行,并且不限制商业使用。

一个开源方案,极速预训练650亿参数LLaMA而原生PyTorch、FSDP等因显存溢出无法运行此任务。Hugging Face accelerate、DeepSpeed、Megatron-LM也未对LLaMA预训练提供官方支持。

开箱即用

1. 安装Colossal-AI

代码语言:javascript代码运行次数:0运行复制```javascript git clone -b example/llama https://www.php.cn/link/b9531e7d2a8f38fe8dcc73f58cae9530.gitcd ColossalAI# install and enable CUDA kernel fusionCUDA_EXT=1 pip install .

2\. 安装其他依赖

代码语言:javascript代码运行次数:0http://www.w3.org/2000/svg"youjiankuohaophpcnzuojiankuohaophpcnpath d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor">运行http://www.w3.org/2000/svg"youjiankuohaophpcnzuojiankuohaophpcnpath clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制javascript cd examples/language/llama# install other dependenciespip install -r requirements.txt# use flash attentionpip install xformers

3. 数据集

默认数据集togethercomputer/RedPajama-Data-1T-Sample将在首次运行时自动下载,也可通过-d或--dataset指定自定义数据集。

4. 运行命令

通义万相
通义万相

通义万相,一个不断进化的AI艺术创作大模型

下载

已提供7B和65B的测速脚本,仅需根据实际硬件环境设置所用多节点的host name即可运行性能测试。

代码语言:javascript代码运行次数:0运行复制javascript cd benchmark_65B/gemini_autobash batch12_seq2048_flash_attn.sh


对于实际的预训练任务,使用与速度测试一致,启动相应命令即可,如使用4节点*8卡训练65B的模型。

代码语言:javascript代码运行次数:0http://www.w3.org/2000/svg"youjiankuohaophpcnzuojiankuohaophpcnpath d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor">运行http://www.w3.org/2000/svg"youjiankuohaophpcnzuojiankuohaophpcnpath clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd">复制```javascript 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机制加速计算并节省显存。用户可以通过命令行参数便捷控制数十个类似的自定义参数,在保持高性能的同时为自定义开发保持了灵活性。

一个开源方案,极速预训练650亿参数LLaMAColossal-AI最新的ShardFormer极大降低了使用多维并行训练LLM的上手成本。现已支持包括LLaMA的多种等主流模型,且原生支持Huggingface/transformers模型库。无需改造模型,即可支持多维并行(流水、张量、ZeRO、DDP等)的各种配置组合,能够在各种硬件配置上都发挥卓越的性能。

AI大模型系统基础设施Colossal-AI

Colossal-AI为该方案提供了核心系统优化与加速能力支持,它由加州伯克利大学杰出教授James Demmel和新加坡国立大学校长青年教授尤洋领导开发。Colossal-AI基于PyTorch,可通过高效多维并行、异构内存等,降低AI大模型训练/微调/推理的开发与应用成本,降低GPU需求等。

Colossal-AI上述解决方案已在某世界500强企业落地应用,在千卡集群性能优异,仅需数周即可完成千亿参数私有大模型预训练。上海AI Lab与商汤等新近发布的InternLM预训练代码也参考了Colossal-AI。

自开源以来,Colossal-AI已经多次在GitHub热榜位列世界第一,获得GitHub Star超3万颗,并成功入选SC、AAAI、PPoPP、CVPR、ISC等国际AI与HPC顶级会议的官方教程,已有上百家企业参与共建Colossal-AI生态。其背后的潞晨科技,近期获得数亿元A轮融资,已在成立18个月内迅速连续完成三轮融资。

开源地址:

https://www.php.cn/link/b9531e7d2a8f38fe8dcc73f58cae9530

参考链接:

https://www.php.cn/link/91ede05a5beeb33ee6c695e3d6d3fd1a

相关专题

更多
js获取数组长度的方法
js获取数组长度的方法

在js中,可以利用array对象的length属性来获取数组长度,该属性可设置或返回数组中元素的数目,只需要使用“array.length”语句即可返回表示数组对象的元素个数的数值,也就是长度值。php中文网还提供JavaScript数组的相关下载、相关课程等内容,供大家免费下载使用。

556

2023.06.20

js刷新当前页面
js刷新当前页面

js刷新当前页面的方法:1、reload方法,该方法强迫浏览器刷新当前页面,语法为“location.reload([bForceGet]) ”;2、replace方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL,语法为“location.replace(URL) ”。php中文网为大家带来了js刷新当前页面的相关知识、以及相关文章等内容

374

2023.07.04

js四舍五入
js四舍五入

js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。php中文网为大家带来了js四舍五入的相关知识、以及相关文章等内容

733

2023.07.04

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

477

2023.09.01

JavaScript转义字符
JavaScript转义字符

JavaScript中的转义字符是反斜杠和引号,可以在字符串中表示特殊字符或改变字符的含义。本专题为大家提供转义字符相关的文章、下载、课程内容,供大家免费下载体验。

414

2023.09.04

js生成随机数的方法
js生成随机数的方法

js生成随机数的方法有:1、使用random函数生成0-1之间的随机数;2、使用random函数和特定范围来生成随机整数;3、使用random函数和round函数生成0-99之间的随机整数;4、使用random函数和其他函数生成更复杂的随机数;5、使用random函数和其他函数生成范围内的随机小数;6、使用random函数和其他函数生成范围内的随机整数或小数。

1011

2023.09.04

如何启用JavaScript
如何启用JavaScript

JavaScript启用方法有内联脚本、内部脚本、外部脚本和异步加载。详细介绍:1、内联脚本是将JavaScript代码直接嵌入到HTML标签中;2、内部脚本是将JavaScript代码放置在HTML文件的`<script>`标签中;3、外部脚本是将JavaScript代码放置在一个独立的文件;4、外部脚本是将JavaScript代码放置在一个独立的文件。

658

2023.09.12

Js中Symbol类详解
Js中Symbol类详解

javascript中的Symbol数据类型是一种基本数据类型,用于表示独一无二的值。Symbol的特点:1、独一无二,每个Symbol值都是唯一的,不会与其他任何值相等;2、不可变性,Symbol值一旦创建,就不能修改或者重新赋值;3、隐藏性,Symbol值不会被隐式转换为其他类型;4、无法枚举,Symbol值作为对象的属性名时,默认是不可枚举的。

553

2023.09.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号