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

BERT系列模型

下面是关于 BERT、GPT、ELMo 模型的深入介绍,包括结构、训练方式、特点、对比分析和各自的系列模型。这些内容覆盖了 NLP 中主流预训练模型的精髓,适用于学习迁移学习、上下游任务建模以及理解 Transformer 架构演进。


一、BERT 模型深度介绍(Bidirectional Encoder Representations from Transformers)

1. 核心思想

BERT 是一种 双向 Transformer 编码器结构,通过“掩码语言模型(MLM)”和“下一句预测(NSP)”的任务进行预训练,目标是捕捉词语的上下文依赖关系。

2. 结构组成

  • 输入表示

    • Token Embeddings(分词)

    • Segment Embeddings(句子对表示)

    • Position Embeddings(位置编码)

  • 模型结构

    • 使用纯 Transformer Encoder 堆叠(如 BERT-base 是 12 层)

    • 输出为每个 token 的上下文表示(也称 contextual embedding)

  • 预训练任务

    1. Masked Language Model(MLM)
      随机 mask 掉输入中 15% 的 token,模型预测被遮盖的词。

    2. Next Sentence Prediction(NSP)
      给定句子 A,预测句子 B 是否是 A 的下一句。

3. 输入示例

[CLS] 我喜欢自然语言处理 [SEP] 你呢? [SEP]

二、BERT 模型的特点

  • 双向编码:BERT 同时考虑左上下文和右上下文,是“深层双向”的语言模型。

  • 预训练 + 微调范式:训练好一个 BERT 后可迁移到任意下游任务,只需添加简单的任务头。

  • 强大的迁移性能:在情感分析、NER、QA 等任务中都达到 SOTA 表现。

  • 输入格式灵活:支持单句输入或句对输入。

  • 使用的是 Transformer Encoder(而非 Decoder)结构


三、GPT 模型介绍(Generative Pre-trained Transformer)

1. 核心思想

GPT(OpenAI)是基于 Transformer Decoder 堆叠结构的单向语言模型,主要用于文本生成任务,采用经典的 自回归训练方式(Autoregressive LM)

2. 结构组成

  • 使用 Transformer Decoder 架构,只关注左侧上下文

  • 训练目标:预测下一个 token(Language Modeling)

  • 无 NSP 或掩码任务,单纯基于最大似然训练

3. 发展路线

  • GPT-1:首次将预训练语言模型迁移到下游任务

  • GPT-2:大幅增加参数规模(1.5B),用于开放文本生成

  • GPT-3:参数达 175B,支持少样本学习(few-shot)与零样本学习(zero-shot)

  • GPT-4:多模态、推理能力更强,目前广泛商用


四、BERT 与 GPT 模型对比

对比维度BERTGPT
模型结构Transformer Encoder(双向)Transformer Decoder(单向)
上下文建模双向(Masked)单向(左到右)
预训练任务MLM + NSP自回归语言建模(LM)
应用方向分类、QA、NER、语义理解任务文本生成、续写、对话生成等
微调方式增加任务头并 fine-tune 全模型Prompt/Fine-tune/Few-shot 多种方式
生成能力


五、BERT 系列模型介绍(BERT Family)

以下是 BERT 系列模型中主流改进版本:

  1. RoBERTa

    • 去掉了 NSP,使用更大批量、更大语料、更长训练

    • 被认为是对 BERT 的纯粹增强版

  2. ALBERT

    • 参数共享 + 分解 embedding 矩阵,模型更小

    • 适合资源受限部署

  3. DistilBERT

    • 蒸馏版 BERT,仅 6 层,训练速度更快,精度损失小

    • 用于轻量级部署

  4. TinyBERT / MobileBERT

    • 面向移动设备优化,适合边缘端应用

  5. SpanBERT

    • 替换 MLM 为 span mask,提升抽取类任务效果(如 NER、关系抽取)

  6. ERNIE(百度)

    • 加入实体、句法知识,构建语义增强预训练模型

  7. ChineseBERT / MacBERT(中文领域)

    • 结合拼音、字形、语法知识优化中文建模能力


六、ELMo 模型介绍(Embeddings from Language Models)

1. 概述

ELMo 是一种基于双向 LSTM 的上下文词向量模型,在 BERT 之前一度成为 NLP 领域的突破性成果。

2. 架构

  • 基于双向语言模型(BiLM):

    • 正向:从左到右建模

    • 反向:从右到左建模

  • 通过合并 LSTM 各层隐状态得到最终词向量

3. 特点

  • 上下文感知:同一个词在不同句子中会生成不同向量

  • 动态表示:支持下游任务微调

  • 参数较小,适合中等规模数据集

4. 与 BERT 对比

对比维度ELMoBERT
网络结构双向 LSTMTransformer Encoder
上下文建模独立建模前向与后向深度双向建模
输出方式多层 LSTM 的线性组合Transformer 每层的输出
性能明显优于静态词向量全面优于 ELMo


总结

模型架构上下文建模方式预训练任务应用方向
BERTTransformer Encoder双向MLM + NSP分类、抽取、QA
RoBERTaEncoder(改进)双向MLM全面增强版 BERT
GPTTransformer Decoder单向自回归 LM文本生成、对话
ELMoBiLSTM双向(分开)双向语言建模词向量、下游特征提取
http://www.dtcms.com/a/277677.html

相关文章:

  • Spring Boot 配置注解处理器 - spring-boot-configuration-processor
  • Python I/O 库【输入输出】全面详解
  • JavaScript加强篇——第九章 正则表达式高级应用(终)
  • Python __main__ 全面深度解析
  • C++ 右值引用和移动语义的应用场景
  • python的平安驾校管理系统
  • Python自动化:每日销售数据可视化
  • Linux-线程控制
  • System.getenv()拿不到你配置的环境变量
  • 【Mysql作业】
  • OSPF协议特性
  • kettle从入门到精通 第九十七课 ETL之kettle kettle资源仓库的5种方式
  • Linux修炼:开发工具
  • linux-shell脚本
  • 学习环形数组ringbuffer和缓存管理buffer_manager_struct的一些思考
  • k8s:0/1 nodes are available: pod has unbound immediate PersistentVolumeClaims.
  • CSS个人笔记分享【仅供学习交流】
  • 深度学习图像分类数据集—角膜溃疡识别分类
  • INA226 数据手册解读
  • CCS-MSPM0G3507-6-模块篇-OLED的移植
  • Leetcode 3614. Process String with Special Operations II
  • 【Vue】浏览器缓存 sessionStorage、localStorage、Cookie
  • XXL-TOOL v1.5.0 发布 | Java工具类库
  • https交互原理
  • 010_学习资源与社区支持
  • cs285学习笔记(一):课程总览
  • 融合开源AI大模型与MarTech:AI智能名片与S2B2C商城小程序源码赋能数字化营销新生态
  • Boost.Asio 中 io_context 类 post 和 dispatch的区别
  • 启动Tomcat报错:A child container failed during start
  • MCP 服务开发到发布