字节跳动提出的AMBERT模型是一种结合细粒度和粗粒度tokenization的预训练语言模型。以BERT为代表的预训练语言模型在自然语言理解(NLU)中的主导地位毋庸置疑。这些模型中的token通常是细粒度的,对于英文,token是单词或子词;对于中文则是单个汉字。AMBERT模型的设计旨在同时利用细粒度和粗粒度的优势。
在AMBERT中,英文的细粒度tokenization生成一串单词,而粗粒度tokenization生成一串短语。这两个token序列分别输入到两个encoder中,这两个encoder的架构与BERT或Transformer的encoder完全相同,但嵌入层参数不同,其他参数共享。这样可以获得词级别和短语级别的上下文表征。
预训练的目标依然是MLM(Masked Language Model),AMBERT在微调过程中以分类任务为例,使用细、粗粒度encoder中[CLS]的表征进行下游分类任务。文章中还提出了AMBERT的两种变体:AMBERT-Combo和AMBERT-Hybrid,分别采用不同的encoder结构。
在实验中,AMBERT使用了字节跳动的今日头条语料库作为中文预训练数据集,英文预训练数据集则来自Wikipedia和OpenWebText。实验结果显示,AMBERT在CLUE和GLUE等基准测试上表现优异,尤其在中文任务上有显著提升。
然而,AMBERT在中文数据集上的比较存在一些不足之处,包括分词工具和预训练数据集均未公开,且预训练模型的代码和模型也没有发布。这使得对比其他模型的结果可能存在不公允的情况。未来,AMBERT的进一步发展和开放可能会受到关注。