在微软和英伟达的共同努力下, Turing NLG 17B 和 Megatron-LM 模型的继承者诞生了:5300 亿参数,天生强大,它的名字叫做「Megatron-Turing」。
刚刚,微软和英伟达联合推出了训练的「迄今为止最大、最强大的 AI 语言模型」:Megatron-Turing (MT-NLP)。从公开披露的角度来看,MT-NLP 应该是现存最大的公共模型。作为两家公司 Turing NLG 17B 和 Megatron-LM 模型的继承者,MT-NLP 包含 5300 亿个参数,并在一系列广泛的自然语言任务中表现出了「无与伦比」的准确性,包括阅读理解、常识推理和自然语言推理。近年来,自然语言处理 (NLP) 中基于 Transformer 的语言模型在大规模计算、大型数据集以及用于训练这些模型的高级算法和软件的推动下发展迅速。具有大量参数、更多数据和更多训练时间的语言模型可以获得更丰富、更细致的语言理解。因此,它们可以很好地泛化为有效的零样本(zero-shot)或少样本(few-shot)学习器,在许多 NLP 任务和数据集上具有很高的准确性。NLP 领域的下游任务包括文本摘要、自动对话生成、翻译、语义搜索、代码自动生成等。当前,SOTA NLP 模型中的参数数量呈指数增长,如下图 1 所示。图 1. SOTA NLP 模型的大小随时间变化的趋势近来 AI 领域的大量创新和突破使训练 MT-NLG 变得可行。在英伟达和微软合作的一个项目中,研究者们通过将最先进的 GPU 加速训练基础设施与顶尖的分布式学习软件堆栈结合,实现了前所未有的训练效率,用数千亿的 token 构建了高质量的自然语言训练语料库,并开发了提高优化效率和稳定性的解决方案。下面我们来详细看下该研究的训练的各个方面和该方法的结果。由英伟达 A100 Tensor Core GPU 和 HDR InfiniBand 网络支撑的 SOTA 超级计算集群(例如英伟达的 Selene 和微软的 Azure NDv4) 有足够的计算能力在合理的时间范围内训练具有数万亿个参数的模型。然而,要充分发挥这些超级计算机的潜力,需要在数千个 GPU 之间实现并行,在内存和计算上都高效且可扩展。然而现有的并行策略(例如数据、pipeline 或 tensor-slicing)在内存和计算效率方面存在以下权衡,无法用于训练这种规模的模型:数据并行实现了良好的计算效率,但它复制了模型状态并且无法利用聚合分布式内存。
tensor-slicing 需要 GPU 之间的大量通信,因此单个节点以外的计算效率受限,使得高带宽 NVLink 不可用。
pipeline 并行可以实现跨节点高效扩展。然而,为了提高计算效率,它需要大批量、粗粒度的并行以及完美的负载平衡,这在规模上是不可能的。
微软的 DeepSpeed 与英伟达的 Megatron-LM 合作,创建了一个高效且可扩展的 3D 并行系统,将数据、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 共 835GB,是 22 个较小数据集的集合,涵盖学术资源(例如,Arxiv、PubMed)、社区(StackExchange、Wikipedia)、代码存储库(Github)等,微软和英伟达还引入了 Common Crawl 的大量网页快照,包括新闻报道和社交媒体帖子。最终的训练集包括 15 个数据集,总共有 3390 亿个 token。研究者在训练期间根据图 2 中给出的可变采样权重将数据集混合到异构批次中,将重点放在更高质量的数据集上,在 2700 亿个 token 上训练了模型。近期语言模型方面的工作表明,强大的预训练模型通常可以在不进行微调的情况下,在众多 NLP 任务中表现出色。为了理解扩大语言模型如何增强其零样本学习或小样本学习能力,研究者评估了 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 上的测试集和开发集上的其他任务。表 2:MT-NLG 在 PiQA 开发集和 LAMBADA 测试集的所有设置上都实现了 SOTA(用 * 表示),并且在其他类别的类似单体模型中同样表现出色。除了基准任务的指标外,研究者还对模型输出进行了定性分析。可以观察到,即使符号被严重混淆(示例 2),该模型也可以从上下文中推断出基本的数学运算(示例 1)。虽然称不上拥有了算术能力,但该模型似乎超越了仅记忆算术的水平。表 3:MT-NLG 在不同句法结构下的数学运算推理和自然语言推理的样本。虽然大规模语言模型推动了语言生成技术的发展,但它们也存在偏见、有害性等问题。AI 社区的成员们也一直在积极研究、理解和消除语言这些模型中的问题。微软和英伟达表示,MT-NLG 模型从它所训练的数据中提取了刻板印象和偏见。他们正在解决这个问题,也鼓励帮助量化模型偏差的后续研究。今天,人工智能技术的进步正在超越摩尔定律的极限。新一代的 GPU 以闪电般的速度互连,不断升级算力。与此同时,AI 模型的扩展带来了更好的性能,而且似乎前景无限。MT-NLG 就是一个例子,它展示的是:当像 NVIDIA Selene 或 Microsoft Azure NDv4 这样的超级计算机与 Megatron-LM 和 DeepSpeed 的软件创新一起用来训练大型语言 AI 模型时,可能会发生什么?微软和英伟达表示,DeepSpeed 和 Megatron-LM 的创新将助力未来更多的 AI 模型开发,并使大型 AI 模型的训练成本更低、速度更快。尽管如此,大模型的成本问题仍然是不可忽视的。像 MT-NLP、华为的盘古α、Naver 的 HyperCLOVA、智源研究院的悟道 2.0 等巨模型的搭建成本并不便宜。比如说,OpenAI 的 GPT-3 的训练数据集大小为 45 TB,足以填满 90 个 500GB 硬盘。人工智能训练成本在 2017 年至 2019 年间降低到了原有的百分之一,但这仍超过大多数初创公司在计算方面的预算。这种不平等牺牲了小企业获得资源的机会,反而巩固了巨头原本就具备的优势。举一个极端的例子,据 CrowdStorage 统计,特斯拉自动驾驶团队的一个数据集(1.5 PB 的视频片段)在 Azure 中存储三个月的成本,就超过了 67500 美元。正如 Huggingface 联合创始人 Julien Chaumond 所说:「比起 5300 亿参数的大模型,我更感兴趣的是能让 5.3 亿人使用或研究的模型。」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/