深入理解深度学习——BERT派生模型:T5(Text to Text Transfer Transformer)

这篇具有很好参考价值的文章主要介绍了深入理解深度学习——BERT派生模型:T5(Text to Text Transfer Transformer)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类目录:《深入理解深度学习》总目录


T5的全称为Text to Text Transfer Transformer,是谷歌提出的预训练语言模型领域的通用模型,该模型将所有自然语言问题都转化成文本到文本的形式,并用一个统一的模型解决。为了得到大一统的高质量预训练语言模型,T5不可避免地走上了“大力出奇迹”的道路,使用了更大的模型和更多的数据,但是模型和数据规模只是T5通往最强模型的手段之一,T5最核心的理念是:使用前缀任务声明及文本答案生成,统一所有自然语言处理任务的输入和输出。在此之前的几乎所有预训练语言模型,在下游任务微调过程中都需要添加非线性层,将模型的输出转化为任务指定的输出格式。T5不需要对模型做任何改动,只需要提供下游任务的微调数据;不需要添加任何非线性层,唯一需要做的就是在输入数据前加上任务声明前缀,下图所示为T5的输入格式和输出格式。绿色部分表示翻译任务,红色和黄色部分分别表示CoLA任务和STS-B任务,蓝色部分表示摘要生成任务,左侧的框表示T5的输入样例,右侧的框则是对应的输出结果。
深入理解深度学习——BERT派生模型:T5(Text to Text Transfer Transformer)
T5将自然语言处理任务都转化成几乎一致的格式,即输入是带有任务前缀声明的文本序列,输出的文本序列是相应任务的结果。其输入格式和输出格式类似于GPT-3在Few-shot Learning设置下的格式,与GPT-3不同的是,T5适用于所有自然语言处理任务,而GPT-3受限于模型结构,只在文本生成任务上有独特的优势。由于T5的论文细节和对比实验很丰富,本文挑选关键算法和模型细节进行介绍。

算法细节

模型结构

T5在结构选型时考虑了3种模型结构,如下图所示,分别是Encoder-Decoder结构(传统的Transformer结构)、Decoder结构(GPT的结构)和Prefix LM结构(UniLM的结构)。
深入理解深度学习——BERT派生模型:T5(Text to Text Transfer Transformer)
T5对这3种模型结构均做了测试,发现Transformer Encoder-Decoder结构效果最佳,于是遵循实践出真知的法则,T5的模型结构采用了传统的Transformer结构。

训练数据

T5训练的文本均来自Common Crawl数据集,该数据集中的数据是从互联网上爬取的(大约每个月抓取20TB的文本数据)。T5选取了2019年4月的数据,经过清洗,得到750GB的满足训练要求的数据,将其作为训练数据,并取名为C4数据集(Colossal Clean Crawled Corpus),具体的清洗要求如下:

  • 只保留结尾是正常符号的句子,如句号、感叹号、问号和引号。
  • 删除所有内容少于5句且句子长度小于3个词的页面数据。
  • 删除所有包含黄暴词的页面数据。
  • 删除包含“.JavaScript”的词(针对网页数据)。
  • 删除包含占位符“lorem ipsum”(排版测试中经常出现)的页面数据。
  • 删除编程语言中经常出现的大括号对“{}”所在的页面数据。
  • 删除连续重复3次以上的句子,只保留一句。
  • 利用语种检测工具langdetect,只保留语种检测为英语,且置信度超过0.99的数据(训练针对英语任务的模型)。
输入和输出的格式化

T5与其他模型最大的区别在于,对下游任务微调训练更友好。不需要做任何模型侧的改动,只需要对下游任务的训练数据做简单改写,就可以用T5完成相应的任务。具体而言,在输入数据之前,添加任务的前缀声明,并将输出数据转化为文本表示,分类任务使用类别名即可。尤其针对输出结果是连续值的任务,根据训练数据的标签分布,采用模糊化的方式,将数值格式转化为文本格式,如1~5分的连续分值,以0.2为间隔将其分桶量化,则可得到一系列字符串标签类别,如“1”“1.2”“4.8”“5”等。下面介绍两个经典任务的改写方法。

  • CoLA(The Corpus of Linguistic Acceptability,判断句子的语法是否可接受,属于二分类任务,输出0表示不可接受,输出1表示可接受):

