微软、英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大
扫描二维码
随时随地手机看文章
微软和英伟达联手推出最大、最强的人工智能语言模型: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,也不再可能在内存中拟合这些模型的参数。
- 如果不特别注意优化算法、软件和硬件堆栈,则所需的大量计算操作可能会导致不切实际的长训练时间。
大规模培训基础设施
在 英伟达 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 |
训练结果和成就
近期语言模型 (LM) 方面的工作表明,强大的预训练模型通常可以在不进行微调的情况下,在广泛的 NLP 任务中具有竞争力。为了了解扩大 LM 如何增强其零样本或少样本学习能力,研究者评估了 MT-NLG,并证明它在多个类别的 NLP 任务中建立了新的 SOTA。为确保评估的全面性,我们选择了跨越五个不同领域的八项任务:- 在文本预测任务 LAMBADA 中,模型预测给定段落的最后一个词。
- 在阅读理解任务 RACE-h 和 BoolQ 中,模型根据给定的段落生成问题的答案。
- 在常识推理任务 PiQA、HellaSwag 和 Winogrande 中,每个任务都需要一定程度的常识知识,超出语言的统计模式才能解决。
- 对于自然语言推理,两个硬基准(ANLI-R2 和 HANS),针对过去模型的典型失败案例。
- 词义消歧任务 WiC 从上下文评估多义词的理解。
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 |
Tasks | Sample 1 | Sample 2 |
Inferring mathematical operations | Prompt:Q: 11 # 2 = ?A: 5.5Q: 18 # 9 = ?A: 2Q: 35 # 4 = ?A: 8.75Q: 27 # 9 = ?A: 3Q: 75 # 6 = ?A: MT-NLG:12.5Q: 45 # 5 = ?A: 9Q: 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:40Q: 9 $^% 6 = ?A: 54Q: 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. |
结语
今天,人工智能技术的进步正在超越摩尔定律的极限。新一代的 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科技大本营翻译,转载请注明出处。