【大模型学习3】预训练语言模型详解

AI的出现,是否能替代IT从业者? 10w+人浏览 1.2k人参与

预训练语言模型详解

一、引言

在自然语言处理(NLP)领域,Transformer模型的出现带来了革命性的变革。基于Transformer架构,研究者们发展出了多种预训练语言模型(PLM),这些模型通过"预训练+微调"的模式,在各类NLP任务中取得了突破性进展。

根据对Transformer结构的不同使用方式,预训练语言模型可分为三大类:

  • Encoder-only(仅使用编码器)
  • Decoder-only(仅使用解码器)
  • Encoder-Decoder(同时使用编码器和解码器)

本章将详细介绍这三类模型中最具代表性的主流预训练模型,包括它们的架构设计、预训练任务和核心优势。

二、Encoder-only预训练模型

Encoder-only模型基于Transformer的编码器部分构建,特别适合自然语言理解(NLU)任务。这类模型能够有效捕捉文本的双向语义信息,在文本分类、命名实体识别等任务中表现出色。

2.1 BERT:双向编码器的里程碑

BERT(Bidirectional Encoder Representations from Transformers)是Google于2018年发布的预训练模型,在多个NLP任务上刷新了当时的最优性能,标志着预训练模型时代的正式到来。

2.1.1 核心思想

BERT的成功源于两个关键思想的融合:

  1. Transformer架构:采用Transformer的编码器堆叠而成,充分利用自注意力机制捕捉文本中的依赖关系
  2. 预训练+微调范式:先在海量无标注文本上进行预训练,再针对具体下游任务进行微调
2.1.2 模型架构

BERT的架构由三部分组成:

  • 嵌入层(Embedding):将输入的文本token转换为向量表示,包含词嵌入、段嵌入和位置嵌入
  • 编码器层(Encoder Layers):由多个Transformer编码器堆叠而成,Base版本包含12层,Large版本包含24层
  • 预测头(prediction_heads):根据不同下游任务设计的输出层,通常是线性层加激活函数

BERT模型结构

