字节跳动 | AMBERT:一种多粒度Tokenization的预训练语言模型

论文标题:AMBERT: A Pre-trained Language Model with Multi-Grained Tokenization(多粒度分词的预训练语言模型AMBERT)
作者:Xinsong Zhang, Hang Li
机构:字节跳动
论文地址:https://www.aminer.cn/pub/5f48cdef91e011096f956039
摘要

以BERT为代表的预训练语言模型在自然语言理解(NLU)中的霸主地位毋庸置疑。这些模型中的token通常是细粒度的,对于英文,token是单词或子词;对于中文这类语言,token则是单个汉字。在英语中也存在多个单词组成的自然词汇单元,例如New York,因此使用粗粒度的tokenization也是合理的。事实上,细粒度和粗粒度tokenization对于预训练语言模型的学习各有利弊。据此,字节跳动提出联合使用细粒度和粗粒度的预训练语言模型:AMBERT。对于英文,将tokenization之后得到的细粒度(一串的单词)信息和粗粒度(一串的短语)信息输入到AMBERT,细粒度和粗粒度分别使用一个encoder,这2个encoder仅仅是嵌入层参数不同,其他参数共享,从而获取词级别的上下文表征和短语级别的上下文表征。在中文上的细粒度和粗粒度分别对应字和词。在中英文benchmark(包括CLUE, GLUE, SQuAD and RACE)上分别进行实验。结果表明,AMBERT模型在几乎所有情况下都优于现有性能最好的模型,特别是对中文的性能改善显著。
模型

AMBERT的整体框架如Figure 3所示。先对输入文本上进行tokenization,以获得细、粗粒度的token序列。细、粗粒度token序列再分别输入到两个encoder。这里的encoder与BERT或Transformer的encoder的架构完全相同。此外,两个encoder在每个对应层共享相同的参数,但二者的嵌入层参数不同。最后分别得到细粒度token序列和粗粒度token序列的的上下文表征。
模型结构简单到爆,有木有啊?
预训练
预训练的目标还是MLM,由于NSP已经是树倒猢狲散,墙倒众人推,AMBERT当然站在巨人的肩膀上(踩上一脚),在需要的时候拿过来比(数)较(落)一番。
其中$\overline{\mathbf{x}}$表示被mask掉的细粒度token(即需要重建出来的token),$\hat{\mathbf{x}}$表示原文被mask的细粒度token序列。$\overline{\mathbf{z}}$表示被mask掉的粗粒度token(即需要重建出来的token),$\hat{\mathbf{z}}$表示原文被mask的粗粒度token序列。
微调
以分类任务上微调为例,将细、粗粒度encoder中 [CLS]的表征,用于下游分类任务。微调过程的优化函数如下:
其中,$\mathbf{x}$为输入的文本,$\boldsymbol{y}$表示待预测的文本类别,$\boldsymbol{r}_{x 0}$和$\boldsymbol{r}_{z 0}$分别是细粒度和粗粒度encoder中特殊token [CLS]的表征。而最后一项则是通过归一化让两个粒度得到的[CLS]表征尽量保持一致。此外,文章还对AMBERT稍作修改,就得到了下述2种变体:
AMBERT-Combo:
用两个非参数共享的encoder分别编码两种粒度的句子;
AMBERT-Hybrid:
用单个encoder而不是两个encoder去同时编码两种粒度的句子,也就是把粗细粒度的句子先拼接起来再送到BERT里,这就会让自注意力在不同粒度的句子中进行交互。
实验
数据说明
中文预训练数据集使用一个包含2500万文档(57G未压缩文本))的今日头条语料库(估计不会公开的,sad+1)。英文预训练数据集则来自Wikipedia和OpenWebText的1390万文档(47G未压缩文本)的语料库。对于中文,粗细粒度分别是词和字,在CLUE上进行评测。分词工具则是字节跳动内部开发的分词工具(估计也不会开源了sad+10086)。这两种token的生成过程都利用了WordPiece技术,最终产生的中文词典分别包含21128个字和72635个词。对于英文,粗细粒度分别短语和词。英文单词是天然的细粒度token,至于粗粒度是先利用KenLM构建n-gram,用频率足够高的短语构建短语级别的字典,这些短语的最后一个单词高度依赖于其前置单词。最后利用贪心算法对文本进行短语级切分,得到30522个单词和77645个短语。英文评测任务是在GLUE上进行的,此外还在英文阅读理解数据集SQuAD和RACE进行进一步实验。
实验结果:中文数据集
中文CLUE上的实验结果如Table 1和Table 2所示。从实验结果看,AMBERT在CLUE上确实一枝独秀,在其中4个任务上取得最优结果,但在WSC和CMRC数据集上与最优结果存在较大差距,特别是CMRC数据集上堪称大型翻车现场(3个百分点的差距)。
实验结果:英文数据集
Table 4和Table 6是AMBERT在GLUE上的实验结果。在多数数据集上AMBERT要优于其他baseline模型,且多粒度的效果确实好于单粒度。但是如果放到更大范围的模型比较,AMBERT整体上逊色于RoBERTa,但是优于其他模型。另外,从机器阅读理解数据集的对比结果Table 5可以看出,在SQuAD上AMBERT大大优于Google官方的BERT,而在检测span任务中,单词级的BERT通常表现良好,短语级BERT较差。另外,在RACE的dev set 和 test set上,AMBERT发挥稳定,全场最佳。
总结
文章提出多粒度的预训练模型AMBERT,联合使用粗细粒度的语言单元对句子进行切分,从而充分利用二者各自的优势。在中文和英文的自然语言理解任务上证明该模型的有效性,尤其是对中文而言提升效果更加显著。但是,在中文数据集上的比较上有几个不足:
(1) 中文的分词工具属于字节跳动内部,尚未开源。
(2) 更重要的是,预训练的数据集也是字节跳动内部的数据集,而不是通常中文预训练使用的中文维基百科语料。作者自己也一再强调,只能作为参考。
(3) 预训练模型包含代码和模型均没有发布。
基于现况,如此就在CLUE上其他模型比较,似乎有失公允。到底是分词、数据、还是模型优势?虽然作者也一直在强调,对比仅仅作为参考,仅作为参考,作为参考,为参考,参考。。。但是,作为一个既没有开放源码也没有发布预训练模型的预训练语言模型,应该是第一个吧,所以各相关从业人员于此颇有微词。未来或许可期,先让子弹飞一会,让我们拭目以待。
(0)

