掩码语言建模 MLM 是什么?遮住几个词让模型来猜
掩码语言建模(Masked Language Modeling,MLM)是一种广泛用于自然语言处理模型预训练的方法。它的做法是:把输入文本中的一部分词“屏蔽”掉,通常替换为一个特殊的掩码标记,比如 [MASK],然后训练模型根据上下文,预测出被遮住的词原本是什么。这有点像我们做的完形填空题。
BERT 带火了它
掩码语言建模因为谷歌在 2018 年提出的 BERT 模型而广为人知。在 BERT 的训练中,输入文本里大约 15% 的词会被选中进行处理:其中大部分被替换为 [MASK] 标记,一小部分被替换成随机的其他词,还有一小部分保持不变。之所以不全部替换成 [MASK],是因为在实际使用模型时,输入中并不会出现 [MASK] 标记,这样做可以减少训练和使用之间的差异。模型需要预测出这些被选中位置原本的词。
它的优势:双向理解
掩码语言建模最大的特点是,模型在预测被遮住的词时,可以同时看到它左边和右边的上下文。比如句子“我把[MASK]放进了冰箱”,模型既能看到前面的“我把”,也能看到后面的“放进了冰箱”,从而推断出被遮住的可能是“牛奶”“西瓜”之类的东西。这种双向的理解能力,让基于 MLM 训练的模型在理解类的任务上表现非常出色,比如文本分类、情感分析、命名实体识别、阅读理解和语义相似度判断。
相比之下,GPT 这类模型采用的是因果语言建模,也就是根据前面的词预测下一个词,只能看到左边的上下文。这让它天然擅长生成文本,但在早期的理解类任务上不如双向模型。需要注意,GPT-2 等 GPT 系列模型并不使用掩码语言建模。
它是自监督的
掩码语言建模不需要人工标注:任何一段文本都可以拿来,自动地遮住一些词,再让模型去猜,训练数据可以无限地从互联网上的文本中获取。这种“自己出题自己学”的自监督学习方式,让模型能在海量的无标注文本上学到丰富的语言知识,再通过少量标注数据微调到具体的任务上。
后续发展
BERT 之后,出现了很多改进的掩码语言模型:RoBERTa 用更多数据、更长时间训练,并去掉了一些不必要的设计;SpanBERT 遮住连续的一段词而不是单个词;ELECTRA 改成判断每个词是否被替换过,训练效率更高。掩码的思想也被推广到了图像领域,比如何恺明团队的 MAE(掩码自编码器),遮住图片中的大部分小块,让模型去重建,成为视觉预训练的重要方法。如今的大语言模型主要采用生成式的下一个词预测,但基于 MLM 训练的编码器模型,仍然被广泛用于检索、分类、嵌入等任务。