写点什么

微软发布 T-NLG:一个 170 亿参数的语言模型

2020 年 3 月 09 日

微软发布T-NLG:一个170亿参数的语言模型

Turing Natural LanguageGeneration(T-NLG,图灵自然语言生成)是微软开发的一款170亿参数语言模型,它在许多下游NLP任务上的表现均超过了现有的顶尖水平。我们向学术界展示了这个模型的一个demo,其中包括了它的自由格式生成、问题回答和摘要功能,以供反馈和研究之用。<|本段结束|>


上述摘要(的英文原文)是由 Turing-NLG 语言模型生成的。



上图源于 DistilBERT 发布的一张类似的图片


诸如 BERT 和 GPT-2 之类的大规模深度学习语言模型(LM)从互联网上发布的几乎所有文本中学习到了数以十亿计的参数,并提升了几乎所有下游自然语言处理(NLP)任务(包括问题解答、会话代理和文档理解等)的发展水平。


自然语言生成技术可以转化为多种现实应用,例如协助作者撰写内容,帮助人们汇总一长段文本来节省时间,或改善数字助理的客户体验。当下的趋势是自然语言模型规模越大,产生的结果就越好,在这样的背景下,微软图灵项目就推出了图灵自然语言生成(T-NLG)技术,这是有史以来发布的规模最大的模型,拥有 170 亿个参数,在各种语言建模基准测试上的成绩均优于之前最顶尖的水平,并且在许多实际任务(包括摘要和问题解答等)上的表现也很出色。这一成果背后的最大功臣就是DeepSpeed库(与 PyTorch 兼容)和ZeRO优化器带来的突破性进展,相关内容可参阅这一篇博客文章)。


我们向学术界的一小批用户发布了一个 T-NLG 的私有 demo,其中包括自由格式生成、问题回答和摘要功能,以供初步测试和反馈之用。


T-NLG:大型语言生成模型的好处


T-NLG 是一款基于 Transformer 的语言生成模型,这意味着它可以生成词汇来完成开放式文本任务。除了补足未完成的句子外,它还可以直接对输入的问题生成答案,或对输入的文档生成摘要。


T-NLG 之类的生成模型对于 NLP 任务来说是很重要的,因为我们的目标是在任何情况下都尽可能像人类那样直接、准确和流畅地响应。以前,问题解答和摘要系统需要从文档中提取现有内容,这些内容可以用作备用答案或摘要,但它们往往看起来不那么自然和连贯。借助 T-NLG,我们就可以针对个人文档或电子邮件主题自然地给出摘要或回答问题。


我们观察到了这样的事实:只要模型更大,预训练数据更加多样化,更为全面,那么即使所用的训练实例数量较少,模型在推广到多个下游任务时也能表现得更好。因此,我们认为训练一个大型中心化多任务模型,并在众多任务中共享其能力,比为每个任务单独训练新模型的做法更有效率。


预训练 T-NLG:硬件和软件突破


任何具有超过 13 亿个参数的模型都无法装入单个 GPU(甚至有 32GB 内存的 GPU 都不行),因此这个模型本身必须在多个 GPU 之间并行化,或分解成多个片段。我们利用了几项硬件和软件突破性成果来训练 T-NLG:


  1. 我们利用NVIDIA DGX-2硬件配置和InfiniBand连接,加快了GPU之间的通信。

  2. 我们使用张量切片,在NVIDIA Megatron-LM框架中将模型分片到四个NVIDIA V100 GPU上。

  3. DeepSpeed with ZeRO使我们可以降低模型并行度(从16减到4),并将每个节点的批大小增加到4倍,还将训练时间减少到了三分之一。有了DeepSpeed,我们就能用较少的GPU训练非常大的模型,从而提高效率;它仅用256个NVIDIA GPU就能以512的批大小进行训练,而单独使用Megatron-LM则需要1024个NVIDIA GPU。此外,DeepSpeed还兼容PyTorch。


生成的 T-NLG 模型具有 78 个 Transformer 层,其隐藏层节点大小为 4256,有 28 个 attention head。为了和 Megatron-LM 的结果对比,我们使用了与 Megatron-LM 相同的超参数和学习计划来对模型进行预训练,使用了自回归生成损失函数,1024 长度的 Token 序列,训练了 30 万步,批大小为 512。学习计划遵循 3200 个线性预热步骤,最大学习速率为 1.5×10-4,余弦衰减超过 500,000 个步骤,精度为 FP16。我们使用与 Megatron-LM 模型相同的数据类型来训练模型。


我们还对比了预训练的 T-NLG 模型在标准语言任务,例如 WikiText-103 和 LAMBADA 在下一个单词的预测准确度(越高越好)上的性能。下表显示,我们在 LAMBADA 和 WikiText-103 上都打破了已有的最好纪录。其中,Megatron-LM 是 NVIDIA Megatron 模型公开发布的结果数据。


LAMBADA(acc)strictWikiText-103(teat adj.ppl)
Open AI GPT-2 1.5B52.66(63.24)17.48
Megatron-LM 8.3B66.5110.81
T-NLG 17B67.9810.21