原始输入:John made Bill master of himself
原始标签:1
T5输入:cola sentence:John made Bill master of himself.
T5标签:acceptable

  • STS-B(Semantic Textual Similarity Benchmark)为语义相似度检测任务,输出1~5分内的连续值:

原始输入1:Representatives for Puretunes could not immediately be reached for comment Wednesday.
原始输入2:Puretunes representatives could not be located Thursday to comment on the suit.
原始标签(数值类型):3.25
T5输入:

  • stsb sentence1:Representatives for Puretunes could not immediately be reached for comment Wednesday.
  • sentence2: Puretunes represen-tatives could not be located Thursday to comment on the suit.

T5标签(字符串类型):3.2

训练过程

T5进行了很多对比实验,来挑选最合适的训练方法,具体而言,有如下3种(用“|”分割T5的输入和输出):

  • 标准语言模型式:已知上半句,预测下半句。例如:Thank you for inviting|me to your party last week.
  • BERT式:掩盖一部分词,还原被掩盖的词。例如:Thank you<MASK>``<MASK>me to your party<MASK>week|Thank you for inviting me to your party last week.
  • 乱序还原式:将文本顺序打乱,还原正确的语序。例如:party me for your to.last you inviting week Thank|Thank you for inviting me to your party last week.

实验表明,采用BERT式的训练方法效果最好,其实这也是BART所用的训练方法之一(BART还使用了其他噪声方法)。BERT式的训练方法依然有不少细节需要推敲,如掩码范围和替换词挑选策略等,因此T5又做了3组实验,挑选最佳的替换词方式,具体而言,有如下3种(用“|”分割T5的输入和输出):

  • 单个词用<MASK>替换,与BERT一样。例如:Thank you<MASK>``<MASK>me to your party<MASK>week|Thank you for inviting me to your party last week.
  • 若干个连续词一起替换,只预测被替换的词。例如:Thank you<X>me to your party<Y>week.|<X>for inviting<Y>last<Z>
  • 随机丢弃若干词,只预测被丢弃的词。例如:Thank you me to your party week.|for inviting last

实验表明,采用若干个连续词一起替换的方式效果最好,虽然其思想与BART的Text Infilling噪声训练方法一致,但形式上更简洁,BART以原文作为Decoder的标签,而T5只需要预测被掩盖的部分词即可。与此同时,T5还做了更为细致的实验,测试在不同掩码范围下模型的表现,以找出最合适的掩码长度。实验结果表明,长度为3是最合适的,而替换概率遵循BERT的15%是最佳的原则。

综上所述,T5利用了近年来在预训练语言模型上使用的技巧,做了大量的对比实验。虽然T5并没有提出新的模型结构或新的训练模式,但它通过巧妙地改写输入和输出,让T5不需要改动模型结构,就能在下游任务数据集上进行微调训练,本身就算一个跨越式进步。借助超大的模型规模和训练数据,具有110亿参数规模的T5在几乎所有任务上都达到了SOTA效果,再一次证明了预训练语言模型领域“大力出奇迹”的法则。从Transformer被提出到T5的出现,历史的车轮向前滚动,基于Transformer的预训练语言模型还是回归了最初的样子,也奠定了Transformer作为特征提取器在自然语言处理领域不可撼动的地位。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.文章来源地址https://www.toymoban.com/news/detail-499206.html

