机器学习领域权威“跑分”MLPerf v1.1训练榜单已出炉。
这次,在BERT模型的成绩表上有一个“异常”的数字:1196.638(分钟),来自谷歌。
怎么?谷歌训练一个BERT要接近1天,别家都只要几分钟?
NONONO!
这其实是谷歌从未透露的巨型版本BERT,参数规模有4810亿,不是别人只有几亿参数那种的BERT。
它也是谷歌今年在MLPerf“非标准区”提交的一个作品:
一共花了2048块TPUv4,约20小时训练而成!
标准BERT模型(BERT Large)参数规模只有3.4亿,而此次4810亿的巨型BERT是有史以来最大的一个版本。
这俩之间直接差了好几个数量级。
而谷歌表示,训练大型模型正是公司的“重中之重”(主要用于云服务)。
所以此次他们根本没有参加任何标准分区里的跑分评比,只在非标准区“释放了自我”。
MLPerf竞赛有俩分区:
Closed区也就是标准区,参赛商在ResNet-50等规定模型上跑分;
Open区也就是非标准区,参赛商可以尝试任何规定以外的模型和方法来达到目标性能。
在大多数参赛商都“挤”在标准区训练小规模的模型时,谷歌员工“凡尔赛”道:
“在短短几秒内‘豪掷’4000块芯片来训练巨型BERT才是真的酷(爽)。”
谷歌由此也希望MLPerf基准测试能引进更多的大模型,因为他们觉得现实中才不会像非标准区的参赛作品那样用那么多芯片来训练那么小的模型。
而此次的巨型BERT性能也不赖,它的预测准确率为75%,比MLPerf要求的72.2%要高。
同时,和标准区其他参赛商一样,谷歌也用较少的文本数据样本来达到目标精度。
具体来说,标准区要求一个程序使用近5亿个token序列进行训练,每个序列的长度大多为128个token。
而Google只使用了大约2000万个序列,不过每个序列的长度为512token。
另外,完成这次工作的2048块TPU系统一开始也是为了迎合公司的生产和研发需要,所以它并未“束之高阁”——目前已用于Google Cloud服务。
英伟达在标准区“战绩显赫”
其余MLPerf结果,主要在“标准区”,一如既往,英伟达战绩最高。
比如它使用最新一代GPU A100的系统在训练ResNet-50花费的时间上包揽前四,其中最快只需21秒——比今年6月24秒的最高成绩还快。
当然,此战绩一共花了4320个A100,在1080个AMD的EPYC x86处理器的帮助下并行完成。
但在不拼芯片和主机处理器的情况下,竞争对手可就碾压起英伟达了。
其中英特尔Habana用256个Gaudi加速芯片,只需3.4分钟就训练好ResNet-50。
Graphcore则只需3.8分钟,用了256块IPU加速器芯片和32块AMD EPYC主机处理器。
英伟达在配备16个EPYC处理器的64路A100系统下,花了4.5分钟。
打败了英伟达的Graphcore,则强调自己最看重性能和成本之间的平衡。
就比如Graphcore在16路系统上训练ResNet-50耗费28分钟,比英伟达DGX A100系统快一分钟,但他们用到的POD-16是DGXA100成本的一半。
此次参赛的其他厂商中,三星在电子训练普通版BERT的速度上获得了第二名,仅为25秒。花了256个AMD芯片和1024个英伟达A100。
微软的Azure云服务首次参赛,它使用192个AMD EPYC处理器和768个A100在医疗数据上训练图像分割模型获得了最高分。
同时Azure也表示后续也会像谷歌那样在非标准区提交一些成绩,虽然微软和英伟达在此前不久发布了目前最大的模型“威震天-图灵”,但他们表示:
许多公司希望将人工智能用于专一目的,而非需要4000块芯片才能运行的巨型语言模型。
更多评分结果大家可以参考官网数据。
榜单地址:
https://mlcommons.org/en/news/mlperf-training-v11/
参考链接:
https://www.zdnet.com/article/google-uses-mlperf-competition-to-showcase-performance-on-gigantic-version-of-bert-language-model/
“