0

0

650亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目

雪夜

雪夜

发布时间:2025-04-24 19:02:12

|

805人浏览过

|

来源于php中文网

原创

明敏 发自 凹非寺量子位 | 公众号 qbitai

650亿参数大模型的预训练方案一经发布便开源,训练速度较传统方案提升了38%。这就是由Colossal-AI最新推出的类LLaMA基础大模型预训练方案。

650亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目在“百模大战”的背景下,拥有自家大模型被视为核心竞争力。在这个关键时刻,愿意开源大模型的公司寥寥无几。然而,从头训练一个大模型对技术和资金要求极高。因此,Colossal-AI的最新开源举措可谓是顺应了当前形势的需求。而且它还允许商业使用,仅需4步即可开箱即用。

具体项目内容如下,请继续阅读:

开源地址:https://www.php.cn/link/b9531e7d2a8f38fe8dcc73f58cae9530

仅需32张A100/A800即可使用。自从Meta开源LLaMA以来,掀起了一波微调项目的热潮,如Alpaca、Vicuna、ColossalChat等都是基于此构建的。

650亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目然而,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%。

650亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目而像原生PyTorch、FSDP等,则因显存溢出无法运行该任务。Hugging Face accelerate、DeepSpeed、Megatron-LM也未对LLaMA预训练进行官方支持。

项目上手非常简单,只需四步:

1、安装Colossal-AI2、安装其他依赖项3、数据集4、运行命令具体代码如下:

HyperWrite
HyperWrite

AI写作助手帮助你创作内容更自信

下载

第一步、安装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 .

第二步、安装其他依赖项。

代码语言: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

第三步、数据集。

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

第四步、运行命令。

已提供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亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目Colossal-AI的最新ShardFormer极大降低了使用多维并行训练LLM的上手难度。现已支持包括LLaMA在内的多种主流模型,且原生支持Huggingface/transformers模型库。无需改造模型,即可支持多维并行(流水、张量、ZeRO、DDP等)的各种配置组合,能够在各种硬件配置上都发挥卓越的性能。

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生态。

650亿参数大模型预训练方案开源可商用!LLaMA训练加速38%,来自明星开源项目它由加州伯克利大学杰出教授 James Demmel 和新加坡国立大学校长青年教授尤洋领导开发。Colossal-AI基于PyTorch,通过高效多维并行、异构内存等,主打降低AI大模型训练/微调/推理的开发与应用成本,减少GPU需求。其背后公司潞晨科技,近期获得数亿元A轮融资,在成立18个月内迅速连续完成三轮融资。

相关专题

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

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

557

2023.06.20

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

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

395

2023.07.04

js四舍五入
js四舍五入

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

756

2023.07.04

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

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

479

2023.09.01

JavaScript转义字符
JavaScript转义字符

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

494

2023.09.04

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

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

1071

2023.09.04

如何启用JavaScript
如何启用JavaScript

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

659

2023.09.12

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

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

554

2023.09.20

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.2万人学习

Rust 教程
Rust 教程

共28课时 | 4.7万人学习

Vue 教程
Vue 教程

共42课时 | 7万人学习

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

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