HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

微软和英伟达推出训练语言模型 MT-NLG:5300 亿参数量,是 GPT-3 的 3 倍

  • 2021-10-12
  • 本文字数:3634 字

    阅读完需:约 12 分钟

微软和英伟达推出训练语言模型MT-NLG:5300亿参数量,是GPT-3的3倍

OpenAI 最强预训练语言模型 GPT-3 具有 1750 亿个参数,MT-NLG 参数量是前者的 3 倍。

训练语言模型 MT-NLG 问世


10 月 11 日,微软和英伟达正式推出由 DeepSpeed 和 Megatron 驱动的 Megatron-Turing 自然语言生成模型(MT-NLG),这是迄今为止训练的最大最强的解码语言模型。据了解,该模型具有 5300 亿个参数,是现有最大的模型 GPT-3 的 3 倍。


信息显示,近年来,使用基于 Transformer 语言模型实现的自然语言处理(NLP)已经在大规模计算、大型数据集以及用于模型训练的高级算法与软件的强势推动下,迎来快速发展。此外,最先进的 NLP 模型中参数的数量也保持着指数级增长趋势。


图一:最先进NLP模型随时间推移的规模变化趋势


不过,训练这样的大型模型往往极具挑战,主要原因包括以下两点:


即使是最强大的 GPU 也无法在内存中直接拟合这些模型的参数。如果不高度关注算法、软件及硬件堆栈的优化,那么任务中涉及的大量计算操作可能将训练时长提升到失去实际意义的水平。


据介绍,微软和英伟达将最先进的 GPU 加速训练基础设施与尖端分布式学习软件堆栈进行融合,实现了极高的训练效率。此外,微软和英伟达还使建立了高质量的自然语言训练语料库,其中包含数千亿个标记,并共同开发了训练配方,以提高优化效率和稳定性。


在微软和英伟达联合发布的一篇论文中,二者对 MT-NLG 训练流程中的方法与结果做了详细介绍。

大规模训练基础设施


在英伟达 A100 Tensor Core GPU 与 HDR InfiniBand 网络的支持下,英伟达 Selene 与微软 Azure NDv4 等超级计算集群已经获得充足的算力,能够在合理的时间周期之内训练出包含数万亿个参数的模型。然而,要充分发挥这些超级计算机的潜力,需要在数千个 GPU 之间实现良好的并行性,同时保证负载能够在内存与计算层面同时获得高效性与可扩展性。遗憾的是,现有并行策略(例如数据、管道或张量切片)往往在内存与计算效率之间存在冲突与取舍,无法支撑起如此规模的模型训练任务。


数据并行能够带来良好的计算效率,但需要复制模型状态且无法利用分布式内存聚合机制。张量切片要求各 GPU 之间进行大量通信,这就限制了高带宽 NVLink 支持下的单节点场景之外的计算效率。管道并行可以实现跨节点高效扩展。但为了提高计算效率,这种方法需要大批次、粗粒度的并行机制再加上完美的负载均衡,这些要求在 MT-NLG 庞大的规模之下根本无法实现。


软件设计方面,在 DeepSpeed 和 Megatron-LM 的驱动下,微软和英伟达创建了一套高效且可扩展的 3D 并行系统,能够将数据、管道以及基于张量切片的并行机制结合起来,共同应对挑战。


具体来讲,这套系统使用 Megatron-LM 的张量切片扩展节点内模型,再使用 DeepSpeed 的管道并行实现跨节点模型扩展。例如,对于 5300 亿参数的模型,每套模型副本都跨越 280 个英伟达 A100 GPU,采用的则是节点内 8 路张量切片与跨节点 35 路管道并行。接下来,使用 DeepSpeed 的数据并行进一步将负载扩展到数千个 GPU。


硬件系统方面,模型训练是在基于英伟达 DGX SuperPOD 的 Selene 超级计算机上以混合精度完成的。这台超级计算机由 560 个 DGX A100 服务器构建而成,采用完整的胖树拓扑(FatTree)加 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 万亿次计算。

