2024年6月5日,以“AI驱动安全”为主题的2024全球数字经济大会数字安全高层论坛暨北京网络安全大会战略峰会(以下简称“BCS大会”)在北京国家会议中心开幕。高文院士发表“鹏城云脑与脑海系列大模型”主旨演讲。以下为演讲实录。
高文:各位领导、各位专家大家下午好!今天是北京网络安全大会,AI驱动的网络安全,怎样用能够自己掌控的AI底座做网络,这对我们来讲都是非常重要的一个前提。
今天想跟大家分享,一是关于平台,要想做这样的底座,首先要有平台,二是有了平台之后,怎样训练一个好的模型,主要从这两方面给大家交流。
第一,平台。
现在要想训练一个大模型,需要有几千块卡甚至上万块卡的平台,这个平台在2020年的时候就已经搭建(4000块卡的平台),起的名字叫做鹏城云脑2,这是1000P的算力,当然鹏城实验室是深圳在网络通信方面,一个国家的战略科技力量,这个战略科技力量有若干个基础设施,云脑是其中一方面,除此之外还有光网,以及面向无线通信的鸿燕,还有面向工业互联网的新网,一共有四个底座,云脑是这几个底座中,专门面向规模人工智能模型训练的底座。
到目前为止已经进展到云脑2的阶段,我们在2018年做的是云脑1,那时候用几百块英伟达的卡搭起了平台,大约有120P的算力,到2020年的时候就用华为的昇腾910、4096颗昇腾920,按照现在的说法是4000多块卡的机器,在2020年10月份就做好了,这是1000P的算力。
我们现在正在推进云脑3的建设,会在今年底完成,大约是两万多块卡的平台,所以云脑1、云脑2、云脑3这一个系列,其实为鹏城实验室做大规模人工智能模型的训练,提供比较强的基础。
云脑除了由4000多块卡构造之外,它还有很多特点,除了卡本身,把这些卡连接起来的网络系统也是非常先进的(包括液冷),除了硬件方面、软件方面,还是全栈完全自主的人工智能训练和计算的平台。
硬件方面采用华为昇腾910第一版(现在叫昇腾910A,当时就叫昇腾910),是2019年出来的,在英伟达的V100之后、A100之前,但总体性能比A100略微弱一点,但在通信方面、数据交换方面,其实比V100要强很多,并不弱于A100,但单颗的算力可能比A100略微弱一点。
在此之上,我们采用了华为的CAN(即AI异构计算架构的深度神经网络训练架构)。
在此之上是编程环境,我们使用的是MindSpore(华为推出的面向人工智能的生态软件框架),开使用的时候还不那么得心应手,这几年下来持续迭代,基本上和国外比较流行的这几个人工智能的编程框架不相上下,并且现在CAN已经提供了一个转换工具,可以把你编的程序花一两个小时很快转到这样一个生态上,就使得你在不同生态上做的东西到这个环境上都可以非常快地切换进来。
在流程管理方面,有一个ModelArts(任务流程管理软件),再往上是整个开源架构的管理,我们采用的是大规模开放共享的开源架构,这个开源平台是在OpenArt平台上做的,而且现在有一个比较好的计算生态调节工具,可以使得你在不同架构上做的东西很容易调节起来。
在安全方面,有些用户希望他们的数据是别人看不见的,我们专门做了一个技术,使得数据可用不可见,只有数据应用者能看得见自己的数据,其他人都看不见,但可以用,在训练的时候就可以做到相对比较安全,而且你训练完了,训练的参数在拿走之前要有一个检验的流程,数据拥有方可以签发允不允许你把这个参数带走,可以有一个工具去分析你的参数里有没有带它的数据,如果分析完了全都是参数,你就可以带走,否则就带不走,必须经过数据拥有方的授权,才有可能把训练的结果带走。
这个技术是从可信数据空间角度做了很多划分,根据你的要求,整机不一样,整个处理流程、授权都有相应的一些对应,有了这个以后,在非常大型的数据中心上做人工智能模型训练就放心得多,而且现在这个工具不仅仅在单一的数据中心,并且多中心都可以进行数据安全性的管理。
到现在为止,我们用云脑2已经训练了一系列大模型,包括大语言模型、视觉模型等,也包括医疗方面的模型等等。
这台机器从2020年的10月份上线以后到现在使用非常饱满,基本上超分,大概超分出去107%,也包括我们自己内部,这个机器我们自己用了不到一半,大部分都分享给了其他合作单位,甚至企业,把它作为一个社会资源开放出去,基本上运行得比较饱满,而且通过超分方式把资源分出去以后,实际使用时也超过了90%的使用率。
这台机器相当于50万台高性能PC组合起来这样一个大型的集群系统,确实对大模型的训练还是起到比较有力的支撑。
现在马上实验的机器是鹏城云脑3,这是2万多块卡的机器,算力是1.6万P,所以这个机器出来之后,将会是全世界单一系统算力最强的机器。
这台机器可以支持万亿级大模型的训练、AI For science,包括对整个经济建设、社会发展各种各样应用的赋能。
有了这台机器,用它训练一些大模型,因为我们是用开源的方式做,训练完了之后就开放出来,希望这些大模型可以向企业,特别是央企或者是安全有关的企业,对它进行赋能,提升人工智能的能力。
这里特别介绍一下脑海系列大模型,为什么要做脑海大模型?因为现在已经有各种各样不同的模型,但是鹏城实验室并不是要参与大模型的竞争,既然我们有了机器,有整理、收集,购买非常多的数据,可以通过不同的迭代和训练,使得模型的效率、性能越来越好。
模型训练完了不是放在仓库里,希望把这个东西交给社会使用,所以考虑了三个模型。
1、7B,70亿参数规模的模型。
2、33B,330亿参数规模的模型。
3、200B,2000亿参数规模的模型。
200B的模型是我们花费资源最多的,这个模型训练4000多块卡跑了七个月才跑出来,所以训练一个模型非常费卡和时间。
这个模型是104层的深度神经网络,2000亿参数规模,为了训练这个我们做了很多并行方面的工作,包括机器内模型的并行,机器间数据的并行等等。
这个模型在训练的时候,我们总结了很多经验教训,真正知道大模型、大机器在做这些工作的时候,到底哪些地方是坑,哪些地方可能会让你掉进去之后,几天、几个星期都出不来,整个把经验都踩了一遍,其中包括集群是不是稳定,算法是不是完建,包括训练出了故障之后,恢复的速度够不够快,包括评测的性能怎么样,所以这个流程经过一年多,我们把它从头到尾走了一遍。
流程走完之后要回馈给社会,其实我们得到很多经验,通过我们的摸索也印证了,现在国外有一个流派,叫做规模法则,要想做一个好的模型,规模一定要到,机器的规模要够,数据的规模要大,只有规模到了才能做出好模型,我们也验证这一东西。所以现在要想训练一个好的模型,这是非常费钱的。
比如说,GPT3、GPT3.5、GPT4,Meta模型等等都很费钱,现在要训练千亿级的集群,大约是千万美元的花费,要想训练万亿级的模型,大约是一亿美元以上的花费,这样的花费使得必须有非常大的机器才能做这件事。
训练模型很花钱,我们自己算了一下,200B的模型大约要花五亿人民币,也就是几万美元的成本,特别是训练大模型需要大花费,现在是2000亿,如果是万亿模型,肯定要接近10亿人民币,或者更多才能训练好一个模型,任何说花很少一点钱就能训练的,肯定是里面做了很多简化,但是性能会打折扣。
除此之外还有33B长窗口模型,为什么做长窗口模型?现在一般的模型可能输入的训练数据,一次窗口是4K到8K(8K比较大),但是一本书都是几十万字,要想训练每次按照8K来做,那么一本书要截成很多段送进去训练。
所谓大模型训练,里面主要是注意力参数的训练,不管跨度有多远,只要这两个东西相关,就可以发生关联,但这是在没有截断的情况下,如果把数据截成8K,第二个8K与第一个8K就没有直接的关系,所以训练的关联度,或者注意力参数不对,但是现在有很多办法可以解决,比如把数据截成8K,可能第一次截按照8K,第二次截串2K、3K再截,这样串几次把数据迭代进去,但这其实是用小马拉大车的做法做。
比较理想的是,一次把一本书全部送进去,那么注意力参数都是对的,如果想把一本书都送进去需要窗口特别长,窗口长会带来另外的问题,要求内存特别大等等,所以训练长窗口这也是大家现在关注的问题,我们知道现在国内有几个创业公司,做长窗口的都非常受关注,估值都非常高,我们训练33B的长窗口,其实是与百川科技一起联手做的,这是已经训练完的,训练的时候也是得到很多经验和教训。总体来说性能训练完了之后,比一般的窗口效果会好很多,有了这个东西我们可以进行各种各样的合作、赋能。
现在为了赋能已经建立起相应的组织,通过开源联合体去做,并且资源在网站上可以自由获取,而且多地有不同的智能计算中心,联合起来进行算力的开放协调,因为我们开放很多问题,通过设立一些基金的形式,来鼓励大家探索,我们又提出算力网的大框架,以此来引导模型。
下面小结一下,要想做大的人工智能工作和任务,需要有底座、有模型,鹏城云脑和鹏城脑海就做了这样的实践,这对中国人工智能的发展可以说是做了很好的尝试。如果大家对这些工作有兴趣,可以到我们的网站上获取相关的资料,甚至获取源代码,谢谢大家!