本文作者:xinfeng335

尤洋:通过软件大幅度降低AI大模型训练部署成本

xinfeng335 2023-11-23 43
尤洋:通过软件大幅度降低AI大模型训练部署成本摘要: 专题:第25届中国国际高新技术成果交易会_中国高新技术论坛  中国高新技术论坛于11月15日-17日举行。新加坡国立大学校长青年教授、潞晨科技创始人兼董事长尤洋出席并演讲。 ...

专题:第25届中国国际高新技术成果交易会_中国高新技术论坛

尤洋:通过软件大幅度降低AI大模型训练部署成本
(图片来源网络,侵删)

  中国高新技术论坛于11月15日-17日举行。新加坡国立大学校长青年教授、潞晨科技创始人兼董事长尤洋出席并演讲。

  以下为演讲实录: 

  今天很高兴来到深圳和大家交流,我今天主要介绍一下大模型训练的一些关键技术,我们公司打造了面向大模型开发的软件系统叫Colossal-AI,我今天会重点介绍一下我们如何通过更好的软件,把相同硬件的价值发挥出来,同时大幅度降低AI大模型训练部署的成本。

  首先跟大家看一张图。这张图大家在别处可能也见过,它的横坐标是时间,纵坐标就是AI模型的参数量,从这张图可以看出有两条虚线和一条实线,两条虚线代表的是过去6年人工智能大模型每年平均,或者每18个月参数量增长40倍。比如2016年的时候,当时世界上最好的AI模型像微软亚洲研究院的,只有2000万参数。到2020年6月份,其实ChatGPT的核心技术,GPT3在疫情那一年的暑已经出来了,有1750亿参数。从2016年-2020年,大模型一直是在高速蓬勃的发展,在短短四年之中,没有被大众关注到的时候,它的参数已经增长了一万倍。很有意思的点是,我们这一波用的大模型都是人工神经网络,到2015年前后的时候,大家都叫这个技术是深度学习,因为它相对80年代的神经网络多了很多层。

  我们看一下现在的大模型,比如2016年的时候的Resnet50是50层,2020年的GPT3的参数没有超过100层,我们现在这种AI的技术不能再叫做深度学习,其实更像是宽度学习,因为模型的层反而变得更宽了。但是现在一个很严重的问题是我们的算力、硬件跟不上,不管是中国还是美国,都无法充分地去满足大模型训练的全部能力。为什么?其实我们都知道,现在的GPT3、GPT4动辄都需要上T的内存,世界上最好的GPU,英伟达的H系列只有100GB左右内存,我们的单个GPU远远不足够去训练大模型,这就是我们为什么需要成千上万,甚至以后上十万GPU训练大模型的核心原因。

  我总结一下,从AI技术发展看到的问题,首先大模型成本特别高,根据一些报道,OpenAI的消息,他们训练GPT4的时候用了2000个GPU,成本是一美元一小时,大概是6300万美元左右,换上H100之后,他的成本降到2100万美元,不知道是不是在给英伟达打广告,直接换一个硬件,成本降了3倍,省了4000多万美元,这还是非常让人眼前一亮的。即便我们现在想训一个不是那么大的模型,像Palm,相当于谷歌版的GPT,它有5400亿个参数,训练它要900万美元,用A100训练的话,需要300年。我们训练大模型,如果只用几个GPU训练,虽然理论上可行,但是基本上这个产品就没法做了,300年显然是无法接受的。

  我们的角度来看,我认为未来AI大模型的生态和基础设施应该包括六层,首先最下层就是硬件,不管是英伟达的硬件,还是英特尔硬件、华为的硬件。第二层是更底层的软件,这个软件一般是由硬件厂商控制的。第三层是像集成管理工具,RAY 、SLURM等等这些工具。任务管理工具就是把上百个任务合理划分给GPU,相当于我是一个将军一样,要指挥一百个兵团作战,如何把有限的分给这一百个兵团,是集成管理工具要干的事情。第四层是集成训练,我的兵团内的这些士兵相互配合好去完成一个任务,这是分布式训练所做的事情。第五层是用户的编程接口。第六层是现在的大模型,不管是ChatGPT、llama等都是属于这一层。我简单解释一下,大模型到来的时代,第三层和第四层的关系发生很大变化,之前的模型不是很大的情况下,我们有一万个GPU,每天或者每个月要训10万个任务数,一个GPU同时在训多任务,多个小任务驱动环境,使得这个集群管理工具变得非常重要。但是现在大模型时代的计算特点发生了实质上的变化,一个任务占据了1000个GPU,占据20天、30天,或者一个任务占据5000个GPU一个月,它便成了每个任务都很重,所以任务之间的关系不是那么重要,因为我是一个一个很粗大的任务,把任务内的上千个GPU分配好是更关键的技术。为了应对目前的问题,我们团队打造了Colossal-AI这个软件,Colossal-AI主要包括三个层次,第一个层次是内存管理系统,我们希望通过Colossal-AI去大幅度降低AI大模型训练的内存开销和硬件需求成本。第二层就是并行技术,我们未来需要成千上万个GPU去训练,我把GPU的数量从十个上升几百倍,能否有效实际进行加速,GPU和GPU的数据传输和服务器与服务器的数据传输占满运行时间的80%到90%,我们的效率只有10%左右或者20%,这就是为什么英伟达要斥巨资收购ARM的原因。我们在全国都有很多算力,但是我们无法把它集中起来训练一个模型,因为这个数据传输的开销会远大于计算的开销,我们定把内蒙古、北京、上海、天津各个分散的算力集中起来训练一个ChatGPT,它的训练速度还不到10个GPU的训练速度,因为它的所有计算能力都会浪费在通信上。因为这是现在大模型的特点,我们的大模型是很大的参数,我把它分割成很多块之后,最终都是需要汇总同步结果的。

  通过Colossal-AI软件,现在我们也在全球收获很多用户,我们在全球的下载榜单上非常好的。这张图的横坐标就是时间,竖坐标就是它的增速,我们的Colossal-AI已经超过了英伟达的训练工具,在AI软件基础设施,我们是排名最高的。Colossal-AI的用户遍布全球,中国、美国、欧洲、印度、东南亚都有很多的Colossal-AI的用户。我们知道现在NeurIPS是AI世界峰会,我们也入选了NeurIPS等顶级会议的官方tutorial。

  我接下来几分钟简单介绍一下Colossal-AI的核心技术,第一个是N维并行系统,它的核心目标就是希望通过更好的优化,把上千个GPU的能力彻底释放出来,比如我们都知道OpenAI用了2500个GPU训练他们的ChatGPT。但是还有一组数字更现实一点,它的GPU利用率只有30%多,像OpenAI、微软水平这么高的团队,它用GPU不是很高效,只有30%的效率。我和华为的朋友交流,他们用昇腾在训自己的模型,但是问题是每训一天,就有一些机器要出现故障,从出现故障到找到这些故障也需要一天,虽然我们的人工智能现在这么发达了,但是我们处理物理机器的效率还是很低。未来我们操控上万个GPU,如何把这些GPU稳定地运行一个月,其实这是一个技术含量非常高的工作。第一个就是节点崩溃问题,传统的机房或者大规模计算都有这样的问题,更严重的就是它的效率问题,比如说我们用商网GPU,一个集群GPU能否获得成千上万倍的加速是非常核心的问题。所以Colossal-AI团队就打造了六维并行技术,通过尽可能的所有的并行计算把每个单位GPU的效率都发挥到极致,其中包括流水线并行、张量并行、数据并行,它的核心思想就是用更多的局部通信去替换一个全局通信,我们在深圳开十个小时会议的代价高于我飞到洛杉矶开一个会议。GPU与GPU的通信远慢于GPU内部的计算,这是上百倍,上万倍的关系。

  在里我说一下目前AI大模型训练的核心技术的现状,GPT3出现以后,做GPT3的训练就是英伟达,英伟达用3072个GPU训练GPT3。经过几年的迭代,大家基本走向了一致,就是数据并行、张量并行、流水线并行,未来会是任何AI大模型训练的核心技术。我刚才也简单介绍了Colossal-AI团队的方案,比如我们设定了2维张量并行、2.5维张量并行、3维张量并行,把更多的张量并行把层内计算分割到硬件上,通过最小化的通信实现效率最大化。我们觉得张量并行可能是未来发展空间更大的,因为未来的模型变得更宽,而不是变得更深,比如说今天的GPT,或者LLM都没有超过一百层,包括网传GPT4是把多个专家放在同一个层,它的层变得更宽了,张量并行的发展空间,在以后很大的情况下,张量并行的优化变得至关重要。

  现在的很多模型都会声称自己支持超长序列的功能,为什么超长序列很重要?因为GPT类模型的核心原理是通过上下文的信息去预测下一个单词的概率,但是如果这个上下文太长,它会带来严重内存开销,所以我们就打造了环状通信的Self Attention,就是通过环状的方式去交换信息,这样就把通信复杂度从N平方变成N-1。举一个非常简单的例子,现在大家都坐在这里会场里,每个人都抱了一包很大很大的零食,我现在想让所有人都尝一下其他所有人的零食,显然最基本的方式就是两两互换,这样我们有一百人,就需要一万次操作,有P个人,就需要P平方次操作。这个方式显然不是最优的,最优的方式是大家手拉手拉成一个圈,我把这个零食拿过来,吃了之后再传给另外一个人,大家都这样操作,P-1次就可以完成这个操作,复杂的环状Self Attention系统就是这样实现的。

  Colossal-AI也提供了高效内存管理系统,主要是为了应对现在AI大模型训练的需求。比如说我们现在一个很典型的GPU服务器就是这样的构造,往往有多个GPU,CPU内存,以及硬盘,这三者的关系是GPU最贵最小,CPU内存更大更便宜,DISK是最大最便宜。举个例子,我需要在深圳盖一栋楼,需要很多原材料,这个原材料如果放不下,我就放到楼下工地,楼下工地放不下就放到隔壁工厂,隔壁工厂放不下,我就放到东莞,但是如果我每盖一层楼到东莞拿原材料,这个开销非常大。我们在显卡内存有限情况下,我们需要把内存卸载到CPU上,就需要最小化CPU和GPU的数据移动。Colossal-AI通过一套高效的软件系统优化,我们可以把张量进行高效的分组和移动,卸载到GPU上。目前Colossal-AI的效果非常好,在这里给大家展示一张图,左上方这张图就是一个很直接的比较,在同样的设备条件下,可以看到Colossal-AI相比原生PyTorch提升上百倍的模型容量。比如说,我现在想训练GPT3,我本来需要100台机器,现在不到10台机器就可以了。通过更好的优化,Colossal-AI把ChatGPT的训练速度提高10倍左右,我们现在也开源了流程的复现方案。Colossal-AI前一段时间发布了Colossal-LLaMA-2模型,它比国内任何大模型公司的模型下载量都要高,我们是做基础设施的公司,但是我们的人工智能模型也做得比较好。我们少两个数量级数据的情况下,性能达到甚至超过了各大知名模型厂商。我们通过Colossal-LLaMA-2的技术方案,帮助客户部署了他们自己的大模型。客户的疑虑是布置大模型的成本很高,我们只需要通过几千块钱的预算,可以快速迭代出高质量的私有化模型,他们就很愿意尝试,通过Colossal-LLaMA-2,我们帮助客户落地他们结合私有数据的业务大模型,见到效果后,他们也有信心做更大的模型。虽然只有70亿参数成本便宜,但也能够测试一些初步的效果,未来几百亿参数也不是太难。包括Colossal-LLaMA-2是排在全球开源社区的第一位,世界顶级AI技术峰会上的模型列表也包括了Colossal-LLaMA-2。

  最后我简单介绍一下我们公司的产品。我们公司很荣幸也在成立两年多的情况下收获了很多融资,我们的投资人包括红杉、华为、新加坡电信等等,通过跟这些渠道合作,我们打造了云平台和一体机。Colossal-AI云平台就是希望客户用两个初始工程师就可以取代原来30个AI专家加上一千个GPU干的事情,我们公司通过软硬一体的方案,把这个算力成本降到最低,我本来训练一个ChatGPT需要一千万美金,现在在云平台上400万美金、300万美金可以做,本来我有一亿人民币的预算训10个模型,我们现在可以训20个甚至10倍参数量的模型,可以帮助客户把模型训练质量更好,帮助用户赚更多的钱。我们也打造了Colossal-AI一体机,让客户可以一键部署自己的产品,我们的很多模型在一体机里都有,各位如果感兴趣可以看一下我们公司的二维码,我们公司的代码基础部分都是开源的,第一个就是Colossal-AI的系统,开发者可以自由尝试和验证。

  谢谢大家。

  新浪声明:所有会议实录均为现场速记整理,未经演讲者审阅,新浪网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。

文章版权及转载声明

作者:xinfeng335本文地址:http://www.bjtaoli.com/post/4963.html发布于 2023-11-23
文章转载或复制请以超链接形式并注明出处

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享