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. 输入示例

css 复制代码
[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 模型对比

对比维度 BERT GPT
模型结构 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 对比

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

总结

模型 架构 上下文建模方式 预训练任务 应用方向
BERT Transformer Encoder 双向 MLM + NSP 分类、抽取、QA
RoBERTa Encoder(改进) 双向 MLM 全面增强版 BERT
GPT Transformer Decoder 单向 自回归 LM 文本生成、对话
ELMo BiLSTM 双向(分开) 双向语言建模 词向量、下游特征提取
相关推荐
skywalk816315 小时前
AutoCoder Nano 是一款轻量级的编码助手, 利用大型语言模型(LLMs)帮助开发者编写, 理解和修改代码。
人工智能
金井PRATHAMA15 小时前
描述逻辑对人工智能自然语言处理中深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
却道天凉_好个秋15 小时前
OpenCV(四):视频采集与保存
人工智能·opencv·音视频
minhuan15 小时前
构建AI智能体:五十七、LangGraph + Gradio:构建可视化AI工作流的趣味指南
人工智能·语言模型·workflow·langgraph·自定义工作流
WWZZ202516 小时前
ORB_SLAM2原理及代码解析:SetPose() 函数
人工智能·opencv·算法·计算机视觉·机器人·自动驾驶
lisw0516 小时前
AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
大数据·人工智能·物联网·机器学习·软件工程
java1234_小锋16 小时前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 立即执行模式(Eager Execution)
python·深度学习·tensorflow·tensorflow2
mtouch33316 小时前
GIS+VR地理信息虚拟现实XR MR AR
大数据·人工智能·ar·无人机·xr·vr·mr
一人の梅雨16 小时前
1688 拍立淘接口深度开发:从图像识别到供应链匹配的技术实现
人工智能·算法·计算机视觉
dundunmm17 小时前
【数据集】WebQuestions
人工智能·llm·数据集·知识库问答·知识库