08 预训练语言模型:BERT 与 GPT
2026/9/6 5:03:50 网站建设 项目流程

08 预训练语言模型:BERT 与 GPT

系列文章目录

  • 01 NLP入门:什么是自然语言处理 ✅

  • 02 文本预处理:从原始文本到干净语料 ✅

  • 03 文本向量化:词袋模型与 TF-IDF ✅

  • 04 词向量 Word2Vec:让词变成向量 ✅

  • 05 循环神经网络 RNN 与 LSTM 详解 ✅

  • 06 注意力机制与 Seq2Seq ✅

  • 07 Transformer 架构详解 ✅

  • 08 预训练语言模型:BERT 与 GPT ✅

  • 09 大语言模型(LLM)演进与 Prompt 入门

  • 10 NLP 实战:情感分析项目全流程


前言

上一篇我们学完了 Transformer——它只是一个大模型"地基",本身并不能直接用于具体任务。要让 Transformer 真正"懂"语言,还需要在大量语料上进行预训练(Pre-training),然后针对具体任务微调(Fine-tuning)

2018 年,两条基于 Transformer 的技术路线几乎同时横空出世,奠定了之后所有大语言模型的发展方向:

  • BERT:Google 提出,主打"理解"

  • GPT:OpenAI 提出,主打"生成"

一句话结论:BERT 和 GPT 都采用"预训练 + 微调"范式,区别在于 BERT 双向编码擅长理解任务,GPT 单向生成擅长生成任务。


1. 什么是预训练语言模型

1.1 核心思想

传统的 NLP 是"为每个任务单独训练一个模型",数据少、效果差。预训练语言模型(Pre-trained Language Model, PLM)的做法是:

先用海量无标注文本(如维基百科、全网网页)训练一个"通用的语言理解模型",再用少量标注数据针对具体任务做"微调"。

这就像一位"通才"先在书海中广泛阅读,具备了强大的语言功底;再花少量时间专门训练某个具体技能(比如分类、问答)。

1.2 为什么是革命性的

对比维度传统方法预训练 + 微调
所需标注数据大量少量
通用语言知识有(预训练获得)
训练成本每任务重新训练预训练一次,微调很轻
效果受限于小数据显著提升

2. BERT:双向编码器

2.1 核心思想

BERT(Bidirectional Encoder Representations from Transformers)的核心特点是双向(Bidirectional)

BERT 在理解一个词时,同时看它左边和右边的上下文。

比如理解句子中的"苹果":

"昨天我买了一个苹果,非常甜" —— BERT 会同时结合左右文判断这是"水果" "我新买了一部苹果手机" —— BERT 会结合"手机"判断这是"品牌"

这正好解决了 Word2Vec 静态词向量无法处理一词多义的问题——BERT 输出的词向量是上下文相关的动态向量

2.2 两个预训练任务

BERT 的预训练包含两个自监督任务:

任务名称做法学习内容
任务1掩码语言模型(MLM)随机遮盖句中 15% 的词,让模型预测被遮盖的词双向理解
任务2下一句预测(NSP)判断两个句子是否相邻句子间关系

MLM 示例

输入:我 [MASK] 学习 自然语言处理 预测:喜欢

模型必须结合"我……学习自然语言处理"这个上下文,才能猜出被遮住的词是"喜欢"。

2.3 BERT 的应用方式

BERT 预训练完成后,通过"预训练 + 微调"适配各种理解任务:

文本分类: [CLS] 这句话很赞 → 输出:好评 命名实体识别:句子 → 逐词标注实体类型 问答: 问题 + 文章 → 输出答案片段

3. GPT:单向生成器

3.1 核心思想

GPT(Generative Pre-trained Transformer)的核心特点是单向(Unidirectional)生成(Generative)

GPT 预测下一个词时,只看它左侧(前面)的上下文,一个词一个词地从左到右生成。

输入:"我喜欢学习" 预测下一个词:"自然语言"(根据前面的"我喜欢学习") ​ 继续: 输入:"我喜欢学习自然语言" 预测下一个词:"处理"

GPT 的本质就是一个强大的"下一个词预测器"——而这恰好就是"生成"的本质:给定前文,续写后文。

3.2 预训练任务

GPT 的预训练任务只有一个,也是最朴素的:

