前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【NLP】T5 模型:Text-to-Text 预训练模型超大规模探索

【NLP】T5 模型:Text-to-Text 预训练模型超大规模探索

作者头像
yuquanle
发布于 2019-12-09 06:44:13
发布于 2019-12-09 06:44:13
9780
举报
文章被收录于专栏:AI小白入门AI小白入门

相信大多 NLP 相关者,在时隔 BERT 发布近一年的现在,又被谷歌刚发布的 T5 模型震撼到了。又是一轮屠榜,压过前不久才上榜自家的ALBERT,登上 GLUE 榜首。

当然,最大的冲击还是财大气粗,bigger and bigger,但翻完它长达 34 页的论文,发现其中的分析无疑是诚意满满(都是钱)。类似这样的大型实验探索论文也有一些,首先提出一个通用框架,接着进行了各种比对实验,获得一套建议参数,最后得到一个很强的 baseline。而我们之后做这方面实验就能参考它的一套参数。

对于 T5 这篇论文,Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,无疑也是类似的论文。它的意义不在烧了多少钱,也不在屠了多少榜(砸钱就能砸出来),其中 idea 创新也不大,它最重要作用是给整个 NLP 预训练模型领域提供了一个通用框架,把所有任务都转化成一种形式,正如论文里所说的

introducing a unified framework that converts every language problem into a text-to-text format.

之后未来做 NLP 实验时,可能就不再是自己怎么调一些模型了,而是无论什么任务,直接拿来一个超大预训练模型,然后主要工作就变成了怎么把任务转换成合适的文本输入输出,于是我们就成了带引号的”数据科学家“。而且可以用于多种任务,而模型对这些任务的区分只是根据你构建的输入输出形式,其实这让我想起 Jeff Dean 在某次谈话中谈到的谷歌未来方向,想做一个超级模型,什么任务都能直接处理,而它内部可以是稀疏的,或者可以局部 Distill,来对单独任务进行处理。

关于论文,作者们做了很多实验,如下图

将近七十个实验,这也是大家吐槽财大气粗的原因,太有冲击力了,小家小业的话估计跑里面个小实验就够呛了。

正因为如此多实验,所以才对预训练模型中的大量技巧获得了一个较公平的比对和分析,但这也使得整篇论文长度巨长,读起来头晕。不是 idea 的冲击,而都是些琐碎细节,看了几大段后发现,还是看图表一目了然。

这里就简单介绍一下里面做了哪些实验,之后各取所需回看论文。

Why Text-to-Text?

首先为什么叫 T5 模型,因为是 Transfer Text-to-Text Transformer 的简写,和 XLNet 一样也不在芝麻街玩了,也有说法是吐槽谷歌 T5 Level(高级软件工程师)。

Transfer 来自 Transfer Learning,预训练模型大体在这范畴,Transformer 也不必多说,那么 Text-to-Text 是什么呢。那就是作者在这提出的一个统一框架,靠着大力出奇迹,将所有 NLP 任务都转化成 Text-to-Text (文本到文本)任务

举几个例子就明白了,比如英德翻译,只需将训练数据集的输入部分前加上“translate English to German(给我从英语翻译成德语)” 就行。假设需要翻译"That is good",那么先转换成 "translate English to German:That is good." 输入模型,之后就可以直接输出德语翻译 “Das ist gut.”

再比如情感分类任务,输入"sentiment:This movie is terrible!",前面直接加上 “sentiment:”,然后就能输出结果“negative(负面)”。

最神奇的是,对于需要输出连续值的 STS-B(文本语义相似度任务),居然也是直接输出文本,而不是加个连续值输出头。以每 0.2 为间隔,从 1 到 5 分之间分成 21 个值作为输出分类任务。比如上图中,输出 3.8 其实不是数值,而是一串文本,之所以能进行这样的操作,应该完全赖于 T5 模型强大的容量。

通过这样的方式就能将 NLP 任务都转换成 Text-to-Text 形式,也就可以用同样的模型,同样的损失函数,同样的训练过程,同样的解码过程来完成所有 NLP 任务。其实这个思想之前 GPT2 论文里有提,上斯坦福 cs224n 时 Socher 讲的 The Natural Language Decathlon 也有提。

