一句话定义
掩码语言建模(Masked Language Modeling,简称 MLM)是一种训练语言模型的方法:把句子里的一部分词随机遮住,让模型根据剩下的上下文把它们猜回来。
它到底在练什么
想象一张语文卷子上的完形填空题:
> 今天出门太急,我连____都忘带了,只好回去拿。
空格里可能是「钥匙」「手机」「工牌」,也可能不止一个合理答案。模型要做的,就是对每个被遮住的位置,从整个词表里算出一个概率分布,把最高分的那几个候选词交上来。
具体机制大致是:把一句话切成词或子词(token)后,随机挑一小部分位置(例如一成到两成)替换成一个特殊符号 [MASK],然后让模型预测这些位置原本是什么词。训练时只在被遮住的位置上计算误差、更新参数——没被遮住的地方不算分,因为答案本来就摆在眼前。
关键在于:模型在猜某个空时,左边和右边的词都能看到。这跟人做阅读理解一样,前后文一起读才判断得准。正因为如此,MLM 训练出来的模型天然擅长「理解」,而不是「往下写」。
和相邻概念的区别
最常被拿来对比的是自回归语言建模(AI 词典:Autoregressive">Autoregressive Language Modeling),也就是 GPT 那一类「预测下一个词」的训练方式。
| 维度 | 掩码语言建模(MLM) | 自回归语言建模 |
|---|---|---|
| 看上下文 | 双向,左右都能看 | 单向,只能看左边 |
| 训练目标 | 还原被遮住的词 | 预测下一个词 |
| 擅长的事 | 理解类:分类、抽取、匹配、检索 | 生成类:续写、对话、写文章 |
| 典型角色 | 编码器(encoder)类模型 | 解码器(decoder)类模型 |
还有一个细节容易被忽略:[MASK] 只存在于训练阶段,真实使用时句子里根本没有这个符号。这带来一点「训练和推理不一致」的别扭感,也是后来出现各种改进训练目标的原因之一。
对从业者和普通人的意义
从从业者角度看,MLM 是理解类模型的通用起跑线。BERT 这一类编码器模型就是靠它预训练出来的。你拿到一个预训练好的模型,接一个小的任务头(比如分类头、序列标注头),用少量标注数据微调,就能做文本分类、情感分析、命名实体识别、句向量检索等一大批任务。很多做语义搜索、推荐召回、文本去重的团队,背后用的句向量模型,源头也往往是这样训练出来的编码器。
从普通人角度看,它解释了一件我们天天在用的能力:机器为什么会「看语境」。你搜「苹果发布会」,它不会把结果全推给水果种植户;客服系统能分清「我要取消订单」和「我要取消,订单不用了」的细微差别——这类判断能力,大多来自这种「遮住一部分、猜回原样」的反复练习。
想动手试,从公开的预训练模型(如 BERT 类模型)微调一个小任务最直接;具体接口与用法以官方页面为准。