训练数据集与模型配置


微软和英伟达的研究人员使用 Transformer 解码器架构,这是一套从左到右生成的基于 Transformer 的语言模型,共包含 5300 亿个参数。其层数、隐藏维度与注意力头数(attention heads)分别为 105、20480 与 128。


研究人员使用 8 路张量与 35 路管道并行,序列长度为 2048,全局批次大小为 1920。在前 120 亿个训练 token 中,以 32 为单位逐步增加批次大小,从 32 开始慢慢增加至最终批次大小 1920。共使用 10 亿个 token 对训练学习率进行预热。


新的训练数据集主要基于之前的工作成果 The Pile 构建而成。研究人员首先从 The Pile 当中选择质量相对最高的数据子集(图二中的前 11 行),之后采用与生成 Pile-CC 类似的方法下载并过滤两份最近的 Common Crawl(CC)快照。并对 CC 数据执行了分步操作,包括从原始 HTML 文件中提取文本、利用在高质量数据上训练完成的分类器对提取到的文档进行评分,再根据评分过滤文档等。为了保证训练多样化,研究人员还从 RealNews 与 CC-Stories 数据集中进行了采样。


在构建训练数据集时,文档去重也是非常重要的一环,毕竟不同数据集的多个文档中可能包含相同的内容。研究人员使用 min-hash LSH 在文档层级使用模糊重复数据删除流程,用以计算稀疏文档图及其中的连接部分,由此快速识别出重复文档。又从各连接部分的重复文档中选定代表性文档,并根据数据集的质量进行优先级排序,并使用基于 n-gram 的过滤器从训练数据集中删除下游任务数据以避免污染。


最后,研究人员用一组 15 套数据集完成了训练,其中共包含 3390 亿个 token。在训练期间,根据图二给出的可变采样权重将数据集混合至异构批次当中,重点放在质量更高的数据集身上。最终,整个模型的训练使用到 2700 亿个 token。


数据集

数据集来源

Token (单位为10亿)

权重 (%)

轮次

Books3

Pile数据集

25.7

14.3

1.5

OpenWebText2

Pile数据集

14.8

19.3

3.6

Stack Exchange

Pile数据集

11.6

5.7

1.4

PubMed Abstracts

Pile数据集

4.4

2.9

1.8

Wikipedia

Pile数据集

4.2

4.8

3.2

Gutenberg (PG-19)

Pile数据集

2.7

0.9

0.9

BookCorpus2

Pile数据集

1.5

1.0

1.8

NIH ExPorter

Pile数据集

0.3

0.2

1.8

Pile-CC

Pile数据集

49.8

9.4

0.5

ArXiv

Pile数据集

20.8

1.4

0.2

GitHub

Pile数据集

24.3

1.6

0.2

CC-2020-50

Common Crawl (CC)快照

68.7

13.0

0.5

CC-2021-04

Common Crawl (CC) 快照

82.6

15.7

0.5

RealNews

RealNews

21.9

9.0

1.1

CC-Stories

Common Crawl (CC) stories

5.3

0.9

0.5

图二:用于训练 MT-NLG 模型的数据集。

结果与成就


近期在语言模型(LM)领域的工作表明,强大的预训练模型往往能够在无需微调的情况下实现极具竞争力的广泛 NLP 任务处理能力。


为了理解纵向扩展语言模型在零样本或少样本场景下实现的具体学习能力增强水平,微软和英伟达的研究人员对 MT-NLG 开展评估,并证明它在多种 NLP 任务中均获得了最佳结果。为了保证评估的全面性,研究人员选择了跨五大领域的八项不同任务:


