安装人工智能计算器(安装人工智能计算器的软件)

郑为民院士:科学人工智能的兴起,使高性能计算与人工智能的融合成为必然

杨菁编译自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·今日头条签约

关注我们,第一时间获取最新前沿科技资讯

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年6月19日 下午3:00
下一篇 2024年6月19日 下午3:11

相关推荐