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

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.xdnf.cn/news/15382.html

相关文章:

  • 前端工程化-构建打包
  • Flink数据流高效写入MySQL实战
  • Actor-Critic重要性采样原理
  • 九、官方人格提示词汇总(上)
  • 构造函数延伸应用
  • 数据结构 Map和Set
  • 一些git命令
  • SQL预编译:安全高效数据库操作的关键
  • Linux操作系统之信号概念启程
  • 【读书笔记】《C++ Software Design》第七章:Bridge、Prototype 与 External Polymorphism
  • IPC框架
  • [2025CVPR]GNN-ViTCap:用于病理图像分类与描述模型
  • 晋升指南-笔记
  • 【Docker基础】Dockerfile指令速览:环境与元数据指令详解
  • React强大且灵活hooks库——ahooks入门实践之状态管理类hook(state)详解
  • 【C++】多线程同步三剑客介绍
  • AutoLabor-ROS-Python 学习记录——第一章 ROS概述与环境搭建
  • leetGPU解题笔记(1)
  • STM32-第六节-TIM定时器-2(输出比较)
  • 【芯片笔记】ADF4159
  • 【论文阅读】AdaptThink: Reasoning Models Can Learn When to Think
  • 【Java Stream】基本用法学习
  • sql初学见解
  • 2025上海市“星光计划“信息安全管理与评估赛项二三阶段任务书
  • Spring高级特性——反射和动态代理的性能优化
  • Python---上下文管理器
  • 移动端设备本地部署大语言模型(LLM)
  • 无需付费即可利用AI消除音频噪声和生成字幕
  • 浏览器渲染原理与性能优化全解析
  • 【零基础入门unity游戏开发——unity3D篇】3D光源之——unity反射和反射探针技术