相关推荐

  • NLP 训练及推理一体化工具(TurboNLPExp)

    NLP 任务(序列标注.分类.句子关系判断.生成式)训练时,通常使用机器学习框架 Pytorch 或 Tensorflow,在其之上定义模型以及自定义模型的数据预处理,这种方式很难做到模型沉淀.复用和 ...

  • 这篇论文提出了一个文本<->知识图谱的格式转换器...

    Hello, 大家好,我是小花.今天给大家介绍一篇有野心的paper.为何如此说呢?因为该工作提出了一个知识的格式转换器,用于转换 无结构化的纯文本(Text)和结构化的知识图谱(KG) .换句话说, ...

  • 火山翻译:工业级应用与研究

    分享嘉宾:王明轩博士 字节跳动 算法科学家 编辑整理:曾辉.Hoh 语音朗读:蒋志新 出品平台:DataFunTalk 导读:本文的主题为火山翻译:工业级应用与研究,将从两个维度介绍字节跳动的机器翻译 ...

  • 综述 | 三大路径,一文总览知识图谱融合预训练模型的研究进展

    当前,预训练模型已是AI领域较为成熟的一项技术,但由于基于神经网络架构的模型本身不具有常识能力,在一些涉及逻辑推理和认知的任务上力有不逮. 近年来,知识图谱越来越受到人们的关注,知识图谱旨在提供一种复 ...

  • 回顾BART模型

    最近在生成相关论文时,经常看到使用BART(Bidirectionaland Auto-Regressive Transformers,双向自回归变压器)模型作为基线比较,或在BART模型上进行修改. ...

  • 深度了解自监督学习,就看这篇解读 !微软首创:运用在 image 领域的BERT

    作者丨科技猛兽 来源丨极市平台 编辑丨极市平台 极市导读 本文介绍的这篇工作是把 BERT 模型成功用在 image 领域的首创,也是一种自监督训练的形式,所以取名为视觉Transformer的BER ...

  • NLP预训练家族 | Transformer-XL及其进化XLNet

    NewBeeNLP 永远有料,永远有趣 194篇原创内容 公众号 最近又重新读了Transformer-XL和XLNet的论文和代码,又有很多新的感悟.其中,要想搞懂XLNet的同学一定要首先明白Tr ...

  • NeurIPS'20 | 通过文本压缩,让BERT支持长文本

    这是今年清华大学及阿里巴巴发表在NIPS 2020上的一篇论文<CogLTX: Applying BERT to Long Texts>,介绍了如何优雅地使用bert处理长文本.作者同时开 ...

  • 字节跳动火山翻译负责人:预训练时代的机器翻译

    2021年10月8日-10日,第十七届全国机器翻译大会 (CCMT 2021) 在西宁举行,字节跳动火山翻译团队技术和产品研发负责人王明轩以<预训练时代的机器翻译>为题,阐述预训练技术在机 ...

  • 阿里多语言翻译模型的前沿探索及技术实践

    分享嘉宾:张志锐博士 阿里达摩院 算法专家 编辑整理:曾辉 出品平台:DataFunTalk 导读:本文的主题为阿里多语言翻译模型的前沿探索及技术实践,将分三个部分介绍阿里巴巴在机器翻译方面的工作:首 ...

  • ACL 2021 | 丁香园知识增强预训练模型

    背景 使用预训练模型已经成为大部分NLP任务的标配,因此近年来有大量的工作围绕着如何提高预训练模型的质量.其中,引入外部知识无疑是最热门的话题之一.丁香园NLP联合华师大何晓丰老师团队,在今年的ACL ...

  • ENRIE:知识图谱与BERT相结合,为语言模型赋能助力

    来自:朴素人工智能 感谢清华大学自然语言处理实验室对预训练语言模型架构的梳理,我们将沿此脉络前行,探索预训练语言模型的前沿技术,红框中为已介绍的文章,绿框中为本期介绍的模型,欢迎大家留言讨论交流. E ...