Data:C4 (Bomb!)

作者从 Common Crawl(一个公开的网页存档数据集,每个月大概抓取 20TB 文本数据) 里清出了 750 GB 的训练数据,然后取名为 ” Colossal Clean Crawled Corpus (超大型干净爬取数据)“,简称 C4,论作者取名之恶趣味。

大概清理过程如下:

  • 只保留结尾是正常符号的行;
  • 删除任何包含不好的词的页面,具体词表参考List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words库(笔者按:宝藏库,到里面转了一圈,看了看熟悉的几门语言,瞬间涨了不少新姿势 );
  • 包含 Javascript 词的行全去掉;
  • 包含编程语言中常用大括号的页面;
  • 任何包含”lorem ipsum(用于排版测试)“的页面;
  • 连续三句话重复出现情况,保留一个。

Architecture:The Best One

首先作者们先对预训练模型中的多种模型架构(Transformer)进行了比对,最主要的模型架构可以分成下面三种。

第一种,Encoder-Decoder 型,即 Seq2Seq 常用模型,分成 Encoder 和 Decoder 两部分,对于 Encoder 部分,输入可以看到全体,之后结果输给 Decoder,而 Decoder 因为输出方式只能看到之前的。此架构代表是 MASS(今年WMT的胜者),而 BERT 可以看作是其中 Encoder 部分。

第二种, 相当于上面的 Decoder 部分,当前时间步只能看到之前时间步信息。典型代表是 GPT2 还有最近 CTRL 这样的。

第三种,Prefix LM(Language Model) 型,可看作是上面 Encoder 和 Decoder 的融合体,一部分如 Encoder 一样能看到全体信息,一部分如 Decoder 一样只能看到过去信息。最近开源的 UniLM 便是此结构。

上面这些模型架构都是 Transformer 构成,之所以有这些变换,主要是对其中注意力机制的 Mask 操作

通过实验作者们发现,在提出的这个 Text-to-Text 架构中,Encoder-Decoder 模型效果最好。于是乎,就把它定为 T5 模型,因此所谓的 T5 模型其实就是个 Transformer 的 Encoder-Decoder 模型

Objectives:Search,Search,Search

之后是对预训练目标的大范围探索,具体做了哪些实验,下面这张图就能一目了然。

总共从四方面来进行比较。

第一个方面,高层次方法(自监督的预训练方法)对比,总共三种方式。

  1. 语言模型式,就是 GPT-2 那种方式,从左到右预测;
  2. BERT-style 式,就是像 BERT 一样将一部分给破坏掉,然后还原出来;
  3. Deshuffling (顺序还原)式,就是将文本打乱,然后还原出来。

其中发现 Bert-style 最好,进入下一轮。

第二方面,对文本一部分进行破坏时的策略,也分三种方法。

  1. Mask 法,如现在大多模型的做法,将被破坏 token 换成特殊符如 [M];
  2. replace span(小段替换)法,可以把它当作是把上面 Mask 法中相邻 [M] 都合成了一个特殊符,每一小段替换一个特殊符,提高计算效率;
  3. Drop 法,没有替换操作,直接随机丢弃一些字符。

此轮获胜的是 Replace Span 法,类似做法如 SpanBERT 也证明了有效性。

当当当,进入下一轮。

第三方面,到底该对文本百分之多少进行破坏呢,挑了 4 个值,10%,15%,25%,50%,最后发现 BERT 的 15% 就很 ok了。这时不得不感叹 BERT 作者 Devlin 这个技术老司机直觉的厉害。

接着进入更细节,第四方面,因为 Replace Span 需要决定对大概多长的小段进行破坏,于是对不同长度进行探索,2,3,5,10 这四个值,最后发现 3 结果最好。

终于获得了完整的 T5 模型,还有它的训练方法。

  • Transformer Encoder-Decoder 模型;
  • BERT-style 式的破坏方法;
  • Replace Span 的破坏策略;
  • 15 %的破坏比;
  • 3 的破坏时小段长度。

到此基本上 T5 预训练就大致说完了,之后是些细碎探索。

Datasets

