当前位置: 首页 > backend >正文

预训练语言模型之:Encoder-only PLM

1. 基础架构:Transformer Encoder

所有模型的基石都是Transformer Encoder结构,其核心是自注意力机制:
Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)V
其中 Q , K , V Q,K,V Q,K,V分别表示查询、键和值向量, d k d_k dk为维度缩放因子。这种设计使模型能动态捕捉任意位置间的语义依赖。

2. BERT:双向预训练的开创者

2018年问世的BERT首次实现真正意义上的深度双向预训练,突破性创新包括:

掩码语言建模(MLM)
随机掩盖输入序列中15%的token,要求模型基于上下文预测被掩盖词:
L MLM = − ∑ i ∈ M log ⁡ P ( x i ∣ x \ M ) \mathcal{L}_{\text{MLM}} = -\sum_{i \in M} \log P(x_i | x_{\backslash M}) LMLM=iMlogP(xix\M)
其中 M M M为掩盖位置集合。这种设计迫使模型学习全局上下文表征。

下一句预测(NSP)
输入两个句子A和B,预测B是否为A的后续句子:
L NSP = − log ⁡ P ( y ∣ segment A , segment B ) \mathcal{L}_{\text{NSP}} = -\log P(y | \text{segment}_A, \text{segment}_B) LNSP=logP(ysegmentA,segmentB)
该任务使模型理解句子间逻辑关系。

输入表示创新
融合词嵌入、位置嵌入和段落嵌入:
Input = TokenEmbed + PositionEmbed + SegmentEmbed \text{Input} = \text{TokenEmbed} + \text{PositionEmbed} + \text{SegmentEmbed} Input=TokenEmbed+PositionEmbed+SegmentEmbed
这种三维编码能有效区分句子对任务。
在这里插入图片描述

BERT-base(110M参数)在GLUE基准上提升7.6%,证明双向预训练的优越性。

3. RoBERTa:BERT的极限优化

2019年提出的RoBERTa通过训练策略革新释放BERT架构潜力:

动态掩码机制
摒弃静态掩码,改为每个epoch动态生成掩码模式,提升数据利用率。

取消NSP任务
实验证明NSP会引入噪声,改为纯MLM训练后效果提升:
L = L MLM \mathcal{L} = \mathcal{L}_{\text{MLM}} L=LMLM

超参调优

  • 批量大小从256增至8K
  • 训练数据从16GB扩至160GB
  • 序列长度从512扩展至更大

字节对编码优化
采用更细粒度的BPE分词,词汇表扩充至50K词符。

在SQuAD 2.0上,RoBERTa-large的F1值达89.8%,较BERT提升3.2%。

4. ALBERT:轻量化架构大师

ALBERT(2019)通过参数压缩技术解决BERT的内存瓶颈:

嵌入分解(Factorized Embedding)
将词嵌入矩阵分解为两个低秩矩阵:
V × H → V × E + E × H V \times H \rightarrow V \times E + E \times H V×HV×E+E×H
其中 E ≪ H E \ll H EH(通常 E = 128 , H = 768 E=128, H=768 E=128,H=768),参数量减少80%。

跨层参数共享
所有Transformer层共享参数,使层数增加时参数不显著增长:
θ layer i = θ layer j , ∀ i , j \theta_{\text{layer}_i} = \theta_{\text{layer}_j}, \quad \forall i,j θlayeri=θlayerj,i,j

句子顺序预测(SOP)
替代NSP的新任务:判断两个连续句子是否被故意调换顺序:
L SOP = − log ⁡ P ( y ∣ 顺序正确性 ) \mathcal{L}_{\text{SOP}} = -\log P(y|\text{顺序正确性}) LSOP=logP(y顺序正确性)
该任务更关注句间连贯性而非文档差异。

ALBERT-base仅12M参数,却在GLUE基准达到BERT-base 90%性能,推理速度提升1.7倍。

5. 核心对比与技术演进

维度BERTRoBERTaALBERT
预训练任务MLM + NSPMLM(动态)MLM + SOP
参数效率基准相近提升10倍
关键创新双向建模训练策略优化参数共享
典型配置Base: 110MLarge: 355MBase: 12M
训练数据量16GB160GB+16GB

6. 应用场景与影响

  • BERT:通用NLP任务基线,适合快速部署
  • RoBERTa:计算资源充足时的高精度选择
  • ALBERT:移动端/嵌入式设备的首选方案

这些模型催生了工业级应用变革:

  • 搜索引擎理解长尾查询意图
  • 智能客服的上下文对话管理
  • 金融文本的风险实体识别

Encoder-only架构持续证明:通过更高效的参数利用和更精细的训练策略,语言模型能在性能与效率间取得突破性平衡。

http://www.xdnf.cn/news/14676.html

相关文章:

  • VIVADO导出仿真数据到MATLAB中进行分析
  • 美团小程序闪购 mtgsig1.2
  • springboot中引入activemq的一个坑
  • leetcode230-二叉搜索树中第K小的元素
  • [学习] C语言编程中线程安全的实现方法(示例)
  • ARM架构鲲鹏主机BClinux离线安装docker步骤
  • 《前端资源守卫者:SRI安全防护全解析》
  • OpenCV CUDA模块设备层-----创建一个“常量指针访问器” 的工具函数constantPtr()
  • 从设备自动化到智能管控:MES如何赋能牛奶饮料行业高效生产?
  • IAR平台全面升级,提升瑞萨MCU架构的嵌入式软件开发效率
  • C++语言发展历程-2025
  • 在大数据求职面试中如何回答分布式协调与数据挖掘问题
  • 单片机——浮点数转换4位数码管显示
  • JVM内存模型详解
  • 设计模式精讲 Day 11:享元模式(Flyweight Pattern)
  • STM32和C++ 实现配置文件导入、导出功能
  • uniapp+vue3做小程序,获取容器高度
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • OVS Faucet练习(下)
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • 【基础篇-消息队列】——详解 RocketMQ 和 Kafka 的消息模型
  • VR看房:房地产数字化转型的核心引擎
  • RSYNC+IONTIFY数据实时同步
  • 二刷苍穹外卖 day03
  • MySQL基础函数篇
  • (C++)素数的判断(C++教学)(C语言)
  • 逻辑门电路Multisim电路仿真汇总——硬件工程师笔记
  • es中常规的根据字段查询时走什么索引(说明:「常规的根据字段查询」不包含分词查询)
  • 2025-06-22 思考-人的意识与不断走向死亡的过程
  • 文心一言(ERNIE Bot):百度打造的知识增强大语言模型