到了这里,关于深入理解深度学习——BERT派生模型:T5(Text to Text Transfer Transformer)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • T5模型: Transfer Text-to-Text Transformer(谷歌)

    🔥 T5由谷歌发表于2019,《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》,最终版本发布在:JMLR。 一句话总结T5: 大一统模型,seq2seq形式完成各类nlp任务,大数据集预训练,大量实验,财大气粗,诚意满满,给nlp预训练模型领域提供了一个通用框架,提供了

    2024年02月17日
    浏览(38)
  • 深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):BERT的结构

    分类目录:《深入理解深度学习》总目录 相关文章: · BERT(Bidirectional Encoder Representations from Transformers):基础知识 · BERT(Bidirectional Encoder Representations from Transformers):BERT的结构 · BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model) · BERT(Bidirect

    2024年02月11日
    浏览(52)
  • 深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):基础知识

    分类目录:《深入理解深度学习》总目录 相关文章: · BERT(Bidirectional Encoder Representations from Transformers):基础知识 · BERT(Bidirectional Encoder Representations from Transformers):BERT的结构 · BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model) · BERT(Bidirect

    2024年02月11日
    浏览(52)
  • 【NLP】BERT,BART和T5等LLM模型的比较

            在这篇博文中,我将讨论像BERT,BART和T5这样的大型语言模型。到2020年,LLM领域取得的主要进展包括这些模型的开发。BERT和T5由Google开发,BART由Meta开发。我将根据这些模型的发布日期依次介绍这些模型的详细信息。在之前的博客文章自然语言处理的自回归模型中

    2024年02月15日
    浏览(40)
  • 自然语言处理实战项目25-T5模型和BERT模型的应用场景以及对比研究、问题解答

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目25-T5模型和BERT模型的应用场景以及对比研究、问题解答。T5模型和BERT模型是两种常用的自然语言处理模型。T5是一种序列到序列模型,可以处理各种NLP任务,而BERT主要用于预训练语言表示。T5使用了类似于BERT的

    2024年01月17日
    浏览(64)
  • 【深度学习】预训练语言模型-BERT

            BERT 是一种预训练语言模型(pre-trained language model, PLM),其全称是Bidirectional Encoder Representations from Transformers。下面从语言模型和预训练开始展开对预训练语言模型BERT的介绍。 1-1 语言模型         语言模型 :对于任意的词序列,它能够计算出这个序列是一句

    2023年04月08日
    浏览(69)
  • 【论文解读】(如何微调BERT?) How to Fine-Tune BERT for Text Classification?

    论文地址:https://arxiv.org/pdf/1905.05583.pdf 论文年份:2019年05月 论文代码: https://github.com/xuyige/BERT4doc-Classification 论文引用量:1191 (截止2023-04-28) 论文阅读前提:熟悉NLP、深度学习、Transformer、BERT、多任务学习等。 现在NLP任务方式大多都是对BERT进行微调。例如:我们要做一个

    2024年02月07日
    浏览(42)
  • 【深度学习应用】基于Bert模型的中文语义相似度匹配算法[离线模式]

    配置文件夹 文件获取方法:  访问官网:https://huggingface.co/bert-base-chinese/tree/main 下载以下文件 

    2024年01月16日
    浏览(55)
  • 七篇深入理解机器学习和深度学习的读物推荐

    在这篇文章中将介绍7篇机器学习和深度学习的论文或者图书出版物,这些内容都论文极大地影响了我对该领域的理解,如果你想深入了解机器学习的内容,哪么推荐阅读。 在自然语言处理和序列建模领域,Vaswani等人的一篇论文《Attention Is All You Need》彻底改变了这一领域。这

    2024年02月07日
    浏览(41)
  • 深入理解深度学习——正则化(Regularization):Dropout

    分类目录:《深入理解深度学习》总目录 Dropout供了正则化一大类模型的方法,计算方便且功能强大。在第一种近似下,Dropout可以被认为是集成大量深层神经网络的实用Bagging方法。Bagging涉及训练多个模型,并在每个测试样本上评估多个模型。当每个模型都是一个很大的神经

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包