接着作者们拿着 C4 数据集做了各种实验,比如说从里面分出各种类型的数据集,单独训练 T5 模型,之后看在下游任务的表现,发现一些情况领域内的预训练数据可以增强下游任务(想当然的)。而 C4 完整数据集因为数据太多太杂,可能反而不如这种领域内较少数据集。

还有从 C4 中抽出不同量数据做实验,发现数据少时,模型会记住数据所以之后表现会比较差(这个也是想当然)。

Training:Multi-Task Learning

作者们之后又针对 MTDNN 给 T5 做了一系列类似训练,在一堆监督和非监督数据上进行预训练。

结果发现,只要混合训练比例调得OK,和前面说的非监督预训练性能差不多

Scaling:bigger is better?

接着又做了当放大模型某方面规模的相关实验,分别是增大模型,增大数据,还有在一定资源限制下的集成。

结论是,当这些因素放大时对性能都有提高,但其中大模型是最必要的

Models

最后就是结合上面所有实验结果,训练了不同规模几个模型,由小到大:

  • Small,Encoder 和 Decoder 都只有 6 层,隐维度 512,8 头;
  • Base,相当于 Encoder 和 Decoder 都用 BERT-base;
  • Large,Encoder 和 Decoder 都用 BERT-large 设置,除了层数只用 12 层;
  • 3B(Billion)和11B,层数都用 24 层,不同的是其中头数量和前向层的维度。

11B 的模型最后在 GLUE,SuperGLUE,SQuAD,还有 CNN/DM 上取得了 SOTA,而 WMT 则没有。看了性能表之后,我猜想之所以会有 3B 和 11B 模型出现,主要是为了刷榜。看表就能发现

