5300亿参数,SOTA屠榜!最大NLP预训练模型

Posted 人工智能博士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5300亿参数,SOTA屠榜!最大NLP预训练模型相关的知识,希望对你有一定的参考价值。

点上方人工智能算法与Python大数据获取更多干货

在右上方 ··· 设为星标 ★,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于 :新智元

啥?NLP预训练模型的规模又被刷新了?

就在昨天,微软和英伟达联合发布了5300亿个参数的Megatron-Turing自然语言生成模型(MT-NLG)。

号称同时夺得单体Transformer语言模型界「最大」和「最强」两个称号。

大!真的大!

MT-NLG汇集了微软DeepSpeed项目和英伟达Megatron项目在并行训练和超大型人工智能模型的训练优化的成功经验。

作为微软Turing NLG 17B和英伟达Megatron-LM的后继者,MT-NLG的参数量是现有的最大英文语言生成模型(GPT-3)的3倍,并在各种自然语言任务如:完形填空、阅读理解、常识推理、自然语言推理、词义消歧中纷纷屠榜。

基于105层Transformer的MT-NLG在zero-shot、one-shot和few-shot方面对现有的SOTA模型进行了改进。

近年来,在大规模计算、大数据集以及训练模型的先进算法和软件的推动下,基于Transformer的语言模型在自然语言处理(NLP)任务中硕果连连。

因为具有更多模型参数、更多训练数据和更多训练时间,语言模型获得了对语言更丰富、更细致的理解。因此,它们在许多自然语言处理任务都取得了非常高的准确率,在很多数据集上也展现出了不错的zero–shot或few-shot泛化性能。

最先进的自然语言处理模型中的参数量正在以指数速度增长,这些大模型在自然语言处理的下游应用包括:摘要、自动对话生成、翻译、语义搜索和代码自动完成等任务中攻城略池。

大而不强,是训练方式不当

训练大模型很有挑战性,一个GPU内存再大,也不可能吃下拟合这些模型的全部参数;而且,如果不特别注意优化算法、软件和硬件堆栈的设计,大量的计算操作可能会导致训练到地老天荒。

英伟达和微软通过将最先进的用于GPU加速训练的基础设施与顶级的分布式学习软件堆栈相融合,实现了前无古人的惊人效率和稳定性,再加上拥有数千亿token的高质量自然语言训练语料库作为模型训练的食谱,这一切努力都为了让训练MT-NLG变得可行。

豪华硬件+3D并行计算,全力输出

模型训练是在基于NVIDIA DGX SuperPOD的Selene超级计算机集群上以混合精度完成的,该计算机由560台DGX A100服务器提供动力,通过HDR InfiniBand联网。

每个DGX A100都有八个NVIDIA A100 80GB张量核心图形处理器,通过NVLink和NVSwitch完全相互连接,提供海量计算能力,可以在合理的时间范围内训练具有数万亿参数的大模型。

然而,要想充分挖掘这些超级计算机的全部潜力,需要跨数千个GPU并行处理,对内存和计算的高效和可扩展都提出了更严苛的要求。 

单独来看,现有的并行策略(如数据并行、管道并行或张量切片)在内存和计算效率上都是有所权衡,不能用于训练MT-NLG这种规模的模型。

这次,英伟达Megatron-LM和微软DeepSpeed强强联手,创建了一个高效且可扩展的三维并行系统,将数据、管道和基于张量切片的并行性来个大杂烩。

具体地说,Megatron-LM的张量切片来缩放节点内的模型,并使用DeepSpeed的流水线并行性来跨节点缩放模型。

例如,对于5300亿模型,每个模型副本会跨越280个NVIDIA A100 GPU,在一个节点内有8个张量切片,节点间有35道流水线并行,再被DeepSpeed的数据并行进一步扩展到数千个GPU。

这样一台经过精心打磨的计算加特林拥有让人叹为观止的系统端到端吞吐量,在Selene超级计算机集群上的420台DGX A100服务器上,设置批处理大小为1920,可以观察到迭代时间最低缩短至44.4秒。这相当于每个GPU都放飞自我,直接飙到每秒113万亿次浮点运算。

大餐开宴

MT-NLG训练采用15个数据集,总共包含3390亿个token。 

主菜的原料是来自之前的工作The Pile,萃取其精华,构建了从Books3到GitHub,11个数据集。

小菜是从两个最近的Common Crawl (CC)原始html文件中提取的文本,使用在高质量数据上训练好的分类器对提取的文档进行评分,再根据文档的评分过滤文档。

为了使训练多样化,最后附上RealNews和CC-Stories两个数据集作为饭后甜点。

上菜上重这种事偶尔也会发生,相同的内容可以出现在不同数据集的多个文档中。在文档级别,使用最小哈希LSH计算稀疏文档图和其中的相关组成可以有效识别重复文档。

训练使用的数据集

新晋世界第一?拉出来遛遛!

众所周知,一个强大的预训练语言模型(LM)无需微调就可以在各类NLP任务中取得相当优异的结果。

微软和英伟达在测试MT-NLG零样本和小样本的学习能力方面,选择了横跨五个不同领域的八个任务:

  1. 在文本预测任务LAMBADA中,预测给定段落的最后一个词。

  2. 在阅读理解任务RACE-h和BoolQ中,根据给定段落生成问题的答案。

  3. 在常识推理任务PiQA、HellaSwag和Winogrande中,每个任务都需要用一定程度的「常识」,而不是语言的统计模式来解决。

  4. 对于自然语言推理,ANLI-R2和HANS针对过去模型的典型失败案例。

  5. 词义辨析任务WiC从上下文中评估多义词的理解。

