人工智能的深度学习世界痴迷于规模。
OpenAI 的 GPT-3 等深度学习程序继续使用越来越多的 Nvidia 和 AMD GPU 芯片——或新型加速器芯片——来构建越来越大的软件程序。 研究人员争辩说,程序的准确性随着规模的增加而增加。
周三,MLCommons 报告的最新行业基准测试结果充分展示了对尺寸的痴迷,该结果为衡量计算机芯片处理深度学习代码的速度设定了标准。
谷歌决定不提交任何标准的深度学习基准测试,这些测试包括在该领域行之有效但相对过时的程序。 相反,谷歌的工程师展示了谷歌 BERT 自然语言程序的一个版本,其他供应商没有使用过该程序。
用于衡量竞争性能的基准套件 MLPerf 报告了两个部分的结果:标准的“封闭”部分,大多数供应商在 ResNet-50 等完善的网络上竞争; 和“开放”部门,让供应商尝试非标准方法。
正是在开放部门,谷歌展示了一台使用 2,048 个谷歌 TPU 芯片的计算机,版本 4。该机器能够在大约 19 小时内开发出 BERT 程序。
BERT 程序是一个具有 4810 亿个参数的神经网络,此前并未公开。 它比流通中的标准版 BERT(称为“BERT Large”)大三个数量级以上,后者只有 3.4 亿个参数。 拥有更多的参数通常需要更多的计算能力。
谷歌表示,这项新颖的提交反映了规模在 AI 中越来越重要。
“我们这一次的想法是,我们一直热衷于确保我们向 MLPerf 提交的内容与我们的内部需求以及 ML 行业的需求保持一致,”负责机器学习基础设施的 Aarush Selvan 说。 谷歌,在媒体发布会上。
“因此,训练大型模型——参数数量级为数百或数千亿,甚至万亿参数及以上的模型,在谷歌内部变得越来越重要——这是我们研究和生产的一大重点 ——同时也是为了我们的云客户。”
MLPerf 测试套件是 MLCommons 的创建,MLCommons 是一个行业联盟,针对机器学习的两个部分发布多次计算机年度基准评估:所谓的训练,通过在多个实验中改进其设置来构建神经网络; 和所谓的推理,完成的神经网络在接收到新数据时做出预测。
周三的报告是训练阶段的最新基准测试。 它遵循 6 月份的先前报告。
MLCommons 网站上的新闻稿中讨论了完整的 MLPerf 结果。 提交的完整数据可以在网站上发布的表格中看到。
谷歌的 Selvan 说 MLCommons 应该考虑包括更多的大型模型。 他说,像 ResNet-50 这样的旧的、较小的网络“只给了我们一个代理”来衡量大规模的训练性能。
“在短短几秒钟内投入 4,000 个芯片来训练 BERT 真的很酷,”Selvan 说,他指的是大多数供应商在 Closed 部门关注的较小版本的 BERT。
“并展示了可扩展性的某些方面,但它实际上只是一个代理,因为在现实生活中,你永远不会使用那么多芯片来训练这么小的模型。”
Selvan 说,缺失的部分是系统变大时所谓的效率。 他告诉 ZDNet,谷歌能够以 63% 的效率运行其巨大的 BERT 模型,这是通过相对于理论容量每秒执行的浮点运算数来衡量的。 他说,这比英伟达在与微软合作开发的 Megatron-Turing 语言模型的开发中取得的第二高的行业成绩 52% 还要好。
“展望未来,我们认为在 MLPerf 竞赛中拥有某种大型模型基准真的很棒,”Selvan 说。
MLCommons 的执行董事 David Kanter 表示,拥有大型模型的决定应该留给 Commons 成员集体决定。 然而,他指出,使用小型神经网络作为测试可以让更多的参与方参与竞争。
“基准的要点是公平和具有代表性,但也不会让运行它的任何人破产,”坎特说。
“理论上,我们可以让训练 GPT-3 成为 MLPerf 基准,”Kanter 补充道,他指的是 OpenAI 去年推出的 1750 亿参数语言模型,作为最先进的自然语言模型。
“挑战在于,训练 GPT-3 在计算上非常昂贵。它需要数千万美元。”
相比之下,MLPerf 的标准测试(其代码可供所有人使用)是任何 AI 研究人员都可以获取的资源来复制测试——而无需采用奇特的计算方法,坎特说。
“通过这种方式,它为整个社区生产了这些非常有价值的工程产品,并有助于推动行业向前发展。”
Selvan 在一封电子邮件中告诉 ZDNet,Google 没有计划发布新颖的 BERT 模型,并将其描述为“我们只是为 MLPerf 所做的事情”。 Selvan 说,该程序类似于谷歌今年早些时候在高度并行化神经网络研究中概述的设计。
尽管 4810 亿参数的 BERT 程序很新颖,但它代表了现实世界的任务,因为它建立在现实世界的代码之上。
“我们确实相信我们提交的这些基准测试,因为它们利用了堆叠式 Transformer 架构,在计算特性方面与已发布的现有大型语言模型相当现实,”Selvan 说
Selvan 解释说,与 MLPerf 中较小的提交一样,巨大的 BERT 模型经过训练可以产生具有一定准确性的结果。 在这种情况下,预测准确率为 75%,高于 MLPerf 要求的 72.2%。
谷歌程序还依靠较少的文本数据样本来达到与其他供应商的封闭除法结果相同的准确性。 封闭部分需要一个程序来训练近 50 亿个标记序列,每个序列的长度大多为 128 个标记。 Google 程序仅使用大约 2000 万个标记进行训练,但每个序列的长度为 512 个标记。 谷歌的一篇博文对这项工作进行了更详细的讨论。
谷歌用来完成这项工作的 2,048-TPU 系统目前可作为谷歌云服务使用。
其余的 MLPerf 结果(主要在封闭组)展示了 Nvidia 和其他供应商在减少训练标准版本的 ResNet、BERT 和其他任务所需的时间方面继续取得进展。
Nvidia 一如既往地占据了最高分。 例如,使用其最新一代 GPU A100 的计算机在训练 ResNet-50 的最快时间中位居前四,最快仅为 21 秒。 在 1,080 个 AMD EPYC x86 处理器的帮助下,4,320 个 A100 并行运行。 结果比 Nvidia 在 6 月报告中记录的 24 秒有所改善。
然而,在系统使用较少 Nvidia 芯片和主机处理器的情况下,竞争对手的得分高于 Nvidia。 英特尔的 Habana Labs 在 ResNet-50 中排名第五,其中 256 个 Habana 的 Gaudi 加速器芯片由 128 个英特尔至强处理器监督。
总部位于英国布里斯托尔的初创公司 Graphcore 在 6 月份的双处理器系统 BERT 训练报告中取得了最佳成绩,凭借其使用 256 的新版 IPU-POD 计算机在 ResNet-50 上排名第六 其 IPU 加速器芯片和 32 个 AMD EPYC 主机处理器。
Habana 和 Graphcore ResNet-50 结果分别为 3.4 分钟和 3.8 分钟。 相比之下,Nvidia 的第 7 名参赛作品需要 4.5 分钟,这是一个具有 16 个 EPYC 处理器的 64 路 A100 系统。
与 Graphcore 首次参与的 6 月报告一样,该公司强调了在整个系统的性能和成本之间取得平衡的重要性。 该公司表示,在其 16 路系统上,时间到时间训练 ResNet-50 的时间为 28 分钟,比成本高得多的同类 Nvidia DGXA100 系统快一分钟。
“我们的 POD-16 优于 DGXA100……而且它的标价是 DGXA100 的一半,”Graphcore 的首席软件架构师 Dave Lacey 在媒体简报会上说。
Graphcore 表示,大部分成本优势来自于英特尔或 AMD x86 主机处理器相对于 IPU 芯片的比例较小。
Graphcore 在训练标准 BERT 模型的最高分中排名第六,仅次于 Nvidia 芯片,将近 7 分钟,而排名第五的 Nvidia 系统为 3 分钟。 然而,Graphcore 系统仅使用了 4 个 AMD EPYC 处理器,而基于 Nvidia 的系统则使用了 16 个。
“主机处理器价格是系统成本的重要组成部分,”莱西说。 “就像任何昂贵的资源一样,你只使用你需要的东西。”
当被问及谷歌关于大型神经网络任务的观点时,Lacey 说 MLPerf 的主要结果可以很好地代表现实世界的任务。
MLCommons 主席 Kanter 表示,除了个别供应商的成就之外,MLPerf 基准测试还展示了整个芯片行业在加速神经网络性能方面的成就。
“如果你观察 MLPerf 训练的最佳结果随时间变化的轨迹,你会发现它比摩尔定律快得多,”坎特说,他指的是几十年来晶体管密度大约每 18 倍翻一番的半导体经验法则 个月,导致业绩翻番。
“通过优化架构、系统规模、软件和模型分区,”Kanter 说,供应商正在设法将神经网络性能提高到比摩尔定律的历史轨迹快 11 倍。
基准套件继续获得供应商的支持,有更多的参与者和更多的提交。 所有基准报告的结果总计 175,高于 6 月份报告中的 144。
这次有新的供应商加入竞争。 例如,三星电子提交了其超级计算机使用 256 个 AMD 芯片和 1,024 个 Nvidia A100 的结果。 该系统在一些非标准软件调整的帮助下,在训练普通版 BERT 的所有系统中得分第二快,仅需 25 秒。
微软的 Azure 云服务也是这次的新来者,它报告了 19 项提交的结果,这些提交使用了 AMD 处理器和 Nvidia A100 的各种配置。 在八项基准测试中的七项中,Azure 赢得了前五名中的两项。
一个 Azure 系统在使用 192 个 AMD EPYC 处理器和 768 个 A100 训练医疗数据图像分割模型(KiTS19 挑战)方面得分最高。
“我们希望使超级计算民主化,”Azure 高性能计算和人工智能负责人 Nidhi Chappell 告诉 ZDNet。
她说,在云中制作商业可用的系统,例如 768 路 AI100 系统,“汇集了 HPC 和 AI 的精华,而不是采用服务于所有工作负载的香草云。”
“AI 培训是一个 HPC 问题,我们在 HPC 方面的专业知识帮助我们大规模构建 AI,”她说。 “我们希望建立针对大规模优化的基础设施。” 这包括具有多达 80,000 个内核的系统。
Chappell 说,参与 MLPerf 的一个重要原因是要证明这种大规模工作在云环境中的表现与在内部部署环境中的表现一样好。
“我们已经证明的是,我们已经能够掩盖云虚拟化的开销;这种开销在云中几乎是遥不可及的,”因此它不会拖累性能,她说。
当被问及大型模型与标准 MLPerf 任务时,Chappell 表示“这只是时间问题”,Azure 会提交一些类似于谷歌在开放部门所做的非标准大型作品。
“它会发生。”
与此同时,封闭部门的标准 MLPerf 测试也很有用,她说,因为它们“显示了 AI 的发展速度有多快;这是一个不断优化的过程。”
Chappell 在 Nvidia 的合作者、Nvidia 数据中心产品的高级产品经理 Shar Narasimhan 在同一份简报中表示,MLPerf 的标准测试的优点是就像一条统一的跑道,许多运动员在一个水平的场地上比赛。
Narasimhan 说:“这为每个人提供了参加完全相同的比赛并比较结果的机会。” “当我们看奥运会成绩时,我们会发现一个多世纪以来我们的赛道完全相同,这让你可以将 100 年前的比赛与 [牙买加短跑运动员] 博尔特的成绩进行比较。”
当然,有了世界上最大的已发布 NLP 模型 Megatron-Turing,Nvidia 和 Azure 似乎可以像 Google 那样提供新颖的大型模型提交。
“我们无法将这些模型与其他任何人进行比较,”Narasimhan 解释说,因此很难使此类工作在 MLPerf 的背景下有用。 Nvidia 尚未承诺任何未来的大型模型提交。
Narasimhan 说,就行业而言重要的是,许多公司希望将 AI 用于特定目的,“而不是需要 4,000 个芯片才能运行的巨型语言模型。” 他说,较小的基准可用于预测工作量和性能。
谷歌的 Selvan 表示,谷歌打算在未来继续向 MLPerf 的封闭部门基准提交。
“明年我们会看到每个人都回到封闭赛区——希望如此,但我们不能保证,但我们计划在那里,”他说。