在文本预测任务 LAMBADA 中,模型预测特定段落的最后一个单词。在阅读理解任务 RACE-h 与 BooIQ 中,模型根据特定段落生成问题的答案。在常识推理任务 PiQA、HellaSwag 与 Winogrande 中,各项任务都需要一定程度的常识指导,超出了传统语言统计模式的解决范畴。在自然语言推理方面,采用 ANLI-R2 与 HANS 两项过往模型普遍无法通过的硬基准测试。词义消歧任务 WiC,结合上下文评估多义词理解。


为了验证可重复性,研究人员还以开源项目 Im-evaluation-harness 为基础开展评估并做出了适当调整,确保设置与之前的工作负载保持高度一致。在零样本、单样本与少样本等场景下评估了 MT-NLG,且没有执行最佳样本数搜索。


图三为准确度指标结果。如果测试集为公开可用,会在测试集上直接评估;对于非公开测试集,则直接报告使用开发数据集获得的数字。评估中只有 LAMBADA、RACE-h 以及 ANLI-R2 属于公开测试集,其他均属于开发数据集。


类别

任务

零样本

单样本

少样本

补全预测

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

图三:使用 NT-NLG 进行零样本、单样本与少样本评估时获得的准确率结果。MT-NLG 在所有三种设置(以*表示)中均在 PiQA 开发集与 LAMBADA 测试集上获得了最高得分,并在其他类别的同类单体模型中同样拿下最佳结果。


以少样本性能为例,研究人员观察到 MT-NLG 具备不错的提升效果,特别是在 WiC 与 ANLI 这类对先前模型极具挑战的句子间关系比较或联系等任务当中。此外,在零样本与单样本评估中同样看到了广泛的性能提升效果。另外需要注意的是,与以往模型相比,MT-NLG 模型对训练数据集中的标记依赖性更低,这代表着模型规模越大、学习速度反而越快。


对于 HANS 数据集,研究人员没有找到任何报告数据集范围指标的基准。但根据 HANS 论文的分析,在 MNLI 上训练的 BERT 基准能够在约半数子类上获得近乎完美的结果,但在另一半上得分却趋近于零。这表明原有模型高度依赖于论文中确定的伪句法启发式方法。


在零样本、单样本与少样本场景中,MT-NLG 在 PiQA 开发集与 LAMBADA 测试集上都拿下了最高分。除了报告基准任务的汇总指标之外,研究人员还对模型输出进行了定性分析,并得出了更多有趣发现:即使符号经过严重混淆(示例 2),模型仍然可以结合上下文推理出基础数学运算(示例 1)。虽然还不能说 MT-NLG 真正具备自述能力,但该模型似乎已经超出了记忆算术的范畴。


此外,研究人员还展示了来自 HANS 任务的样本。在此任务中,研究人员将包含简单句法结构的任务作为问题,提示模型给出答案。尽管结构非常简单,但现有自然语言推理(NLI)模型往往很难处理此类输入。微调模型则需要从 NLI 数据集中的系统念头中提取某些句法结构与蕴含关系之间的伪关联。但 MT-NLG 无需任何微调,就能在这类场景下带来颇具竞争力的表现。


任务

示例1

示例2

推理数学运算

提示:

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

提示:

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

不同句法结构的自然语言推理

提示:

银行家忘记了法官给教授们提供的建议。

问:法官给教授们建议。对或错?答案:

MT-NLG:是的。银行家忘记了法官给教授们提供了建议。

提示:

著名教授支持秘书。

问:教授支持秘书。对或错?

答案:

MT-NLG:是的。秘书得到了著名教授的支持。

图四:NT-NLG 在不同句法结构下的数学运算与自然语言推理示例。


虽然大规模语言模型确实推动着语言生成技术的不断进步,但其中也存在着严重的偏差/偏见与污染问题。研究人员发现,MT-NLG 模型继承了它从训练数据中获得的刻板印象与偏见,当前,微软与英伟达正在努力解决这个问题。此外,研究人员表示,在生产场景中使用 MT-NLG 还需要配合适当措施,用以确保缓解并最大程度降低对用户造成的潜在伤害。