测试在开源项目lm-evaluation-harness基础上进行了适当的修改,从而与微软和英伟达之前的工作更加接近。

评估准确率结果

MT-NLG在PiQA和LAMBADA测试集上刷新了SOTA,并在剩余类别中超过了其他的同类模型。

此外,MT-NLG相比于之前的模型在训练上需要更少的token,也就是说MT-NLG具备更快的学习能力。

除了基准任务的综合指标外,微软和英伟达还对模型的输出进行了定性分析,并得出了有趣的发现:MT-NLG可以从上下文中推断出基本的数学运算(样本1),即使符号被严重混淆(样本2)。虽然远未达到宣称的算术能力,但该模型似乎已经超越了对算术的单纯记忆。

在「不同句法结构的自然语言推理」任务中,MT-NLG的表现也比其他模型更加出色,而且无需进行微调。

这是来自HANS测试集的任务,一个包含简单句法结构的任务会被作为问题提出来,并提示模型给出答案。尽管这些结构很简单,但现有的自然语言推理(NLI)模型往往很难处理这样的输入。而微调的模型经常从NLI数据集中的系统性偏差中发现某些句法结构和蕴含关系之间的虚假关联。

关于推断数学运算和不同句法结构下自然语言推理的样本

那么,代价是什么呢?

这些大模型从学术角度来看,都令人印象深刻,但造价同样令人印象深刻。

例如,OpenAI的GPT-3的训练数据集大小为45TB,足以填满90个500GB硬盘,在训练过程中需要每秒3.1423^23次浮点运算(FLOPS)。

假设OpenAI在一组每秒可以进行28万亿次浮点运算的Nvidia V100 GPU上进行运算,那么单次训练的成本就会达到460万美元。一个拥有15万亿次算力的英伟达RTX 8000 GPU虽然便宜,但完成训练需要665年。

微软和英伟达表示,在训练MT-NLG时,每GPU每秒需要达到113到126万亿次运算,成本可能高达数百万美元。

当处理万亿字节规模的数据集时,存储成本也会迅速增加。举一个极端的例子,根据CrowdStorage的数据,特斯拉自动驾驶团队积累的1.5千兆字节的视频片段在Azure中存储三个月的成本将超过6.75万美元。

不过好消息是,在过去几年里,机器学习的成本一直在下降。

一项OpenAI 2020年的调查发现,自2012年以来,在ImageNet图像分类任务中将模型训练到相同的图像分类性能所需的计算量每16个月减少一半。

大模型——正确的道路?

通常认为,模型的参数越多,它可以完成的任务就越复杂,性能也越好。在机器学习中,参数是模型在进行预测时使用的内部配置变量,通过不同的参数可以对不同的问题进行拟合。

但是越来越多的研究对这个概念提出了质疑。

例如,谷歌的研究人员开发了一个参数量远小于GPT-3的模型——微调语言网络 (fine-tuned language net, FLAN)

https://arxiv.org/pdf/2109.01652.pdf

与 GPT-3 的 1750 亿个参数相比,FLAN 拥有 1370 亿个参数,在研究人员对其进行测试的 25 项任务中,有19项超过了zero-shot 175B GPT-3。

FLAN甚至在ANLI、RTE、BoolQ、AI2-ARC、OpenbookQA和StoryCloze上的表现都大大超过了few-shot GPT-3。

自然语言处理研究员、康奈尔大学数据科学家Maria Antoniak表示:「谈到自然语言,更大的模型是否是正确的方法是一个悬而未决的问题。虽然目前一些最好的基准性能得分来自大型数据集和模型,但是将大量数据倾倒到模型中的回报是不确定的。」

Antoniak还表示:「目前这个领域的结构是以任务为中心的,试图在特定的数据集上解决特定的问题。而这些任务通常非常结构化,可能有自己的弱点,因此虽然它们在某些方面有助于我们的领域向前发展,但也可能会约束我们。大型模型在这些任务上表现良好,但这些任务能否最终引导我们实现真正的语言理解还有待商榷。」

对于「偏见」这个一直以来困扰着大模型们的问题,微软和英伟达表示,MT-NLG依然会从训练数据中学到刻板印象和偏见,不过他们也在致力于解决这个问题。

对于生产场景中的应用,微软和英伟达强调使用者必须确保采取适当的措施,例如遵循《Microsoft Responsible AI Principles》中的原则,从而减轻和减少对用户的潜在伤害。

参考资料:

https://developer.nvidia.com/blog/using-deepspeed-and-megatron-to-train-megatron-turing-nlg-530b-the-worlds-largest-and-most-powerful-generative-language-model/

https://www.microsoft.com/en-us/research/blog/using-deepspeed-and-megatron-to-train-megatron-turing-nlg-530b-the-worlds-largest-and-most-powerful-generative-language-model/

https://venturebeat.com/2021/10/11/microsoft-and-nvidia-team-up-to-train-one-of-the-worlds-largest-language-models/https://t.co/md03QzqlxA?amp=1

---------♥---------

声明:本内容来源网络,版权属于原作者

图片来源网络,不代表本公众号立场。如有侵权,联系删除

AI博士私人微信,还有少量空位

如何画出漂亮的深度学习模型图?

如何画出漂亮的神经网络图?

一文读懂深度学习中的各种卷积

点个在看支持一下吧

以上是关于5300亿参数,SOTA屠榜!最大NLP预训练模型的主要内容,如果未能解决你的问题,请参考以下文章

微软英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大!

逆天!5300亿NLP模型“威震天-图灵”发布!

逆天!5300亿NLP模型“威震天-图灵”发布!

自然语言处理ALBERT

NLPCC:预训练在小米的推理优化落地

百度NLP预训练模型ERNIE2.0最强实操课程来袭!附教程