OpenAI 使用了额外的处理技术(停用词过滤)来获得比独立模型更好的成绩。Megatron 和 T-NLG 都不使用这种停用词过滤技术。


下面的图 1 显示了与 Megatron-LM 相比,T-NLG 在验证困惑度方面的表现。



图 1:训练期间 Megatron-8B 参数模型(橙色线)与 T-NLG 17B 模型(蓝线和绿线)验证困惑度的成绩对比。虚线表示通过当前公开的最佳技术模型实现的最低验证损失。图中从蓝色到绿色的过渡表示 T-NLG 在性能上超过了已有的最佳公开技术水平


直接回答问题和零次回答能力


许多 Web 搜索用户希望在问问题时,能看到结果页面的顶部显示一个直接回答问题的卡片。这些卡片往往会从某段上下文中找出一句话来做答案。我们的目标是直接回答用户的问题,从而更明确地满足他们信息需求。例如,大多数搜索引擎解答下面这个问题时会展示一段文字,并高亮显示其中的“Tristan Prettyman”(参见下面的示例)。


问题Jason Mraze之前和谁订婚了?
段落Mraz在2010年圣诞夜与歌手/作词人,也是她的长期密友Tristan Prettyman订婚;他们在六个月后解除了婚约。
"直接"答案Jason Mraz曾与Tristan Prettyman订婚。


相比之下,T-NLG 会直接用完整的句子回答问题。这种能力在 Web 搜索以外的场景中用途更大。例如,当用户向 AI 助手询问有关自己个人数据的问题(例如电子邮件或 Word 文档)时,这种能力能让助手更智能地给出答案。


这一模型还能够实现“零次”(zero shot)问题解答,意味着无需上下文即可回答问题。下面的示例中模型没有什么段落可用,只有问题。在这类情况下,模型通过在预训练过程中获得的知识来生成答案。


第二次世界大战是何时结束的?二战结束于1945年。
美国有多少居民?现在美国有超过3亿居民。


由于ROUGE评分取决于真值(ground-truth)答案,其无法反映其他质量指标,例如事实正确性和语法正确性等。因此,我们请人工注释者来评估我们之前的基准系统(一个类似于 CopyNet 的 LSTM 模型)和当前的 T-NLG 模型。要实现对事实正确性的自动评估还有很多工作要做。


正确率(%)T-NLGLSTM(类似CopyNet)
语法9897
事实9692


我们还注意到,较大的预训练模型要达到较好的学习成果时所需的下游任务实例更少。我们最多只有 100,000 个“直接”回答问题-段落-答案三元组的实例,但就算只进行了几千次训练,我们的模型仍比 LSTM 基准模型在同一份数据上训练多个 epoch 的表现还更出色。由于收集带注释的监督数据是非常昂贵的,所以这种结果会带来实际的业务收益。


无需太多监督的抽象摘要


NLP 领域中的摘要技术有两种类型:提取——从文档中获取少量句子作为摘要;抽象——用 NLG 模型像人类一样生成摘要。T-NLG 的目标不是复制现有内容,而是为各种文本文档(如电子邮件、博客文章、Word 文档甚至 Excel 工作表和 PowerPoint 演示文稿)像人类那样编写抽象摘要。这里的一大挑战是,在所有这些情况下都缺乏监督训练数据:人类并不会每次都明确地总结每种文档类型。T-NLG 的强大在于,它已经非常理解文本,因此无需太多的监督即可胜过我们之前使用的所有技术。


