微软英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大!
Posted AI科技大本营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微软英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大!相关的知识,希望对你有一定的参考价值。
编译 | 禾木木
出品 | AI科技大本营(ID:rgznai100)
微软和英伟达联手推出最大、最强的人工智能语言模型:Megatron-Turing自然语言生成模型(MT-NLG)。
微软和英伟达宣布,他们联合推出迄今为止最大和最强的人工智能驱动的语言模型:Megatron-Turing(MT-NLP)。
从公开披露的角度来看,MT-NLP 应该是现存最大的公共模型。
在训练过程一共使用了 4480 块英伟达 A100 GPU ,作为两家公司 Turing NLG 17B 和 Megatron-LM 模型的继承者,MT-NLP 包含5300亿个参数,在一系列广泛的自然语言任务中实现了无与伦比的准确性,例如:
- 完成预测
- 阅读理解
- 常识论证
- 自然语言推理
- 词义消歧
大规模语言模型
近年来,自然语言处理 (NLP) 中基于 Transformer 的语言模型在大规模计算、大型数据集以及用于训练这些模型的高级算法和软件的推动下推动了快速发展。
具有大量参数、更多数据和更多训练时间的语言模型可以获得更丰富、更细致的语言理解。
因此,它们可以很好地概括为有效的零样本(zero-shot)或少样本(few-shot)学习器,在许多 NLP 任务和数据集上具有很高的准确性。 NLP 领域的任务包括摘要、自动对话生成、翻译、语义搜索以及代码自动生成等。当前,SOTA NLP 模型中的参数数量呈指数增长,如下图 1 所示。
图 1. SOTA NLP 模型大小随时间变化的趋势
然而,训练此类模型具有挑战性,主要是以下两个原因:
- 即使是最大的 GPU,也不再可能在内存中拟合这些模型的参数。
- 如果不特别注意优化算法、软件和硬件堆栈,则所需的大量计算操作可能会导致不切实际的长训练时间。
AI 领域的大量创新和突破使训练 MT-NLG 变得可行。 例如,在英伟达和微软合作的一个项目中,研究者们通过将最先进的 GPU 加速训练基础设施与尖端的分布式学习软件堆栈进行融合,实现了前所未有的训练效率。用数千亿的 token 构建了高质量的自然语言训练语料库,并开发了提高优化效率和稳定性的解决方案。
下面,将详细介绍该研究的各个方面以及该方法的结果。
大规模培训基础设施
在 英伟达 A100 Tensor Core GPU 和 HDR InfiniBand 网络的支持下,NVIDIA Selene 和 Microsoft Azure NDv4 等最先进的超级计算集群具有足够的计算能力,可以在合理的时间范围内训练具有数万亿个参数的模型。然而,要充分发挥这些超级计算机的潜力,需要在数千个 GPU 之间实现并行性,在内存和计算上都高效且可扩展。
然而,现有的并行策略(例如数据、pipeline 或 tensor-slicing)在内存和计算效率方面存在以下权衡,无法用于训练这种规模的模型:
- 数据并行实现了良好的计算效率,但它复制了模型状态并且无法利用聚合分布式内存。
- tensor-slicing 需要 GPU 之间的大量通信,所以单个节点以外的计算效率受限,使得高带宽 NVLink 不可用。
- pipeline 并行性可以跨节点有效扩展。然而,为了提高计算效率,它需要大批量、粗粒度的并行和完美的负载平衡,这在规模上是不可能的。
软件设计
通过英伟达 Megatron-LM 和微软 DeepSpeed 之间的合作,创建了一个高效且可扩展的 3D 并行系统,能够将数据、pipeline 和 tensor-slicing 的并行性结合在一起来应对这些挑战。
通过结合 pipeline 和 tensor-slicing 并行性,研究者们可以在它们最有效的范围内操作它们。 更具体地说,该系统使用来自 Megatron-LM 的 tensor-slicing 来扩展节点内的模型,并使用来自 DeepSpeed 的 pipeline 并行性来跨节点扩展模型。
例如,对于 5300 亿模型,每个模型副本(replica)跨越 280 个英伟达 A100 GPU,具有节点内的 8 路 tensor-slicing 和跨节点的 35 路 pipeline 并行性。 然后,我们使用 DeepSpeed 的数据并行性进一步扩展到数千个 GPU。
硬件系统
模型训练是在基于英伟达 DGX SuperPOD 的 Selene 超级计算机上以混合精度完成的,该超级计算机由 560 个 DGX A100 服务器提供支持,这些服务器以完整的胖树配置与 HDR InfiniBand 联网。 每个 DGX A100 有 8 个英伟达 A100 80GB Tensor Core GPU,并通过 NVLink 和 NVSwitch 相互完全连接。 微软为 Azure NDv4 云超级计算机使用了类似的参考架构。
系统吞吐量
我们考虑了我们的系统在 Selene 上的 280、350 和 420 DGX A100 服务器上,批量大小为 1920 的 5300 亿参数模型的端到端吞吐量。 研究者们观察到的迭代时间分别为 60.1、50.2 和 44.4 秒。 这些分别对应于每个 GPU 126、121 和 113 teraFLOP/s。
训练数据集和模型配置
研究者们使用了 Transformer 解码器的架构,它是一个从左到右生成的基于 Transformer 的语言模型,由 5300 亿个参数组成。层数、隐藏维度和注意力头分别为 105、20480 和 128。
基于开源数据集集合 The Pile,研究者构建了训练数据集。首先,从 The Pile 中选择了相对质量最高的数据集子集(图 2 中的前 11 行)。然后,按照与用于生成 Pile-CC 的方法类似的方法,下载并过滤了两个最近的 Common Crawl (CC) 快照。
并对 CC 数据采取的步骤包括从原始 html 文件中提取文本、使用在高质量数据上训练的分类器对提取的文档进行评分,以及根据评分过滤文档。
在构建训练数据集时,文档去重是必要的,因为相同的内容可以存在于不同数据集的多个文档中。研究者们使用 min-hash LSH 在文档级别使用模糊重复数据删除过程来计算稀疏文档图和其中的连接组件以识别重复文档。
然后,在从每个连接组件的重复文档中选择代表性文档时,根据数据集的质量使用优先级顺序。最后,使用基于 n-gram 的过滤从训练数据集中删除下游任务数据以避免污染。
最终的训练集包括 15 个数据集,总共包含 3390 亿个 token。在训练期间,研究者根据图 2 中给出的可变采样权重将数据集混合到异构批次中,重点放在更高质量的数据集上,我在 2700 亿个 token 上训练了模型。
Dataset | Tokens (billions) | Weights (%) | Epochs |
Books3 | 25.7 | 14.3 | 1.5 |
OpenWebText2 | 14.8 | 19.3 | 3.6 |
Stack Exchange | 11.6 | 5.7 | 1.4 |
PubMed Abstracts | 4.4 | 2.9 | 1.8 |
Wikipedia | 4.2 | 4.8 | 3.2 |
Gutenberg (PG-19) | 2.7 | 0.9 | 0.9 |
BookCorpus2 | 1.5 | 1.0 | 1.8 |
NIH ExPorter | 0.3 | 0.2 | 1.8 |
Pile-CC | 49.8 | 9.4 | 0.5 |
ArXiv | 20.8 | 1.4 | 0.2 |
GitHub | 24.3 | 1.6 | 0.2 |
CC-2020-50 | 68.7 | 13.0 | 0.5 |
CC-2021-04 | 82.6 | 15.7 | 0.5 |
RealNews | 21.9 | 9.0 | 1.1 |
CC-Stories | 5.3 | 0.9 | 0.5 |
图2:用于训练 MT-NLG 模型的数据集。
训练结果和成就
近期语言模型 (LM) 方面的工作表明,强大的预训练模型通常可以在不进行微调的情况下,在广泛的 NLP 任务中具有竞争力。
为了了解扩大 LM 如何增强其零样本或少样本学习能力,研究者评估了 MT-NLG,并证明它在多个类别的 NLP 任务中建立了新的 SOTA。为确保评估的全面性,我们选择了跨越五个不同领域的八项任务:
- 在文本预测任务 LAMBADA 中,模型预测给定段落的最后一个词。
- 在阅读理解任务 RACE-h 和 BoolQ 中,模型根据给定的段落生成问题的答案。
- 在常识推理任务 PiQA、HellaSwag 和 Winogrande 中,每个任务都需要一定程度的常识知识,超出语言的统计模式才能解决。
- 对于自然语言推理,两个硬基准(ANLI-R2 和 HANS),针对过去模型的典型失败案例。
- 词义消歧任务 WiC 从上下文评估多义词的理解。
为了增强可重复性,研究者们将基于开源项目 lm-evaluation-harness 评估设置,并进行了适当的特定任务更改,以便于研究者们的设置与之前的工作更紧密地保持一致。研究者们在零样本、单样本和少样本设置中以没有搜索最有价值的样本方法评估了 MT-NLG。
表 2 展示了准确率度量的结果。如果测试集是公开可用的,研究者会在测试集上进行评估;否则,将会报告开发集上的数字。最终公考报告 LAMBADA、RACE-h 和 ANLI-R2 上的测试集和开发集上的其他任务。
Tasks | Zero-shot | One-shot | Few-shot |
Lambada | 0.766* | 0.731* | 0.872* |
BoolQ | 0.782 | 0.825 | 0.848 |
RACE-h | 0.479 | 0.484 | 0.479 |
PiQA | 0.820* | 0.810* | 0.832* |
HellaSwag | 0.802 | 0.802 | 0.824 |
WinoGrande | 0.730 | 0.737 | 0.789 |
ANLI-R2 | 0.366 | 0.397 | 0.396 |
HANS | 0.607 | 0.649 | 0.702 |
WiC | 0.486 | 0.513 | 0.585 |
图3:MT-NLG 在 PiQA 开发集和 LAMBADA 测试集的所有设置上都实现了 SOTA(用 * 表示),并且在其他类别的类似单体模型中同样表现出色。
MT-NLG 在 PiQA 开发集和 LAMBADA 测试集的所有设置上都实现了 SOTA,并且在其他类别的类似单体模型中同样表现出色。
此外,MT-NLG 相比于之前的模型在训练上需要更少的 token ,也就是说 MT-NLG 具备更快的学习能力。
除了报告基准任务的汇总指标外,研究者还对模型输出进行了定性分析,并得出了有趣的发现。在分析中观察到,即使符号被严重混淆(样本2),该模型也可以从上下文中推断出基本的数学运算(样本1)。虽然还不能称上具有算术能力,但该模型似乎超出了仅记忆算术的水平。
这是来自 HANS 测试集的任务,一个包含简单句法结构的任务会被作为问题提出来,并提示模型给出答案。
尽管这些结构很简单,但现有的自然语言推理(NLI)模型往往很难处理这样的输入。而微调的模型经常从NLI数据集中的系统性偏差中发现某些句法结构和蕴含关系之间的虚假关联。
Tasks | Sample 1 | Sample 2 |
Inferring mathematical operations | Prompt: Q: 11 # 2 = ? A: 5.5 Q: 18 # 9 = ? A: 2 Q: 35 # 4 = ? A: 8.75 Q: 27 # 9 = ? A: 3 Q: 75 # 6 = ? A: MT-NLG: 12.5 Q: 45 # 5 = ? A: 9 Q: 18 # 6 = ? A: 3 | Prompt: Q: 11 $^% 2 = ? A: 22 Q: 3 $^% 9 = ? A: 27 Q: 12 $^% 4 = ? A: 48 Q: 7 $^% 7 = ? A: 49 Q: 8 $^% 5 = ? A: MT-NLG: 40 Q: 9 $^% 6 = ? A: 54 Q: 10 $^% 5 = ? A: 50 |
Natural language inference on different syntactic structures | Prompt: The banker forgot that the judge advised the professors. Question: The judge advised the professors. True or False? Answer: MT-NLG: True. The banker forgot that the judge advised the professors. | Prompt: Famous professors supported the secretary. Question: Professors supported the secretary. True or False? Answer: MT-NLG: True. The secretary was supported by famous professors. |
图4:MT-NLG 在不同句法结构下的数学运算推理和自然语言推理的样本。
结语
今天,人工智能技术的进步正在超越摩尔定律的极限。新一代的 GPU 以闪电般的速度互连,不断升级算力。与此同时,AI 模型的扩展带来了更好的性能,而且似乎前景无限。
MT-NLG 就是一个例子,当像英伟达 Selene 或微软 Azure NDv4 这样的超级计算机与 Megatron-LM 和 DeepSpeed 的软件创新一起用来训练大型语言 AI 模型时,可能会发生什么?
DeepSpeed 和 Megatron-LM 的创新将助力未来更多的 AI 模型开发,并使大型 AI 模型的训练成本更低、速度更快。
在成本方面也是不可忽视的问题。比如说 MT-NLP、AI21 Labs 的 Jurassic-1、华为的盘古-Alpha、Naver 的 HyperCLOVA 和北京人工智能研究院的五道 2.0 等项目。 例如 OpenAI 的 GPT-3 的训练数据集大小为 45 TB,一个 GPT-3 模型可能需要要 700G 的硬盘空间来存储。
在自然语言处理方面,大家通常认为,模型的参数越多,它可以完成的任务就越复杂,性能也越好。
但是越来越多的研究对此产生了疑问。
今年9月 Google 发布 FLAN ,与 GPT-3 的 1750 亿个参数相比,FLAN 拥有 1370 亿个参数,在研究人员对其进行测试的 25 项任务中,有19项超过了 zero-shot 175B GPT-3。
康奈尔大学的自然语言处理研究员 Maria Antoniak 也曾公开表示,是否一定需要更大的模型才能处理好自然语言,目前来说这个问题还没有答案。即便说基准测试的排行榜被这些大模型刷了个遍,但把更多的数据输入到模型中,是否能继续带来性能提升,还是不确定的。
虽然大规模语言模型推动了语言生成技术的发展,但它们也存在偏见和有害性等问题。人工智能社区正在积极研究、理解和消除语言模型中的这些问题。
英伟达和微软的研究者表示, MT-NLG 模型从它所训练的数据中提取了刻板印象和偏见。他们正在致力于解决这个问题,并鼓励帮助量化模型偏差的后续相关研究。
参考链接:
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://venturebeat.com/2021/10/11/microsoft-and-nvidia-team-up-to-train-one-of-the-worlds-largest-language-models/
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/
本文由AI科技大本营翻译,转载请注明出处。
以上是关于微软英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大!的主要内容,如果未能解决你的问题,请参考以下文章
万亿大模型究竟怎么用?达摩院&浙大&上海人工智能实验室联手推出洛犀平台:大小模型端云协同进化...
极客日报:微信取消外链卡片式转发功能;iPhone 13 Pro被曝通话信号差;微软和英伟达推出史上最强的语言模型MT-NLG