BERT采用WordPiece分词方法,将单词拆分为子词单元(如"playing"拆分为[“play”, “##ing”]),对于中文则通常以单个汉字作为基本单位。

值得注意的是,BERT使用GELU(高斯误差线性单元)作为激活函数,计算公式为:
GELU(x)=0.5x(1+tanh(2π)(x+0.044715x3))GELU(x) = 0.5x(1 + tanh(\sqrt{\frac{2}{\pi}})(x + 0.044715x^3))GELU(x)=0.5x(1+tanh(π2)(x+0.044715x3))

在位置编码方面,改进版BERT采用了可训练的相对位置编码,相比Transformer原始的绝对位置编码能更好地捕捉相对位置关系,但也限制了模型处理超过训练长度(512个token)的输入。

2.1.3 预训练任务

BERT的预训练包含两个创新任务:

  1. 掩码语言模型(MLM)

    • 随机选择15%的token进行特殊处理:
      • 80%概率替换为<MASK>标记
      • 10%概率替换为随机token
      • 10%概率保持原token不变
    • 模型需要预测被处理的原始token
    • 优势:使模型能够学习双向语义关系
    • 解决预训练与微调不一致问题:通过保留10%的原token
  2. 下一句预测(NSP)

    • 输入由两个句子组成,模型判断它们是否为连续的上下文
    • 正样本:连续的两个句子
    • 负样本:随机组合的两个句子
    • 作用:帮助模型学习句子级别的语义关系

BERT使用了33亿个token的预训练数据,包括BooksCorpus(8亿token)和英文维基百科(25亿token),在TPU上训练了约4天。

2.1.4 下游任务微调

BERT通过统一的输入输出设计,能够高效适配多种下游任务:

  • 在输入序列首部添加特殊token <CLS>,其输出用于句子级任务
  • 针对不同任务,只需修改预测头部分
  • 微调过程使用少量标注数据,更新模型参数

BERT在11个NLP任务上取得了当时的最优结果,奠定了其在NLU领域的统治地位。

2.2 RoBERTa:优化版BERT

RoBERTa(Robustly Optimized BERT Pretraining Approach)是Facebook在BERT基础上进行优化改进的模型,通过调整训练策略进一步提升了性能。

2.2.1 主要改进
  1. 移除NSP任务

    • 实验证明NSP任务对模型性能提升有限,甚至可能产生负面影响
    • 仅保留MLM任务,使用更长的文本序列进行训练
  2. 动态遮蔽策略

    • 将掩码操作从数据预处理阶段移至训练阶段
    • 每个epoch中掩码的位置都不同,增强了模型的泛化能力
  3. 更大规模的训练数据

    • 总数据量达160GB,是BERT的10倍
    • 新增了CC-NEWS、OPENWEBTEXT和STORIES等数据集
  4. 其他优化

    • 使用更大的batch size(8K,BERT为256)
    • 所有训练都使用512长度的序列
    • 采用更大的BPE词表(50K,BERT为30K)

RoBERTa的成功证明了更大规模的数据、更长的训练时间和更优的训练策略对模型性能的重要性。

2.3 ALBERT:轻量级BERT

ALBERT(A Lite BERT)专注于减少模型参数同时保持甚至提升性能,通过结构优化实现了更高效的预训练模型。

2.3.1 主要优化
  1. 嵌入参数分解

    • 将词嵌入维度与隐藏层维度解耦
    • 先将词嵌入映射到低维空间(如128维),再通过线性变换升至隐藏层维度(如1024维)
    • 大幅减少嵌入层参数:从V×H变为V×E + E×H(E<<H)
  2. 跨层参数共享

    • 所有编码器层共享同一套参数
    • 24层模型仅需存储1层参数,显著减少总参数量
    • 例如:ALBERT-xlarge(24层,2048维)仅59M参数,远少于BERT-large的334M
  3. 改进的预训练任务

    • 提出句子顺序预测(SOP)任务替代NSP
    • 正样本:连续的两个句子
    • 负样本:交换顺序的两个句子
    • 更专注于学习句子间的语义关系而非主题差异

尽管ALBERT参数量大幅减少,但由于计算步骤并未减少,其训练和推理速度提升有限,这也限制了它的广泛应用。

三、Encoder-Decoder预训练模型

Encoder-Decoder结构同时使用Transformer的编码器和解码器,兼顾了语言理解和生成能力,在机器翻译、文本摘要等序列到序列(Seq2Seq)任务中表现出色。

3.1 T5:文本到文本的统一框架

T5(Text-To-Text Transfer Transformer)是Google提出的一种通用预训练模型,其核心思想是将所有NLP任务统一表示为文本到文本的转换问题。

3.1.1 模型结构

T5采用完整的Encoder-Decoder架构:

  • 编码器(Encoder):处理输入文本,生成上下文相关的表示
  • 解码器(Decoder):基于编码器的输出生成目标文本
  • 注意力机制
    • 编码器内部使用自注意力
    • 解码器内部使用自注意力(带掩码,防止未来信息泄露)
    • 解码器使用编码器-解码器注意力,关注输入文本信息

T5模型结构

T5使用RMSNorm替代了传统的LayerNorm,计算公式为:
RMSNorm(x)=x1n∑i=1nxi2+ϵ⋅γ\text{RMSNorm}(x) = \frac{x}{\sqrt{\frac{1}{n}\sum_{i=1}^{n}x_i^2 + \epsilon}} \cdot \gammaRMSNorm(x)=n1i=1nxi2+ϵxγ

其中γ\gammaγ是可学习的缩放参数,这种归一化方式参数更少,有助于稳定训练过程。

3.1.2 大一统思想

T5的创新之处在于将所有NLP任务统一为文本到文本的形式:

  • 文本分类:输入"情感分析:这篇文章很棒",输出"积极"
  • 机器翻译:输入"翻译为法语:Hello world",输出"Bonjour le monde"
  • 问答任务:输入"问答:问题:地球是什么形状?答案:“,输出"圆形”

这种统一表示带来诸多优势:

  • 简化模型设计,同一模型可处理多种任务
  • 便于共享参数和训练框架
  • 提高模型泛化能力
  • 减少任务特定的调试工作
3.1.3 预训练任务

T5的预训练任务基于C4数据集(750GB文本),主要采用掩码语言模型:

  • 随机遮蔽输入文本中的15%token
  • 模型需要预测这些被遮蔽的token
  • 与BERT类似,但融入了Encoder-Decoder结构的特点

通过这种统一的框架和预训练策略,T5在多种NLP任务上都取得了优异的性能,展示了其强大的通用性和适应性。

四、总结

预训练语言模型的发展极大推动了NLP领域的进步,从Encoder-only的BERT及其改进版RoBERTa、ALBERT,到Encoder-Decoder的T5,每一种模型都有其独特的设计理念和适用场景。

这些模型的成功证明了:

  • Transformer架构的强大潜力
  • 预训练+微调范式的有效性
  • 更大规模数据和更优训练策略的重要性
  • 统一框架对提升模型通用性的价值

理解这些经典模型的设计思想,对于深入掌握现代NLP技术和理解大型语言模型(LLM)的发展脉络具有重要意义。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值