杨菁编译自MEET2023
量子比特 | 公众号QbitAI
人们对付算力的需求比以往更加强烈,乃至有人说:谁拥有了算力,谁就拥有了未来。
Metaverse、AIGC、AI for Science的涌现为高性能打算(HPC)增长了动力。
在诸多寻衅和机遇并存、交织确当下,人工智能领域领军人物、中国工程院院士、清华大学打算机科学与技能系教授郑为民在MEET2023聪慧未来大会上分享了他的见地和思考。
估量未来2到4年内将会涌现HPC(高性能打算)+AI+大数据领悟的做事器。
AI for Science的涌现,让HPC+AI的领悟成为刚需;而数据处理是AI的根本,因此数据与AI的领悟也是迎刃而解。
他乃至开玩笑说,想要得到高性能打算领域的戈登贝尔奖,必须要有AI算法,如果你没有AI算法,你就拿不到奖。
这虽然是一句玩笑话,但实在是一种趋势。
此外,他还谈到了人工智能打算机设计的三大平衡原则、AI基准设计的四大目标,以及如何通过并行方法加速大规模预演习模型。
为了充分表示郑为民院士的分享与思考,量子位在不改变原意的情形下对其演讲内容进行了编辑整理。
关于MEET智能未来大会:MEET大会是量子位主理的智能科技领域顶级商业峰会,致力于探索前沿技能的落地与行业运用。今年,数十家主流媒体及直播平台对MEET2023大会进行了宣布及直播,吸引了超过300万行业用户线上参与,全网总曝光量累计超过2000万。
演讲要点
(以下为郑为民院士演讲全文)
人工智能打算机设计的三大平衡原则
本日我给大家讲一下我们团队针对人工智能做的三件事,分别是人工智能和打算根本举动步伐的设计、评估和优化。
首先,HPC(高性能打算)和AI的运用是不同的。
HPC紧张运用于科学与工程打算、景象预报、核聚变仿照、飞机设计等,它的打算精度是双精度浮点打算,64位乃至128位,以是加减乘除运算都很快,这是最紧张的差异。
人工智能打算机是半精度乃至是定点的,8位、16位或32位。
以是这两个机器该当是不一样的,而且人工智能打算机也是近两年才涌现的,以是我们团队设计了一台可以更好处理人工智能问题的打算机,它长什么样子呢?
我们团队的第一个贡献是人工智能打算机设计中的平衡原则。
第一,打算平衡的设计。人工智能是处理单精度还是定点数,你的机器是不是只须要做定点数和单精度?但实在不然,虽然我们紧张考虑半精度打算,但是也要考虑双精度打算能力。
在过去的两年里我学到了很多:
1)双精度与半精度打算性能比为1:100,性能良好。
2)人工智能打算机不能只做CNN,还须要演习大型模型。
因此,提出了可变精度平衡设计观点,这常日须要额外的通用打算。
第二,网络的均衡设计。由于这个机器非常弘大,是由几千、几万个小机器连接在一起的,以是网络也必须设计得好。如果只是CNN的话,很随意马虎做,但是演习也要考虑。这种情形下,如何均衡网络设计也很主要。
第三,存储,也便是IO子系统的设计。我们知道现在每台机器都有一个SSD,那么怎么把各个SSD组合成一个大的分布式文件系统呢?这个也是很主要的。
因此我们提出了这三个平衡设计原则,被很多公司采取。现在海内已经有20多个城市陆续上线了人工智能超算中央,让算力无处不在、触手可及,而它们大多都利用了平衡设计的思想。
当前行业趋势是HPC+AI+BigData的领悟,过去HPC是一台机器,AI是另一台机器,大数据处理是第三台机器,这三台机器各不相谋,但现在这三台机器正在领悟。
我为什么这么说呢?
一方面,AI for Science的涌现使得HPC方案能够包含AI算法,因此HPC+AI的领悟成为刚需。
我曾经开玩笑说,在高性能打算领域,如果你想得到戈登贝尔奖,你必须有AI算法,如果你没有AI算法,你就得不到奖。这是一句玩笑话,但实际上是一种趋势。
另一方面,数据处理是AI的根本,数据和AI的领悟也是自然而然的事情,以是我估计2到4年后就会涌现HPC、AI、BigData三者领悟的做事器。
这是我们课题组的第一个贡献,这便是人工智能打算机该当是什么样子的。
AI基准设计应实现四个目标
第二个贡献是大规模人工智能算力基准测评程序AIPerf。
这意味着什么?传统HPC有一个评估程序叫Linpack,用来评估TOP500,但不能用来评估AI打算机。Linpack是用来衡量64位乃至128位加减乘除运算速率的,而现在的AI打算机都是16位、32位,乃至8位的,完备不一样。
以是我们须要做一个能够回答这个问题的AI算力基准测试程序,希望有一个大略的评估指标来判断哪个别系的AI算力更强。
现在有没有干系的评估量划呢?实在有的,但是都不是很得当。
例如,DeepBench 针对的是单芯片,不适宜整机评估。Mobile AI Bench 针对的是移动硬件上的模型演习评估,而不是全体系统。MLPerf 不可扩展。因此,我们决定自己做一个。
要设计AI基准,必须实现以下四个目标:
1. 统一评分。我们希望运行基准测试并获取单一值,而不是一份报告,这彷佛很费力。
2. 问题规模多变。Benchmark 可以测试 4 个节点的机器,也可以测试 1000 个、20000 个节点的机器。大规模做起来比较困难。
3.具有实际的人工智能意义。不能只讲加减乘除,否则不能表示人工智能的问题。尤其要表示人工智能问题中的神经网络运算和自然措辞处理能力。
4、评估程序中包含了必要的多机通信,由于评估程序是一个由多台机器连接在一起组成的大系统,须要通信。
末了,由清华大学牵头的团队创建了一个AIPerf来进行测试,并在2020年11月15日首次发布。我们希望AI打算性能有一个AIPerf 500,就像HPC有TOP 500一样。
现已连续三年每年发布该排行榜,得到浩瀚单位和企业的认可。
大规模预演习模型的三种并行加速方法
第三个贡献是针对数百万亿参数的超大规模演习模型的加速方法。
举个大略的例子,学术界已经达成共识,模型规模和模型效果是正干系的。GPT有1.1亿个参数,GPT-3有1750亿个参数,悟道2.0有1.75万亿个参数,我们的八卦炉有174万亿个参数。该当说参数越多,效果越好,越靠近人类智能,但是有一个问题,便是演习数据越多,须要的算力就越大。
我们看左图的SAT(美国大学入学考试)任务,如果模型参数达到100B(相称于1000亿个参数),那么模型就能以70%的准确率完成SAT。
因此探索参数值较大的模型的效果具有主要的科学意义。
但随着模型的变大,问题也随之而来,海内很多公司做的模型都很好,但如何把模型装到机器上,还是存在一些问题。
比如我们在新一代神威架构芯片上安装了八卦炉模型。
图中可以看到,核心组有64个核心,加上玄色的主核,一共有65个核心。一个CPU有6个这样的部件:CG0,CG1,CG2,CG3,CG4,CG5,这6个通过环形网络连接在一起。我们称它为一个节点,把它整合成一块。一个节点大约有390个核心。一共256个节点组成一个超级节点。超级节点内部通讯是直连的,超级节点之间的通讯必须经由上层网络。
因此256个节点之间的通信非常快,可以一步完成,但超级节点之间的通信相对较慢。
然而在本机上运行大型模型时问题就涌现了。目前所有预演习的模型都是 Transformer,而 Transformer 构造由 embedding 层、attention 层和前馈网络层组成。中间的 attention 层和前馈层会经由 N 次迭代,全体操作基本便是矩阵乘法。
如果一个模型能在单CPU上运行,那是最大略不过了,但是CPU的打算能力和内存有限,模型不可能那么大,以是大模型的演习一定是多机分布式的,这就涉及到各种并行的方法。
第一是数据并行,如果全体模型有两个节点,一个模型节点0,一个模型节点1,那么全体模型便是数据并行的,一半的数据用来演习学习。但是要把稳,由于只输入了一半的数据,以是演习结果并不是终极的结果。以是中间须要用到AII-Reduce,AII-Reduce 又做了大量的通信,使得全体事情变得非常繁芜。
第二种是模型并行,把全体模型切分为两半,一半在模型节点0,另一半在模型节点1,全体数据用来演习,演习之后的结果并不是终极结果,由于只演习了一半的模型。还有AII-Gather,也是用来通讯的。
第三类,专家并行,与数据并行、模型并行一样,也须要通信。
现在如果你只有一种方法,你该用哪种并行方法呢?实在这个跟打算机构造有关系,如果各个打算机之间的通讯很快,那么可以用数据并行;如果你的通讯很慢,那么就要考虑模型并行或者专家并行。
那么这些模型如何和实际数据、机器状况相匹配呢?这就涉及到软件和硬件的合营。
我们在新一代申威机上采取了“拓扑感知的稠浊并行模式”。
详细来说,如前所述,该架构的节点内部通信很快,但是超级节点之间的通信相对较慢,因此在稠浊并行模式下,通信超级节点内部采取数据并行,超级节点之间采取专家并行或者模型并行。
此外,还有内存大小和内存访问等问题:如何让内存访问更快,负载更均衡?
做大规模模型演习的时候,软硬件均匀每小时都会出错一次,不要以为机器不靠谱,现在的水平已经很不错了。以是一样平常都会有checkpoint,如果写得不好,这个任务要三个小时,怎么加速呢?末了我们10分钟就做完了。
现在我们把我们的模型,特殊是并行演习的模型开源了,放到了开源系统FastMOE里面,现在已经得到了业界的广泛认可,阿里的淘宝、天猫,腾讯的端到端措辞模型,都用到了我们的并行系统,百度的PaddlePaddle的MOE模块也是用到了我们的FastMOE。
综上所述,第一,人工智能算力是当古人工智能领域发展的关键。
二、团队对人工智能的三点小贡献:
1)我们提出了AI打算根本举动步伐的架构和均衡的设计原则,现在全国20多个城市的20多个人工智能超算中央,基本都采取了我们的设计思想。
2)我们做了一个测评,也便是人工智能基准程序AIPerf,现在每年都会发布500人的榜单,在国内外产生了一定的影响。
3)如何快速演习大型模型?特殊是在数据并行、模型并行和专家并行方面。我们做了一个库并开源了。现在业界都在用我们的东西来加速大型演习模型的演习。
因此我们团队对人工智能做出了这三点小贡献,希望能够推动人工智能的发展。
如果有不对的地方请大家批评示正,感激!
- 超过-
量子比特QbitAI·今日头条签约
关注我们,第一韶光获取最新前沿科技资讯