为了使 T-NLG 尽可能通用,从而为各种类型的文本生成摘要,我们在几乎所有公开可用的摘要数据集中以多任务方式调整了 T-NLG 模型,总计约有 400 万个训练实例。我们使用 ROUGE 分数(代表所生成的摘要与参考摘要中的单字组和双字组的匹配程度)与另一种最新的基于 Transformer 的语言模型(称为 PEGASUS,https://arxiv.org/abs/1912.08777)以及之前表现最佳的模型进行了对比。


Rouge-LT-NLG之前的最佳模型PEGASUS Large
arXiv30.823.625.7
WikiHow31.526.533.4
BillSum41.633.745.8
WikiSum36.038.8-


请注意,T-NLG 是以多任务方式,同时在所有数据集上进行训练的。众所周知,ROUGE 评分在摘要任务方面存在缺陷(可以通过多种方式编写很好的抽象摘要),因此我们在下面提供了一些公开发表的文章的输出摘要,以供比较。


原始文本的链接T-NLG摘要
“Microsoft will be carbon negative by 2030” by Brad Smith, Official Microsoft Blog”(https://blogs.microsoft.com/blog/2020/01/16/microsoft-will-be-carbon-negative-by-2030/Microsoft is committed to being carbon negative by 2030. We are launching an aggressive program to cut our carbon emissions by more than half by 2030, both for our direct emissions and for our entire supply and value chain. We are also launching an initiative to use Microsoft technology to help our suppliers and customers reduce their own carbon footprints and a new $1 billion climate innovation fund to accelerate the development of carbon reduction, capture, and removal technologies that will help us and the world become carbon negative. In addition to our aggressive carbon goals, we are launching a new Climate Innovation Fund to accelerate carbon reduction and removal opportunities. We are also launching a program to use our technology to improve the efficiency of our supply chain and reduce our own carbon footprint as well…
“The Next Word: Where will predictive text take us?” by John Seabrook, The New Yorker(https://www.newyorker.com/magazine/2019/10/14/can-a-machine-learn-to-write-for-the-new-yorker“Smart” compose is a feature that suggests what going to type next, based on your past e-mails and your current thoughts. But what happens when you let the A.I. decide what you want to say next?


T-NLG 的未来应用


T-NLG 在自然语言生成方面已经取得了突破,为业界提供了新的机遇。除了通过文档和电子邮件摘要来节省用户时间之外,T-NLG 还可以为作者提供写作辅助,并回答读者可能对文档提出的问题来增强微软 Office 套件的体验。此外,它为对话更流畅的聊天机器人数字助理)铺平了道路,这样自然语言生成技术就可以与客户对话,从而帮助企业改善客户关系管理和销售工作。随着我们进一步提高语言模型的质量,我们也对新的可能性非常期待。


关于图灵项目:


T-NLG 是一个名为图灵项目的更大计划的一部分,该计划是一个应用研究小组,致力于在文本和图像处理方面采用深度学习技术来开发微软产品。我们的工作正在主动集成到多个微软产品中,包括 Bing、Office 和 Xbox 等。


如果你想提名自己的组织参与图灵项目的语义搜索的私有测试,请在此处提交申请


原文链接


https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/


2020 年 3 月 09 日 08:28996
用户头像
赵钰莹 InfoQ高级编辑

发布了 652 篇内容, 共 386.9 次阅读, 收获喜欢 2100 次。

关注

评论

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

古北水镇的夜

张晓楠

生活 摄影

产品分析

时间是一个人最好的证明

产品经理 产品设计

全屋智能2020第十三届(南京)国际智能家居展览会

InfoQ_caf7dbb9aa8a

2020南京国际工业互联网及工业通讯展览会

InfoQ_caf7dbb9aa8a

从戚家军看组织战斗力塑造(组织的六脉神剑)

异想的芦苇

组织

做好分库分表其实很难之二

架构师修行之路

微服务 分库分表

手把手教你AspNetCore WebApi:Serilog(日志)

AI代笔

ASP.NET Core web api serilog

MySQL事务隔离级别

长沙造纸农

MySQL 事务隔离级别 mysql事务 事务 MySQL 运维

典型的大型互联网应用系统的技术方案和手段

java安全编码指南之:lock和同步的正确使用

程序那些事

java安全编码 java安全 java安全编码指南 java编码

坚持写技术博客一年能有多少收获!

小傅哥

Java 面试题 架构师 编程经验 技术博客

2020第十三届南京国际智慧新零售暨无人售货展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际智慧停车展览会

InfoQ_caf7dbb9aa8a

2020南京国际人工智能产品展览会

InfoQ_caf7dbb9aa8a

人工智能

2020第十三届南京国际大数据产业博览会

InfoQ_caf7dbb9aa8a

架构方法论之“极限审视法”

异想的芦苇

架构 方法论 设计思维

用NOSql给高并发系统加速

架构师修行之路

nosql redis 分布式 微服务

对不起,学会这些 Linux 知识后,我有点飘

cxuan

Linux 后端 操作系统 计算机

20年开源老司机手把手教你玩开源——openEuler入门指南

openEuler

Linux 开源 系统操作

2020第十三届(南京)智慧城市技术与应用产品展览会

InfoQ_caf7dbb9aa8a

内存条的讲解

亚兰—硅的传奇official

原创 内存 硬件 计算机 哔哩哔哩

LeetCode题解:104. 二叉树的最大深度,递归,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

2020第十三届南京国际智慧工地装备展览会

InfoQ_caf7dbb9aa8a

关于国际化语言 Intl

西贝

Java 前端 国际化 格式化

“海外同步优惠”与“中国专享折扣”十大必败榜抢先放送

爱极客侠

LeetCode题解:111. 二叉树的最小深度,递归,JavaScript,详细注释

Lee Chen

前端进阶训练营

记一次MySQL日期范围查询优化

墨凡

MySQL SQL优化

架构师训练营第 1 期 - 第四周学习总结

Anyou Liu

极客大学架构师训练营

快讯2020第十三届亚洲国际物联网展览会-南京站

InfoQ_caf7dbb9aa8a

Apache Doris在云真信智能决策分析平台的应用实践

DorisDB

数据库 数据仓库 金融科技

讲一讲我所认为的「人生三最」,你或许能够参悟到什么

非著名程序员

程序员 个人成长 时间管理 精力管理

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

微软发布T-NLG:一个170亿参数的语言模型-InfoQ