【大模型】Bert

一、背景与起源

  • 上下文建模的局限:在 BERT 之前,诸如 Word2Vec、GloVe 等词向量方法只能给出静态的词表示;而基于单向或浅层双向 LSTM/Transformer 的语言模型(如 OpenAI GPT)只能捕捉文本从左到右(或右到左)的上下文信息。
  • 论文贡献:2018 年 Google 的 Devlin 等人提出 BERT,通过真正的"深度双向"Transformer 编码器,在大规模语料上同时从左右两个方向学习上下文,显著提升了各类 NLP 任务的基线性能。

二、核心架构

  1. Transformer Encoder

    • BERT 完全由多层 Transformer Encoder 组成,每层包括多头自注意力(Multi-Head Self-Attention)和前馈网络(Feed-Forward Network),并配以层归一化与残差连接。
    • 常见版本有
      • BERT-Base:12 层 Encoder、768 维隐藏层、12 个注意力头,约 1.1 亿参数;
      • BERT-Large:24 层 Encoder、1024 维隐藏层、16 个注意力头,约 3.4 亿参数。
  2. Embedding 层

    • Token Embeddings:子词(WordPiece)级别的初始向量;
    • Segment Embeddings:用于区分句子 A/B,在下游需要句间关系时有效;
    • Position Embeddings:表示序列中各 token 的位置;
    • 三者逐元素相加后,送入第一层 Encoder。

三、输入表示

给定输入文本对 (Sentence A, Sentence B),BERT 构造如下序列:

复制代码
[CLS] tokens_A [SEP] tokens_B [SEP]
  • [CLS]:分类标记,其最终层输出向量用于下游分类任务;
  • [SEP]:分隔符标记,标识句子边界;
  • Segment ID:句子 A 中所有 token 的 segment embedding 为 0,句子 B 中为 1;
  • Attention Mask:指示哪些位置是真实 token(1)或填充(0)。

四、预训练任务

BERT 的成功很大程度上来自于两个预训练目标的设计

  1. Masked Language Model (MLM)
    • 思路 :随机遮蔽输入中 15% 的 token ([MASK]),让模型预测这些被遮蔽位置原本的词。
    • 细节
      • 遮蔽策略:80% 用 [MASK] 替换,10% 保留原词,10% 随机替换为词表中其他词;
      • 这样既避免模型过度依赖 [MASK],又能学习对真实 token 的预测能力。
  2. Next Sentence Prediction (NSP)
    • 思路:给定句子对,50% 概率为原序列中相邻的两句话("IsNext"),50% 概率随机抽取另一段文字("NotNext");模型判别它们是否具有上下文连续关系。
    • 作用:为下游的问答、自然语言推理等任务提供句间关系判断能力。

五、模型微调(Fine-Tuning)

  • 通用流程

    1. 在预训练的 BERT 模型上,追加一个或多个任务相关的输出层(如分类头、回归头、序列标注头等);
    2. 以较小的学习率(如 2e-5--5e-5)在下游任务标注数据上继续训练整个网络;
    3. 最终得到一个在该任务上性能优异的专用模型。
  • 示例任务

    • 文本分类 :取 [CLS] 对应的隐藏向量接一个全连接 + Softmax;
    • 命名实体识别:对每个 token 的输出向量接一个分类层,识别实体标签;
    • 问答阅读理解:为每个位置预测开始/结束概率,找到答案所在 span。

六、BERT 的优势与局限

优势

  1. 深度双向上下文:相比单向或浅层双向模型,在理解句子含义时更全面;
  2. 统一框架:一个预训练模型可微调到几十种不同任务,极大简化了模型部署;
  3. 强大基线:在 GLUE、SQuAD、MNLI 等多项公开基准上创纪录。

局限

  1. 计算与内存开销大:特别是 BERT-Large,在推理时对 GPU/TPU 资源要求高;
  2. 预训练目标简单:如 NSP 的效果有限,后续研究多选择取消或替换
  3. 固定长度限制:标准 BERT 的最大输入长度为 512,难以直接处理超长文本。

七、应用与生态

  • 下游生态

    自 BERT 发布以来,社区围绕预训练与微调构建了丰富工具与框架,例如 Hugging Face Transformers、TensorFlow Hub 等,用户可以方便地加载各类 BERT 模型及其变种。

  • 行业应用

    包括智能客服中的意图识别与槽位填充、搜索引擎中的语义匹配、法律/医药领域的文档分类与信息抽取等。

相关推荐
skywalk81632 分钟前
Ubuntu24.04的VSCode中安装MoonBit和MoonBit Toolchain(moon-pilot)
ide·人工智能·vscode·编辑器·moonbit·pilot
居然JuRan20 分钟前
解锁17种RAG秘籍,大模型生成质量狂飙之路
人工智能
机器之心42 分钟前
谷歌约战,DeepSeek、Kimi都要上,首届大模型对抗赛明天开战
人工智能
POLOAPI44 分钟前
告别敲代码?Claude Code 让命令行自己 “写指令”,AI 正在重构程序员的双手
人工智能·api
俞凡1 小时前
IDE 革命:超越自动完成
人工智能
AI松子6661 小时前
Sparse4D系列算法:迈向长时序稀疏化3D目标检测的新实践
人工智能·算法·目标检测
数据知道1 小时前
使用GPT机器翻译详解,及对应实现翻译的3个案例
人工智能·gpt·机器翻译
陈哥聊测试1 小时前
Coze开源了!意味着什么
人工智能·开源·资讯
懒麻蛇1 小时前
用大语言模型(LLMs)生成心理学范式
人工智能·语言模型·自然语言处理
athink_cn1 小时前
Vibe Coding:AI驱动开发的安全暗礁与防护体系
人工智能·安全·ai·ai编程