全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2021-08-21_ByT5:迈向无token的未来,基于T5架构的预训练字节级Transformer

您的位置:首页 >> 新闻 >> 行业资讯

ByT5:迈向无token的未来,基于T5架构的预训练字节级Transformer 选自arXiv 作者:Linting Xue等 机器之心编译 机器之心编辑部 近年来,最广泛使用的预训练语言模型都是基于单词或子单词单元的 token 序列进行操作的,而直接对原始文本(字节或字符)进行操作的无 token 模型有很多好处。在本篇论文中,谷歌研究者进行了大量实验,发布了一组新的基于 T5 架构的预训练字节级 Transformer 模型,并开源了所有代码和数据。近年来,最广泛使用的预训练语言模型都是基于词或子词单元的 token 序列进行操作的。将文本编码为 token 序列需要一个通常作为模型的独立工件创建的 tokenizer。直接对原始文本(字节或字符)进行操作的无 token 模型有很多好处:它们可以开箱即用地处理任何语言的文本;它们对噪声更加鲁棒;它们通过删除复杂且容易出错的文本预处理 pipeline,将技术债务最小化。由于字节或字符序列比 token 序列长,过去经常在无 token 模型上引入新的模型架构,旨在分摊直接在原始文本上操作的成本。 在本篇论文中,谷歌研究者证明了一个标准的 Transformer 架构是可以在最少修改的情况下处理字节序列的。研究者仔细描述了参数计数、训练 FLOP、推理速度方面的权衡,并表明字节级模型与其 token 级模型的竞争力,还证明了字节级模型对噪声的鲁棒性明显更强,并且在对拼写和发音敏感的任务上表现更好。最后,研究者发布了一组新的基于 T5 架构的预训练字节级 Transformer 模型,并开源了实验中使用的所有代码和数据。 论文链接:https://arxiv.org/pdf/2105.13626.pdfGitHub 地址:https://github.com/google-research/byt5 引言 经过训练,基于文本的自然语言处理任务的机器学习模型可以对输入文本执行一定的推理。设计此类模型时的一个重要考虑因素是文本的表示方式。常见的表示方式是为有限、固定的词表中的每个单词分配一个唯一的 token ID。因此,在被输入到模型中进行处理之前,一段给定的文本会被 tokenizer 转换为 token 序列。但是使用固定词表存在一个问题:对于含有词表之外的词的文本,没有好的方法来处理,因为标准的方法是将所有未知单词映射到相同的 token,而这会阻止模型区分词表外不同的词。 Subword tokenizers 为词表外问题提供了一种优雅、灵活的解决方案。subword tokenizers 不是将每个词映射到单个 token,而是在固定词汇量的情况下最小化 token 序列的总长度,将词分解为更小的子词单元。例如,即使 「doghouse」不在子词词汇表中,子词 tokenizer 也可以将「doghouse」分为 「dog」和 「house」。 然而,subword tokenizers 也存在出一些缺陷。拼写错误、大写变体、形态变化都会导致词根或短语的 token 表示完全改变,从而导致模型做出错误预测。此外,如果未知字符来自构建子词词汇表时未使用的新语言,通常会超出子词模型的词汇表。 所以,更好的解决方案是创建可直接对原始文本进行操作的无 token 模型,即不依赖于学习词汇将单词或子词单元映射到 token 的 NLP 模型。利用了文本数据通常被存储为字节序列的事实,研究者将字节序列直接输入模型以允许模型处理任意文本序列。这种方法与致力于训练直接从原始数据映射到预测的模型的端到端学习的理念非常吻合。 在模型大小方面,也有好处:词级或子词级模型的大量词汇通常会导致许多参数专门用于词汇矩阵。相比之下,根据定义,字节级模型只需要 256 个嵌入。通过将单词表示从稀疏词汇矩阵迁移到密集网络层,模型应该能够更有效地泛化相关术语和拼写变体。最后,从实用的角度来看,使用基于 token 的模型对新语言或新术语更难适应,而根据定义,无 token 模型可以处理任何文本序列。 字节级模型的主要缺点是字节序列往往比 token 序列长得多。例如,假设英语的平均单词长度约为 5 个字符,则英语字节或字符序列通常比相应的单词级 token 序列长约 5 倍。由于机器学习模型的计算成本倾向于随序列长度而变化,因此需要使用卷积、池化或自适应计算时间来有效地处理长序列。 在本篇论文,来自谷歌的研究者采用了一种更简单的方法,并指出了 Transformer 架构可以直接适应于处理字节序列,同时不会显着增加计算成本。研究者专注于所有基于文本的 NLP 问题都被转换为文本到文本格式的 T5 框架。这种方法通过生成以某些输入字节为条件的字节序列使得处理 NLP 任务变得简单。 首先,研究者对提出的 ByT5 架构进行了描述,该设计与 mT5(多语言变体 T5)相对接近,架构差异如上图中所示。然后,通过对各种英语和多语言 NLP 任务的大量实验,尽管预训练的文本少了 4 倍,ByT5 与子词级基线相比仍然表现出色。而且字节级模型对输入文本的损坏具有显着更强的鲁棒性。最后,经过对计算成本和参数数量方面设计决策的权衡,研究者与本文一起发布了一组预训练的 ByT5 模型。 ByT5 架构设计 基于最近的 mT5 模型,研究者将 ByT5 在名为 mC4 的大型未标记多语言文本数据语料库上进行了训练,并在许多社区基准测试中达到了最先进的水平。研究者发布了与 T5 和 mT5 类似的五种尺寸的 ByT5 模型。ByT5 的目标是采用现有的基于 token 的模型并进行最少的修改以使其成为无 token 模型,并让 ByT5 涵盖与 mT5 相同的用例:涵盖 100 多种语言的通用的预训练文本到文本模型。研究者预计,因为在微调和推断方面减速较少,ByT5 将特别适用于处理中短文本序列(几个句子或更少)的任务。 从 mT5 到 ByT5 与 mT5 相比,研究者在设计 ByT5 时进行了以下关键更改:首先,省去了 SentencePiece 词汇表,将 UTF-8 字节无需任何文本预处理直接输入模型中;其次,修改预训练任务;然后,研究者发现当解耦编码器和解码器 transformer 堆栈的深度时,ByT5 表现最好;最后,根据 UTF-8 标准并非所有字节序列都是合法的,所以研究者会在模型的输出中删除任何非法字节。 与 mT5 模型相比,研究者在 ByT5 模型中所做的修改改变了模型的大小和计算成本。使用词级或子词级词汇表的模型通常包括一个词汇表矩阵,该矩阵存储词汇表中每个 token 的向量表示。在输出 softmax 层中,也包含一个类似的矩阵。对于大型词汇表(例如多语言模型中的词汇表),词汇矩阵可以构成模型参数的很大一部分。 为了补偿从基于 token 模型变为无 token 模型而导致的总参数量减少,研究者调整了 ByT5 模型隐藏大小 (dmodel) 和前馈维度 (dff) 以与 mT5 参数匹配,同时保持 dff 和 dmodel 之间的比率大约为 2.5。下表比较了全五种模型尺寸的 mT5 和 ByT5 架构。对于给定的命名大小,参数和层的总数是固定的。「Vocab」列表示词汇相关参数的百分比,涵盖输入嵌入矩阵和解码器 softmax 层。ByT5 将这些参数移出词汇表并移入 transformer 层,并将编码器层与解码器层的比率转换为 3:1。 另外,如上文中提到的,从词或子词级 token 序列更改为字节序列倾向于增加给定文本片段的序列长度。但是,并非所有易于测量的 FLOP 都是相同的,特定模型的实际成本还取决于运行它的硬件。识别可以轻松并行化的操作(例如编码器的完全可并行处理)和那些不能并行化的操作(例如推理期间解码器中的自回归采样)非常重要。因此,将词汇矩阵中的参数重新分配到模型的其余部分通常会导致模型需要更多的 FLOP 来处理给定的输入序列。另一个重要的衡量标准是数据效率,即模型需要多少数据才能给出一个好的解决方案。对于 NLP 问题,这可以根据 token 的数量或训练期间的原始文本量来衡量。 在 mC4 预训练语料库上测量的 mT5 SentencePiece 词汇的每种语言压缩率。 一方面,这种 4 倍的加长可以被视为 ByT5 的一个优势:对于更长的序列,模型可以花费更多的算力来编码给定的文本片段。另一方面,给定固定的输入序列长度和训练步骤数,模型在预训练期间接触的实际文本将减少 4 倍。考虑到这些因素,研究者在比较实验中关注了以下效率指标:参数计数、推理时间和预训练效率。 模型比较的核心结果 研究者在广泛的任务中比较了 ByT5 和 mT5。结果表明,ByT5 在标准英语和多语言 NLP 基准测试中与 mT5 具有竞争力,并且在小模型尺寸上优于 mT5。此外,ByT5 在自由格式生成任务和音译方面表现出色。 英文分类任务 下表结果显示了 mT5 和 ByT5 在 GLUE 和 SuperGLUE 上不同模型大小的性能。对于每个基准,研究者微调组成任务(即训练多任务模型),根据验证集性能选择每个任务的最佳检查点,并报告所有任务的平均验证集分数。 英文生成任务 下表显示了 mT5 和 ByT5 在英语生成基准上跨不同模型大小的性能。对于 GEM-XSum,报告了验证集上的最佳 BLEU 分数;对于 TweetQA,选择验证集上具有最佳 BLEU-1 的 checkpoint 并报告 BLEU-1 和 ROUGE-L。 跨语言基准 下表 ByT5 和 mT5 在 XTREME 任务子集上的表现表明 ByT5 总体上具有相当的竞争力。在最现实的语言设置中(所有语言中都有一些黄金训练数据可用),ByT5 在所有任务和模型大小上都优于 mT5。在 translate-train 设置中,ByT5 在较小的尺寸下击败了 mT5,但在较大的尺寸下结果好坏参半。 按语言分类 下图显示了 ByT5-Large 和 mT5-Large 在 TyDiQA-GoldP 和 XNLI zero-shot 两个任务上的语言差距。其中一个值得注意的趋势是,不同语言之间的差距相当稳定。例如,ByT5 在 TyDiQA-GoldP 上的每种语言中都更好,而 mT5 在 XNLI 上始终更好。跨语言比较,研究者观察到 SentencePiece token 压缩率较高的语言(例如泰语和泰卢固语)在 mT5 上表现更好,而那些压缩率较低的语言(例如印度尼西亚语和越南语)在 ByT5 上表现更好。研究者没有观察到任何关于形态复杂性、语言族、脚本、字符集大小或数据可用性的强劲趋势。 音译 在下表中,ByT5 明显优于 mT5,在 12 种语言中,根据模型大小将错误率降低了 39-53%。ByT5 还击败了字符级 transformer 基线,在此任务中的所有模型大小上,ByT5 的性能表现都相似。这表明只要模型是字符感知的,学习一个强大的音译模型不需要大容量。 合成噪声实验 现代数字平台上的文本嘈杂且表现出复杂的字符级现象,例如拼写错误、字符重复和非标准大小写变化等。除此之外,NLP 系统的其他组件比如涉及自动语音识别的 pipeline 可能也会引入错误。在 TweetQA 的「凌乱」文本上,研究者已经看到了 ByT5 的强大性能。在本节中,研究者将转向更加嘈杂的文本,并在被各种人工噪声破坏的输入上探索模型性能。在一系列噪声方案中,研究者发现 ByT5 的性能优于 mT5,对跨任务和语言的噪声具有更高的鲁棒性。 噪声的实验方案 删除:每个角色都有 10% 的几率删除。 添加 / 删除 / 改变:在每个字符位置,有 10% 的机会应用三个操作之一。 重复次数:每个字符有 20% 的几率被选中重复,如果选中,则会在原始字符后附加 1-3 次重复。 Antspeak:每个字符都大写并用空格填充,例如,「abc def」变成「A B C D E F」。 大写:每个字符都转换为大写,只考虑脚本区分大小写的语言。 随机大小写:每个字符设置为随机大写或小写,同样,只考虑脚本区分大小写的语言。 可学习与不可视的噪声 对于可学习噪声来说,更简单的设置是在微调和评估期间应用噪声。下表显示了 ByT5 和 mT5 适应可学习噪声的不同能力。研究者测量干净和嘈杂设置之间任务指标的退化,并观察到在所有六种噪声条件下,mT5 在噪声情况下比 ByT5 退化得更多。在最极端的对比中,随机案例(通常用于社交媒体上的情感设备)对 mT5 非常不利,损失为 -25.7 和 -13.9 分,而 ByT5 仅遭受 -1.5 和 -1.2 分。ByT5 在几乎所有语言中的大写和重复上都非常鲁棒。 研究者还测试了训练过程中看不见但在评估过程中注入噪声的鲁棒性。如下表的最右边一列显示,在这个更具挑战性的设置中,ByT5 对噪声具有非常强的弹性。虽然某些类型看不见的噪音(如 A N T S P E A K)非常有害,但 ByT5 只有轻微的退化。 消融实验 为了更好地理解各种设计选择的重要性,研究者训练了消融模型,并将它们的性能与基线在三个任务上进行了比较:XNLI zeroshot、TyDiQA-GoldP 和 GEM-XSum。参数匹配的 ByT5-Large 和 mT5-Large 模型作为基线和消融模型列在下表中。 如下表所示,ByT5-36/12-668M 模型仍然具有相当的竞争力,并且大大优于大致相似尺寸的 mT5-Base,这证明了 ByT5 的价值不仅仅来自使用更宽的 transformer 层。下表还显示了 XNLI zeroshot、TyDiQAGoldP 和 GEM-XSum 的消融结果。从结果可以看到长度为 20 的基线在分类任务 XNLI 上表现最好,而长度为 40 在 TyDiQA-GoldP 和 GEM-XSum 上表现更好,这两者都需要生成自然语言文本输出。 在上表中,还可以看到 CharT5 具有相当的竞争力,但在所有三个任务上的表现都比 ByT5 稍差。这可能是由于两个因素:CharT5 为稀有字符保留了容量,并且这些参数会更好地分配在 transformer 层中;UTF-8 字节增加了非 ASCII 文本的序列长度,导致非拉丁文字编码和解码语言花费了额外的算力预算。 速度比较 下表比较了 ByT5 与 mT5 的预训练 FLOP,以及固定硬件上的预训练速度(每秒长度 1024 的序列数)。在所有模型大小中,ByT5 需要大约 1.2 倍以上的操作,大约每秒 0.75 倍的序列数。 如下表所示,通过测量从分类任务 (XNLI zeroshot) 和生成任务 (GEM-XSum) 的测试集推断 512 个示例的预测所需时间,比较了 ByT5 和 mT5 的推理速度。由于更宽的 transformer 层和增加的序列长度,根据模型大小不同,ByT5 分类慢 1.1 到 2.0 倍,生成慢 1.5 到 7.0 倍。 总体而言,作者认为额外的预训练时间成本(大约 +33% )和额外的微调成本(某些任务)在许多应用程序中是合理的,因为降低了系统复杂性、拥有对噪声有更好的鲁棒性、改进了许多基准测试中的任务表现。 NVIDIA对话式AI开发工具NeMo实战分享 开源工具包 NeMo 是一个集成自动语音识别(ASR)、自然语言处理(NLP)和语音合成(TTS)的对话式 AI 工具包,便于开发者开箱即用,仅用几行代码便可以方便快速的完成对话式 AI 场景中的相关任务。8月26日20:00-21:00,系列分享第2期:使用NeMo快速构建智能问答系统。 智能问答系统简介 智能问答系统的工作流程和原理 构建适合于NeMo的中文问答数据集 在NeMo中训练中文问答系统模型 使用模型进行推理完成中文智能问答的任务 直播链接:https://jmq.h5.xeknow.com/s/how4w(点击阅读原文直达) 报名方式:进入直播间——移动端点击底部「观看直播」、PC端点击「立即学习」——填写报名表单后即可进入直播间观看。 交流答疑群:直播间详情页扫码即可加入。 ?THE END 转载请联系本公众号获得授权 投稿或寻求报道:content@jiqizhixin.com 阅读原文

上一篇:2021-12-22_“谢谢”两个字,是过去一年里最动人的文案 下一篇:2021-12-30_一个框架统一Siamese自监督学习,清华、商汤提出简洁、有效梯度形式,实现SOTA

TAG标签:

17
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价