语言建模(Language Modeling):给定前文,预测下一个词。

最大化 P(w1) × P(w2|w1) × P(w3|w1w2) × ... × P(wn|w1...w(n-1))

💡关键洞察:正是这个"朴素"的预测任务,让 GPT 不需要任何标注数据,只需海量文本就能训练,还能一路无限扩展——数据越多、参数越多,生成能力越强,最终演变为今天的大语言模型(LLM)。

3.3 GPT 的进化

版本年份参数量特点
GPT-120181.1 亿提出预训练 + 微调范式
GPT-2201915 亿展示强大的零样本生成能力
GPT-320201750 亿少样本学习(In-context Learning)
ChatGPT2022加入人类反馈对齐(RLHF),对话能力爆发

4. BERT vs GPT 对比

对比维度BERTGPT
全称Bidirectional Encoder Rep. from TransformersGenerative Pre-trained Transformer
架构仅编码器(Encoder-only)仅解码器(Decoder-only)
编码方式双向(看左右)单向(只看左)
预训练任务MLM + NSP语言建模(预测下一个词)
擅长任务理解:分类、抽取、问答生成:写作、对话、翻译、代码
训练目标预测被遮盖的词预测下一个词
代表演进BERT → RoBERTa → ERNIEGPT → GPT-2/3/4 → LLM

💡记忆口诀:BERT 是"填空小能手"(理解),GPT 是"续写狂魔"(生成)。


5. 使用 Hugging Face 实战

如今,使用预训练模型最方便的方式是Hugging Face Transformers库。下面演示加载 BERT 做文本分类,以及用 GPT 做生成。

5.1 用 BERT 做情感分类

from transformers import pipeline ​ # 一行代码加载预训练情感分析模型 classifier = pipeline("sentiment-analysis", model="uer/roberta-base-finetuned-jd-binary-chinese") ​ result = classifier("这个手机很好用,我很喜欢!") print(result) # 输出示例:[{'label': 'positive', 'score': 0.99...}]

5.2 用 GPT 做文本生成

from transformers import pipeline ​ # 加载中文生成模型 generator = pipeline("text-generation", model="uer/gpt2-chinese-cluecorpussmall") ​ result = generator("深度学习是一种", max_length=30, num_return_sequences=1) print(result[0]["generated_text"])

5.3 为什么不推荐直接造轮子

  • 预训练需要几十万到上百万美元的算力成本

  • 开源社区提供了大量现成的预训练权重

  • pipeline几行代码即可调用,重点是理解"如何微调"和"如何应用"

⚠️提示:上面示例中的模型名请以 Hugging Face 实际可用的模型为准,国内可优先选择中文模型(如bert-base-chinesemengzi等)。


6. 从 BERT/GPT 到大语言模型(LLM)

BERT 和 GPT 之后,NLP 进入了"军备竞赛"时代:

  • BERT 系(理解向):RoBERTa、ALBERT、ERNIE、DeBERTa……

  • GPT 系(生成向):GPT-3、GPT-4、以及开源生态的 LLaMA、ChatGLM、DeepSeek、Qwen……

当 GPT 系模型参数规模达到千亿级、配合人类反馈对齐(RLHF)后,就变成了我们今天所熟知的大语言模型(LLM)——不仅会生成文本,还涌现出推理、翻译、写代码、多轮对话等强大能力。

这是下一篇的内容。


总结

这一篇我们掌握了:

  • 预训练 + 微调:先在海量语料上预训练通用语言能力,再针对任务微调

  • BERT:双向编码器,通过 MLM 理解上下文,擅长理解任务,解决一词多义

  • GPT:单向解码器,通过预测下一个词实现生成,擅长生成任务

  • BERT vs GPT:理解 vs 生成、双向 vs 单向

  • Hugging Face 实战:几行代码调用强大的预训练模型

下一篇,我们将站上时代浪尖,看看从 GPT-3 到 ChatGPT,大语言模型(LLM)是如何诞生,以及如何用Prompt驾驭它。

📌下篇预告:09 大语言模型(LLM)演进与 Prompt 入门


参考资料

  • Devlin et al.BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, 2018

  • Radford et al.Improving Language Understanding by Generative Pre-Training, 2018

  • Hugging Face Transformers 官方文档:https://huggingface.co/docs/transformers/

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询