2021-10-12 14:113375

评论

发布
暂无评论
发现更多内容

FL Studio21最新版编曲DJ舞曲制作软件

茶色酒

FL Studio FL Studio 21

Python冷知识:如何找出新版本增加或删除了哪些标准库?

Python猫

Python

【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」

洛神灬殇

log4j logback 全链路追踪 11月日更 MDC

仅hashmap一道面试题我就搞定了面试官成功入职面试官:我裂开了

钟奕礼

Java java面试 java编程 程序员、

Redis分布式锁剖析和几种客户端的实现

C++后台开发

redis 分布式 后端开发 C++开发

ABBYY FineReader16最新版PDF编辑器功能介绍

茶色酒

abbyy

网络核心笔记(一)

lxmoe

学习笔记 网络 11月月更

2022成功入职阿里:阿里的三套Java研发岗面试题总结(文末有答案)

钟奕礼

Java java面试 java编程 程序员、

阿里、百度、美团、面试题大集合,愿你更轻松拿下大厂offer

钟奕礼

Java java面试 java编程 程序员、

Camtasia2023免费电脑录屏视频软件使用教程

茶色酒

Camtasia Camtasia2023

亿级万物互联新时代的物联网消息中间件EMQX调研

宋小生

物联网 mqtt emqx

三到五年互联网公司Java面试题大全

钟奕礼

Java 程序员 java面试 java编程

CleanMyMac2023Mac系统电脑磁盘优化软件

茶色酒

CleanMyMac CleanMyMac2023

Python进阶(五十三)Flask Web开发实现将表单渲染成HTML

No Silver Bullet

Python flask web开发 11月月更

一文搞懂MySQL表字段类型长度的含义

闫同学

MySQL 数据库 11月月更

集合工具类Collections指南,以及Comparable和Comparator排序详解

共饮一杯无

Java 集合 11月月更

Java 后端 100多道面试题,多看点题,没坏处!

钟奕礼

Java 程序员 java面试 java编程

从基础到实战,阿里巴巴高并发系统设计全彩版手册限时开源

Java全栈架构师

程序员 面试 程序员人生 高并发 架构师

霸榜巨作!阿里内部顶级大佬整理(Redis 5设计与源码分析)

钟奕礼

Java 程序员 java面试 java编程

CorelDraw2023主要功能特性

茶色酒

CorelDraw2023 CorelDraw

这个bug,你中招了吗!!!

石臻臻的杂货铺

kafka 后端 11月月更

2022全网最全最新Java面试题-独家内部教材

钟奕礼

Java 程序员 java面试 java编程

网络核心笔记(二)

lxmoe

学习笔记 网络 11月月更

GitHub标星75k,阿里15W字的Spring高级文档(全彩版),真的太香了

程序知音

Java spring ssm java架构 后端技术

这20道微服务面试题,阿里、字节、美团、百度面试都问了

钟奕礼

Java 程序员 java面试 java编程

2022一线大厂10w字面试总结,每日刷几道,明年金三银四稳了

程序员小毕

spring 程序员 JVM 架构师 java面试

8年Java开发含泪刷题,架构岗现在好难进,有点崩溃

钟奕礼

Java 程序员 java面试 java编程

赞不绝口!仅靠阿里P9分享的 Redis 工作手册,拿到60W年薪Offer

程序知音

Java 数据库 redis 后端技术 Redis 6.0

Java中的String类常用方法

共饮一杯无

Java string 11月月更

如何召回流失用户

穿过生命散发芬芳

11月月更 流失召回

2022年华为Java面经,还没搞懂JVM

钟奕礼

Java 程序员 Java 面试 java编程

微软和英伟达推出训练语言模型MT-NLG:5300亿参数量,是GPT-3的3倍_文化 & 方法_核子可乐_InfoQ精选文章