写点什么

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

  • 2020-03-09
  • 本文字数:4425 字

    阅读完需:约 15 分钟

微软发布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-03-09 08:282519
用户头像
赵钰莹 极客邦科技 总编辑

发布了 886 篇内容, 共 657.2 次阅读, 收获喜欢 2681 次。

关注

评论

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

ESP32-C3入门教程 基础篇(二、GPIO中断、按键驱动测试)

矜辰所致

GPIO ESP32-C3 按键驱动 9月月更

前端食堂技术周刊第 53 期:React Router 6.4、VS Code August 2022、2022 Google 谷歌开发者大会、Meta 开源 MemLab、Vue.js 技术内幕

童欧巴

Vue vscode React

ShareSDK 开发过程中常见问题

MobTech袤博科技

ios android sdk

轻量化的灰度发布实践技术方案

Speedoooo

灰度发布 ab测试 轻量化

[SSM]前后台协议联调①

十八岁讨厌编程

Java 后端开发 9月月更

云渲染和传统渲染农场有什么区别?

Renderbus瑞云渲染农场

云渲染 云渲染农场 渲染农场 Renderbus瑞云渲染

OceanBase本周活动|从0到1数据库内核实战教程;对话ACE第五期;Meetup广州站

OceanBase 数据库

测试人生 | 毕业2年未满,0经验拿下知名互联网企业30W 年薪,他是怎么做到的?

霍格沃兹测试开发学社

教你如何一分钟内玩过《羊了个羊》| 傻瓜式操作,包教包会

bug菌

9月月更 羊了个羊 微信小程序-游戏

[SSM]前后台协议联调②

十八岁讨厌编程

Java 后端开发 9月月更

JS-内置对象API-Array(数组)-(一)-改变原数组的API-篇

Sam9029

JavaScript 前端 9月月更

uni-app黑马优购项目学习记录(二)

海底烧烤店ai

JavaScript 小程序 前端 9月月更

构建开放、智能的企业数字化转型2.0平台,加速运营商创新升级

鲸品堂

IT 运营商

【JavaScript】巩固JS开发中十个常用功能/案例(1-10)

海底烧烤店ai

算法 前端 JavaScrip 9月月更

在线帮助中心-帮助客户更快上手使用你的产品

Baklib

帮助文档

[Javaweb]JSON

十八岁讨厌编程

javaWeb 后端开发 9月月更

每日算法刷题Day13-在O(1)时间删除链表结点、合并两个排序的链表、把字符串转换成整数

timerring

算法题 9月月更

【微信小程序】——Mobx全局数据共享和分包

海底烧烤店ai

微信小程序 前端 JavaScrip 9月月更

跟着卷卷龙一起学Camera--Demosaic

卷卷龙

ISP 9月月更

OceanBase 数据库内核实战赛「推荐官」招募令发布,让身边的优秀选手C位出道!

OceanBase 数据库

ESP32-C3入门教程 基础篇(一、ADC采样)

矜辰所致

ESP32-C3 9月月更 ADC采样

测试人生 | 二线城市涨薪近10万 ,还能955,这样的机会你想不想要?

霍格沃兹测试开发学社

英特尔与 AMD 谁更强?

雨果

英特尔 AMD

上海交通大学OpenHarmony技术俱乐部正式揭牌成立

Geek_2d6073

安全419《高级威胁检测与响应解决方案》系列访谈——未来智安(XDR SEC)篇

未来智安XDR SEC

网络安全 威胁检测 XDR扩展威胁检测响应

FinOps能力成熟度模型启动,灵雀云助力云原生降本增效标准制定

York

云计算 云原生 能力成熟度模型 降本增效 FinOps

Drug X跨越鸿沟:一个生物科学家的新药研发跋涉记

脑极体

讲讲 SaaS 平台的多租户怎么设计

产品海豚湾

产品经理 多租户 产品设计与思考 SaaS平台 9月月更

PC端小程序引擎,或许不就未来能解决桌面应用兼容性

Speedoooo

小程序 桌面开发 桌面端 桌面应用

把收藏力拉满,前端 50 个优质 Web 在线资源~

掘金安东尼

前端 9月月更

Flink Collector Output 接口源码解析

JasonLee实时计算

flink 源码

微软发布T-NLG:一个170亿参数的语言模型_AI&大模型_Corby Rosset_InfoQ精选文章