比如说 GLUE,到 3B 时效果还并不是 SOTA,大概和 RoBERTa 评分差不多都是 88.5,而把模型加到 11B 才打破 ALBERT 的记录。然后其他实验结果也都差不多,3B 时还都不是 SOTA,而是靠 11B 硬拉上去的。除了 WMT 翻译任务,可能感觉差距太大,要拿 SOTA 代价过大,所以就没有再往上提。根据这几个模型的对比,可以发现即使是容量提到 11B,性能提升的间隔还是没有变缓因此我认为再往上加容量还是有提升空间

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI小白入门 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
广告行业中那些趣事系列23:一个大一统的NLP处理框架T5
摘要:本篇从理论到实践分享了NLP领域的T5模型。首先讲了下为啥要学习T5,作为一个大一统的NLP处理框架,T5的目标是通过添加补充信息把所有的NLP任务都改造成一种Text2Text格式的任务。T5不仅具有很强的通用性,并且效果惊人;然后详解了T5模型,重点从实验的方式一步步构建T5模型,包括预训练模型结构的选择、自监督的预训练方式的选择、文本破坏方式的选择、文本破坏比例的选择以及小段替换长度的选择等;最后从中文实战的角度实践了T5模型,使用多国语言版权重MT5来完成CLS标题生成任务。希望对T5模型感兴趣的小伙伴有所帮助。
数据拾光者
2022/05/05
6080
广告行业中那些趣事系列23:一个大一统的NLP处理框架T5
【长文详解】T5: Text-to-Text Transfer Transformer 阅读笔记
谷歌用一篇诚意满满(财大气粗)的基于实验的综述,试图帮助研究者们「拨开云雾见光明」。论文十分适合该领域的初学者通读,写的十分友好,不过由于涉及到的模型/技术很多,所以遇到不熟悉的部分还是需要自行了解。
zenRRan
2019/11/12
11.8K0
谷歌T5模型刷新GLUE榜单,110亿参数量,17项NLP任务新SOTA
在最新发布的论文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》中,谷歌提出预训练模型 T5,参数量达到了 110 亿,再次刷新 Glue 榜单,成为全新的 NLP SOTA 预训练模型。
机器之心
2019/10/30
9330
谷歌T5模型刷新GLUE榜单,110亿参数量,17项NLP任务新SOTA
NLP领域预训练模型的现状及分析
小牛翻译,核心成员来自东北大学自然语言处理实验室,由姚天顺教授创建于1980年,现由朱靖波教授、肖桐博士领导,长期从事计算语言学的相关研究工作,主要包括机器翻译、语言分析、文本挖掘等。团队研发的支持140种语言互译的小牛翻译系统已经得到广泛应用,并研发了小牛翻译云(https://niutrans.vip)让机器翻译技术赋能全球企业。
AI科技评论
2019/11/07
1.1K0
NLP领域预训练模型的现状及分析
5分钟NLP:Text-To-Text Transfer Transformer (T5)统一的文本到文本任务模型
本文将解释如下术语:T5,C4,Unified Text-to-Text Tasks
deephub
2022/06/04
1.6K0
5分钟NLP:Text-To-Text Transfer Transformer (T5)统一的文本到文本任务模型
最强记忆 VS 最强检索:T5 & REALM 你pick谁?
如果突然让你回答,“ Geoffrey Hinton 的出生年月日是?”,相信大部分人是不知道的,转头直接百度或谷歌,然后找到相关词条,抽取关键信息,回答:“1947年12月6日”(冷知识 get)。
大数据文摘
2020/03/05
9600
最强记忆 VS 最强检索:T5 & REALM 你pick谁?
LLM主要类别架构
💫LLM分类一般分为三种:自编码模型(encoder)、自回归模型(decoder)和序列到序列模型(encoder-decoder)。
@小森
2024/06/04
5530
解密Prompt系列2. 冻结Prompt微调LM: T5 & PET & LM-BFF
这一章我们介绍固定prompt微调LM的相关模型,他们的特点都是针对不同的下游任务设计不同的prompt模板,在微调过程中固定模板对预训练模型进行微调。以下按时间顺序介绍,支持任意NLP任务的T5,针对文本分类的两篇PET和LM-BFF。
风雨中的小七
2023/02/24
2.5K0
解密Prompt系列2. 冻结Prompt微调LM: T5 & PET & LM-BFF
突破迁移学习局限!谷歌提出“T5” 新NLP模型,多基准测试达SOTA
而迁移学习之所以如此有效,得益于其利用自监督任务(如语言建模或填充缺失词)在大量可用的无标注的文本数据上对模型进行预训练;接着,又在更小的标注数据集上对模型进行微调,从而让模型实现比单单在标注数据上训练更好得多的性能。
AI科技评论
2020/02/26
1K0
CLarET:实现上下文到事件相关感知的预训练模型
每天给你送来NLP技术干货! ---- 本期分享者:澜舟金融NLP组 研究方向为金融领域 NLP 算法的研究和应用。 邮箱:mayongliang@langboat.com 写在前面 自然语言文本里描述的“事件”,通常是由一个谓词及其论点组成的一个文本片段(span),是一个细粒度的语义单元,描述了实体的状态和行为,如 He looks very worried 和 I grab his arms。理解事件并建模它们之间的相关性是许多推理任务的基础。在图1的例子中,想要生成事件[E],模型需要先知道这里有四
zenRRan
2022/10/11
9050
CLarET:实现上下文到事件相关感知的预训练模型
T5,一个探索迁移学习边界的模型
T5 是一个文本到文本迁移 Transformer 模型,通过将所有任务统一视为一个输入文本并输出文本,其中任务类型作为描述符嵌入到输入中。该模型使单个模型可以执行各种各样的有监督任务,例如翻译、分类、Q&A、摘要和回归(例如,输出介于 1 到 5 之间两个句子之间的相似性得分。实际上,这是一个 21 类分类问题,如下所述)。该模型首先在大型语料库上进行无监督的预训练(像 BERT 中一样的隐蔽目标),然后进行有监督训练,其中包含代表所有这些任务的输入文本和相关带标签的数据,也就是文本(其中输入流中的特定标记“将英语翻译为法语”或“ stsb句子1:…句子2”,“问题” /“上下文”等对任务类型进行编码,如上图所示,模型经过训练输出与标记数据匹配的文本。)通过这种为监督学习指定输入和输出的方法,该模型在所有不同的任务之间共享其损失函数、解码器等。
AI科技大本营
2019/11/13
9140
Transformer 架构—Encoder-Decoder
最初的Transformer是基于广泛应用在机器翻译领域的Encoder-Decoder架构:
JOYCE_Leo16
2024/03/19
1.1K0
Transformer 架构—Encoder-Decoder
「X」Embedding in NLP|一文读懂 2023 年最流行的 20 个 NLP 模型
在上一篇文章中,我们已经科普了什么是自然语言处理(NLP)、常见用例及其与向量数据库的结合。今天,依然是「X」Embedding in NLP 系列专题,本文为初阶第二篇,我们将深入介绍在 2023 年爆火的大语言模型 NLP 模型,包括 BERT、XLNet 等基础模型和 GPT、PaLM 等。
Zilliz RDS
2023/11/24
1.1K0
「X」Embedding in NLP|一文读懂 2023 年最流行的 20 个 NLP 模型
6种用于文本分类的开源预训练模型
文本分类是自然语言处理的核心思想之一。如果一台机器能够区分名词和动词,或者它能够在客户的评论中检测到客户对产品的满意程度,我们可以将这种理解用于其他高级NLP任务。
磐创AI
2020/06/29
3.1K0
6种用于文本分类的开源预训练模型
AAAI 2023 | 基于T5的两阶段的多任务Text-to-SQL预训练模型MIGA
机器之心专栏 作者:网易互娱 AI Lab 网易互娱 AI Lab 联合广东外语外贸大学和哥伦比亚大学基于预训练语言模型 T5 的预训练方式,提出了两阶段的多任务预训练模型 MIGA。 越来越多的工作证明了预训练语言模型(PLM)中蕴含着丰富的知识,针对不同的任务,用合适的训练方式来撬动 PLM,能更好地提升模型的能力。在 Text-to-SQL 任务中,目前主流的生成器是基于语法树的,需要针对 SQL 语法进行设计。 近期,网易互娱 AI Lab 联合广东外语外贸大学和哥伦比亚大学基于预训练语言模型 T5
机器之心
2023/03/29
6160
AAAI 2023 | 基于T5的两阶段的多任务Text-to-SQL预训练模型MIGA
预训练模型,NLP的版本答案!
问题其实很多,模型训练慢,一个月迭代一次很正常(现在做业务,两周就要有一轮迭代),显卡内存动不动就给爆了。
NewBeeNLP
2021/10/22
9060
预训练模型,NLP的版本答案!
乘风破浪的PTM:两年来预训练模型的技术进展
Bert模型自18年10月推出,到目前为止快两年了。它卜一问世即引起轰动,之后,各种改进版本的预训练模型(Pre-Training Model, PTM)与应用如过江之鲫,层出不穷。Bert及它的继任者们,确实也不负众望,在NLP各个领域攻城略地,所向披靡,多种NLP数据集竞赛榜单,连续多年被各种新出现的预训练模型霸榜,有些榜单,个别模型已经把指标刷到超过人类。
AI科技大本营
2020/10/09
9220
乘风破浪的PTM:两年来预训练模型的技术进展
Huggingface🤗NLP笔记2:一文看清Transformer大家族的三股势力
Transformer结构最初就是在大2017年名鼎鼎的《Attention Is All You Need》论文中提出的,最开始是用于机器翻译任务。
beyondGuo
2021/10/08
4.3K0
生成式预训练模型之BART
每天给你送来NLP技术干货! ---- 写在前面 在文本理解任务(Natural Language Understanding)上,预训练模型已经取得了质的飞跃,语言模型预训练+下游任务fine-tune基本上已经成为标配。 很多人曾经尝试将 BERT 等预训练语言模型应用于文本生成任务(Natural Language Generation),然而结果并不理想。究其原因,是在于预训练阶段和下游任务阶段的差异。 BART这篇文章提出的是一种符合生成任务的预训练方法,BART的全称是Bidirectional
zenRRan
2022/08/31
3K0
生成式预训练模型之BART
【NLP专栏】图解 BERT 预训练模型!
审稿人:Jepson,Datawhale成员,毕业于中国科学院,目前在腾讯从事推荐算法工作。
zenRRan
2020/11/04
1.7K0
【NLP专栏】图解 BERT 预训练模型!
推荐阅读
相关推荐
广告行业中那些趣事系列23:一个大一统的NLP处理框架T5
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档