第20章 预训练语言模型的建立
本章核心问题
为什么大规模自监督训练能够在没有人工标签的情况下,学出强大的语言表示能力,并进一步成为现代大语言模型的直接前身?
1. 问题背景
在前一章中,我们已经看到,Transformer 用自注意力机制重写了序列建模的基本方式。对于一个长度为 $T$ 的词元序列,模型不再必须像循环网络那样逐步压缩历史,而是可以通过注意力机制直接访问上下文中的不同位置。这一变化首先解决的是结构能力问题,也就是模型是否有足够的表达力来处理复杂的长程依赖。
但是,结构能力的增强并不自动等于语言能力的形成。即使我们已经拥有了更强的模型结构,仍然还面临一个更根本的问题:模型究竟从哪里获得语言知识?如果继续沿用早期自然语言处理中的任务式监督学习范式,那么每一个任务都需要单独标注数据。例如,文本分类需要人工类别标签,问答需要标准答案,命名实体识别需要实体边界标注。这样的训练方式有两个明显限制。
第一,人工标注数据昂贵而稀缺。真实世界中的文本数量极其庞大,但其中只有很小一部分被整理成可直接监督学习的数据集。第二,任务之间彼此割裂。一个模型在情感分类上训练出来,并不会自然具有摘要、翻译或问答的能力。也就是说,传统监督学习往往只能让模型学会某一个具体任务,却很难让模型形成一种跨任务、可迁移的通用语言知识。
因此,第五编到了这一章时,问题的重心发生了变化。前面几章主要讨论“如何设计更强的结构”,而本章要讨论的是“如何让强结构接触足够大的数据,并从中自行提取规律”。这正是预训练语言模型兴起的历史背景。它的基本思想是:先在海量未标注文本上训练一个统一模型,让模型通过预测文本中的某些部分来学习语言分布和上下文关系;然后再把这个已经获得一般语言能力的模型迁移到具体任务上。
这种思想之所以能够成立,依赖于一个非常关键的数学判断:即使没有人工标签,语言数据本身也隐藏着可供学习的监督信号。换句话说,文本序列自身就能生成训练目标。例如,若句子前面的词已经给定,那么下一个词就可以被视为预测目标;若句中某些词被遮住,那么这些词也可以由上下文恢复。正是这种“从数据内部构造预测目标”的方法,使得自监督学习成为预训练语言模型的核心。
从人工智能发展的历史位置来看,本章讨论的阶段,标志着机器学习从“针对单任务建模”迈向“先学习一般表示,再适配具体任务”的关键转折。它既继承了第三编中深度表示学习的思想,又建立在第四编序列建模和第五编 Transformer 结构的基础上。更重要的是,它为后面的大语言模型奠定了直接的训练范式。没有预训练语言模型,就不会有后来的 GPT、BERT,也不会有进一步发展出的通用对话模型和大规模生成式系统。
2. 数学原理
2.1 语言模型作为概率分解问题
设一个文本序列记为
这里,$T$ 表示序列长度,$x_t$ 表示第 $t$ 个位置上的词元。词元是模型处理的离散基本单位,它可以是词、子词、字符或其他符号。
语言模型的基本目标,是为整个序列赋予一个概率值 $P(x)$,也就是刻画这个序列在真实语言分布下出现的可能性。根据概率论中的链式法则,联合概率可以分解为条件概率的乘积:
这里,$x_{<t}$ 表示位置 $t$ 之前的前缀序列,即 $(x_1,\dots,x_{t-1})$;符号 “$\mid$” 表示条件概率中的“在已知什么的条件下”;符号 $\prod$ 表示连乘积。这个分解说明,只要我们能够为每一个位置上的条件概率 $P(x_t\mid x_{<t})$ 建模,那么整个序列的联合分布也就被建模了。
这正是自回归语言模型的数学起点。所谓“自回归”,是指模型在预测当前位置时,把已经出现过的历史符号作为条件。于是,原本整体性的语言分布建模问题,被转化为一系列局部条件预测问题。
为了参数化这个条件分布,我们引入参数为 $\theta$ 的模型 $P_\theta$。这里 $\theta$ 表示模型全部可训练参数,例如嵌入矩阵、注意力权重、前馈层参数和归一化参数。于是模型对整个序列的概率写成
这一写法意味着,学习语言模型本质上是在寻找参数 $\theta$,使模型给真实文本序列分配较高概率。
2.2 对数似然与自回归训练目标
设训练语料由 $n$ 个样本组成,记为
这里,$\mathcal D_n$ 表示大小为 $n$ 的训练集,$x^{(i)}$ 表示第 $i$ 个训练序列,上标 $(i)$ 表示样本编号而不是幂次。
若我们采用极大似然估计,那么目标是最大化所有训练样本在模型下的联合概率:
由于概率乘积在数值上不稳定,也不便直接优化,通常转而最大化对数似然:
这里,$\log$ 表示自然对数。对数函数把乘积变为加和,因此会让优化表达式更加容易处理。
再利用前面的链式分解,可以把每个序列的对数概率展开为
这里,$T_i$ 表示第 $i$ 个序列的长度,$x_t^{(i)}$ 表示该序列第 $t$ 个位置的词元,$x_{<t}^{(i)}$ 表示该序列在位置 $t$ 之前的前缀。
于是,极大似然估计等价于最小化负对数似然损失:
这里,$\mathcal L_{\mathrm{AR}}(\theta)$ 表示自回归训练目标,下标 $\mathrm{AR}$ 是 autoregressive 的缩写;外层求和遍历所有训练样本,内层求和遍历每个样本中的各个位置。这个目标函数的含义是:对于训练语料中的每一个位置,模型都要尽量给真实出现的下一个词元分配更高概率。
如果把每一步预测看成一个多分类问题,那么上述负对数似然在形式上就等价于交叉熵损失。也就是说,预训练语言模型虽然训练规模极大,但从优化角度看,仍然是在反复最小化“真实词元与模型预测分布之间的交叉熵”。
2.3 为什么这是一种自监督学习
在传统监督学习中,训练数据通常写成 $(x_i,y_i)$,其中 $x_i$ 是输入,$y_i$ 是人工给出的标签。可是,在语言模型中,我们并不需要额外人工标注。训练目标直接来自文本自身。
例如,当我们处理序列 $(x_1,x_2,\dots,x_T)$ 时,可以把前缀 $x_{<t}$ 视为输入,把当前位置词元 $x_t$ 视为“标签”。于是,原始文本自动生成了大量训练对
这里的监督信号不是外部人工附加的,而是由数据内部结构产生的,所以这种训练方式被称为自监督学习。它保留了监督学习中的“预测目标”,却摆脱了人工标注的限制。
从数学上看,自监督学习并没有取消损失函数,也没有取消参数优化;它改变的是标签的来源。正因如此,它可以直接继承第三编和第四编中已经建立起来的深度学习训练框架,只是在目标构造方式上发生了变化。
2.4 掩码语言模型目标
自回归目标只利用“从左到右”的上下文。然而,在很多语言理解任务中,一个词的意义不仅取决于左边,也取决于右边。因此,另一条重要路线是掩码语言模型。
设一个序列仍记为
我们从中选出若干位置组成集合 $M$,其中 $M\subseteq \{1,2,\dots,T\}$。这里,$M$ 表示被遮住的位置集合,符号 “$\subseteq$” 表示“是其子集”。把这些位置上的词元隐藏后,得到部分可见的输入 $x_{\setminus M}$。这里的符号 “$\setminus M$” 表示把集合 $M$ 中对应位置的信息从输入中去掉或替换为掩码标记。
掩码语言模型的目标,是用其余上下文来预测被遮住的词元,因此对应损失可写为
这里,$\mathcal L_{\mathrm{MLM}}(\theta)$ 表示 masked language modeling 的损失;$M^{(i)}$ 表示第 $i$ 个训练样本中被掩码的位置集合;符号 “$t\in M^{(i)}$” 表示索引 $t$ 属于该掩码集合。
这条公式与自回归目标在形式上非常相似,但语义不同。自回归目标是在“历史前缀已知”条件下预测下一个词元,而掩码目标是在“部分位置被隐藏”条件下恢复缺失内容。前者更强调顺序生成,后者更强调上下文表征。
这也解释了为什么不同的预训练路线会导向不同的模型类型。以 GPT 为代表的模型更适合做连续生成,因为它天生就是按照条件概率链进行训练的;以 BERT 为代表的模型更擅长做表示抽取和理解任务,因为它在训练时学习的是“利用双侧上下文恢复局部缺失信息”。
2.5 Transformer 与预训练目标的结合
本章真正的历史突破,并不只是写下了上面的目标函数,而是 Transformer 结构使这些目标第一次能够在超大语料上被有效优化。
在自回归路线中,Transformer 解码器通过因果掩码保证位置 $t$ 只能访问 $t$ 之前的词元,因此它可以实现
这里的“因果掩码”指的是一种注意力约束,它会把未来位置的信息屏蔽掉,从而保持概率分解与链式法则一致。也就是说,虽然 Transformer 在结构上允许任意位置之间建立联系,但通过掩码限制后,它仍然能够模拟“只能看过去”的生成条件。
在掩码语言模型路线中,Transformer 编码器可以同时利用左右上下文,对被遮住位置形成上下文化表示,再输出该位置的预测分布。因此,同样的注意力框架既可以支持生成式训练,也可以支持恢复式训练。
这一点极为关键。它说明预训练语言模型的建立,不是某一个单独目标函数的胜利,而是“统一结构 + 大规模数据 + 自监督目标”三者结合的结果。缺少其中任何一项,都很难产生后来的大规模语言模型范式。
2.6 预训练与微调的数学分工
预训练语言模型的另一个核心思想,是把学习过程拆成两个阶段:先预训练,再微调。
设 $h_\theta(x)$ 表示预训练模型对输入文本 $x$ 提取出的表示,其中 $\theta$ 是在海量通用语料上学习到的参数。再设 $g_\phi$ 表示面向某个具体任务的输出头,其中 $\phi$ 是任务特定参数。那么下游任务模型可写为
这里,$h_\theta(x)$ 负责抽取通用语言特征,$g_\phi$ 负责把这些特征映射到具体任务输出,例如类别、答案片段、标签序列或生成词元。
若下游任务的监督数据记为
其中,$\mathcal T_m$ 表示大小为 $m$ 的任务数据集,$x_i$ 是第 $i$ 个输入,$y_i$ 是对应的任务标签。那么微调时通常最小化
这里,$L$ 表示下游任务损失函数,例如分类交叉熵、序列标注损失或生成损失。这个公式说明,预训练并没有替代监督学习,而是改变了监督学习的初始条件。模型不再从随机参数开始学习,而是从一个已经在大规模文本中获得统计结构知识的参数点出发。因此,在小样本任务上,它往往也能取得更好的表现。
2.7 表示迁移与分布拟合
为什么预训练得到的表示可以迁移?这需要从两个互补角度来理解。
第一个角度是分布拟合。通过最小化自回归损失或掩码损失,模型实际上在逼近真实语言分布中的统计结构。它会逐渐学到哪些词容易共现,哪些句法关系稳定存在,哪些语义搭配具有较高概率。虽然训练目标只是预测词元,但为了完成这一目标,模型必须在内部表示中吸收语法、语义、指代、主题和知识片段等多层信息。
第二个角度是表示迁移。设模型在某一层输出的隐藏表示记为
这里,$h_t$ 表示位置 $t$ 上的上下文化向量,$\mathbb R^d$ 表示 $d$ 维实向量空间,$d$ 是表示维度。这个向量不是手工设计的特征,而是为了最小化预训练目标自动学出的内部编码。若这些编码能够稳定表达句法角色、语义关系或上下文约束,那么它们就可能在情感分析、问答、摘要等下游任务中继续发挥作用。
因此,预训练模型的强大之处,并不在于它提前学会了某一个任务,而在于它学会了构造一种可复用的语言表示空间。下游任务真正利用的,往往不是原始词元本身,而是这些词元经过大规模预训练之后形成的上下文化表示。
2.8 编码器型与解码器型预训练模型
从训练目标与结构形式的结合来看,预训练语言模型大致形成两条经典路线。
第一条是编码器型路线。它通常配合掩码语言模型目标,强调通过双向上下文形成高质量表示。因为编码器在处理某个位置时,可以同时访问左右两侧信息,所以它更擅长理解、匹配、分类和抽取。
第二条是解码器型路线。它通常配合自回归目标,强调按照条件概率链逐步生成后续词元。由于解码器天然遵守“只看过去、不看未来”的生成约束,所以它更适合开放式文本生成、续写和对话。
这两条路线并不是完全对立的。它们都建立在 Transformer 的表示与注意力机制之上,只是训练目标、注意力约束和使用场景不同。后面的大语言模型之所以能够迅速崛起,正是因为解码器型预训练路线在大规模生成任务上表现出了极强的可扩展性。
3. 代表模型或算法
3.1 GPT 路线
GPT 路线的核心,是把 Transformer 解码器与自回归语言模型目标结合起来。在这种模型中,输入文本被分解为一个离散词元序列,模型在每一步根据已有前缀预测下一个词元的概率分布。训练时最小化的,就是前面定义的自回归负对数似然损失 $\mathcal L_{\mathrm{AR}}(\theta)$。
这一设计的关键优点在于,它把训练目标与生成任务完全统一起来。训练时模型学习“下一个词是什么”,推理时模型也是逐步输出“下一个词是什么”。因此,训练目标与使用方式之间几乎没有偏差。这种一致性为后来的大规模文本生成系统提供了非常稳固的数学基础。
从表示角度看,GPT 并不是先学表示再附加分类头,而是直接把“预测下一个词”当作统一训练任务。模型若想把这个任务做好,就必须在内部隐状态中编码语法关系、语义连贯性、世界知识和篇章结构。随着参数规模和训练数据规模不断扩大,这种训练方式逐渐表现出越来越强的泛化能力和生成能力。
3.2 BERT 路线
BERT 路线的核心,是把 Transformer 编码器与掩码语言模型结合起来。训练时,模型会随机遮住输入中的一部分词元,然后根据剩余上下文来预测被遮住的位置。
这种设计的优点在于,一个位置的表示不再只依赖左侧上下文,而可以同时利用左、右两侧信息。因此,BERT 学到的表示更适合做理解型任务,例如文本分类、句子匹配、问答和命名实体识别。
从数学上看,BERT 仍然是在最小化交叉熵,只不过预测目标从“序列下一个词”变成了“被遮住的局部词元”。它并不直接定义一个标准的左到右联合生成过程,因此在开放式生成任务上没有 GPT 那样自然;但在表示学习与迁移学习上,它展示出了极强的效果。
3.3 编码器型与解码器型模型的比较
如果从概率建模的角度比较,解码器型模型更接近严格的联合分布分解,因为它显式地写出
而编码器型模型更强调条件恢复,它优化的是“已知局部上下文时对被遮挡词元的条件预测能力”。
如果从任务适配角度比较,编码器型模型通常更适合理解、判别和检索类任务,因为它输出的是更完整的上下文化表示;解码器型模型通常更适合生成、续写和对话类任务,因为它训练时直接学习了逐词生成机制。
这一分化非常重要。它让预训练语言模型不再只是“一种模型”,而是逐渐形成一整套方法论:根据任务形式选择预训练目标,根据预训练目标选择结构形式,再根据结构形式决定模型更擅长哪类能力。
4. 典型应用
4.1 文本分类
在文本分类任务中,输入是一段文本 $x$,输出是类别标签 $y$,例如情感正负、新闻类别或风险等级。如果直接从头训练分类器,那么模型必须同时学习语言表示和分类决策,这在小样本条件下往往很困难。
而在预训练—微调框架中,我们可以先利用预训练模型得到表示 $h_\theta(x)$,再在其上接一个分类头 $g_\phi$,形成
这里,本章的数学内容具体是这样落地的:预训练阶段利用自回归或掩码目标学习参数 $\theta$,使 $h_\theta(x)$ 能编码丰富的上下文信息;微调阶段再利用少量标注样本最小化分类损失 $L(y,f_{\theta,\phi}(x))$。因此,文本分类真正受益的,并不是“模型变大”这一件事,而是“下游分类任务建立在预训练表示空间之上”。
4.2 问答与阅读理解
问答任务常常要求模型根据给定上下文定位答案或生成答案。这类任务对上下文依赖极强,单纯依赖词频或局部特征难以胜任。
若采用编码器型预训练模型,那么掩码语言模型训练所形成的双向上下文化表示,就可以为问答提供更强的语义对齐能力。因为在 MLM 训练中,模型本来就在学习“根据其他位置恢复当前缺失位置”,这与问答任务中“根据上下文确定答案位置或答案内容”在结构上有一定相似性。
换句话说,本章中的掩码目标
在问答应用中对应的是“利用其余上下文信息锁定关键位置”的能力。它虽然不是直接为问答设计的,却在数学上预先训练了模型处理上下文依赖和局部恢复的能力。
4.3 摘要、翻译与开放式生成
摘要和翻译等任务更接近序列生成问题,需要模型逐步输出目标文本。因此,这些任务与自回归目标的联系更加直接。
在自回归训练中,模型学习的是
也就是在已有前缀条件下预测下一个词元。摘要、翻译和对话生成在推理时本质上也是同样的过程:给定已经生成的前缀,继续预测后续词元。因此,GPT 路线的预训练目标与这些任务的推理方式高度一致。
这意味着,本章的数学原理在这些应用中不是“间接帮助”,而是“直接复用”。训练目标本身就已经在模拟推理时的生成过程,所以当模型规模与语料规模扩大时,它自然会在文本续写、摘要和翻译等任务上表现出越来越强的能力。
4.4 统一迁移学习
预训练语言模型最重要的应用意义,其实不只是某一项具体任务的性能提升,而是统一迁移学习范式的建立。
过去的 NLP 系统往往是“一个任务训练一个模型”;而预训练范式则变成“先训练一个通用底座,再适配许多任务”。从数学上说,关键在于把任务专属学习问题
中的参数 $\theta$ 改造成“先由大规模语料训练好的公共参数”。这样一来,不同任务不再从零开始,而是共享一个已经吸收了语言统计规律的表示空间。
因此,预训练语言模型的真正突破,不只是某个模型在某个榜单上的精度提高,而是机器学习第一次在语言领域大规模实现了“通用知识先学习、具体任务再适配”的训练哲学。
5. 局限性与历史转折
预训练语言模型的建立,极大地改变了自然语言处理的发展方向,但它仍然不是故事的终点。
首先,早期预训练模型虽然已经展示出显著的迁移能力,但它们通常仍然围绕“预训练 + 任务微调”这一范式运作。也就是说,模型获得的是通用语言表示,而不是直接以统一交互形式完成各种任务的能力。许多应用仍然需要为具体任务设计额外的数据格式、输出头或监督目标。
其次,编码器型与解码器型路线各自有所偏重。编码器型模型在表示学习和理解任务上效果出色,但在开放式生成方面受到限制;解码器型模型在生成上极具优势,但在早期阶段,研究者仍在不断探索它是否能够承担更广泛的通用任务。
更重要的是,当参数规模、数据规模和训练计算持续扩大之后,人们逐渐发现,模型能力并不是线性增长的。某些原本不明显的语言现象、推理能力、任务迁移能力和交互能力,会在规模扩大后出现明显增强。这意味着,预训练语言模型并不只是“更大的语言模型”,而正在朝一种新的通用智能接口演化。
因此,本章的历史意义在于,它建立了大语言模型之前的最后一块关键基石:即通过自监督预训练,在海量文本中学习可迁移的语言表示和生成能力。下一章将进一步讨论,当这种预训练范式与大规模扩展结合后,为什么会出现能力上的质变,以及“大语言模型”这一概念是如何真正形成的。
6. 本章小结
本章讨论了预训练语言模型建立的数学基础与历史意义。核心思想是:把文本序列本身变成训练信号,通过自回归目标或掩码目标,在海量未标注语料上学习语言分布与上下文化表示。Transformer 提供了适合大规模训练的统一结构,自监督学习提供了可无限扩展的数据利用方式,而预训练—微调范式则使这些学习到的表示能够迁移到具体任务中。
从 AI 发展的角度看,这一步的突破在于,语言模型第一次不再主要依赖人工任务标签,而是能够直接从世界中的大量文本中吸收统计规律、语义结构和知识线索。也正因为如此,预训练语言模型成为后续大语言模型兴起的直接起点。
关键公式
关键概念
- 语言模型
- 联合概率分解
- 自回归目标
- 自监督学习
- 掩码语言模型
- 预训练
- 微调
- 表示迁移
- 编码器型模型
- 解码器型模型