大模型入门指南 - 预训练(Pre-training):小白也能看懂的“MLM+NSP”全解析
预训练(Pre-training)是大语言模型(如BERT、GPT)训练的第一阶段,其核心目标是通过自监督学习从海量无标注文本中学习通用的语言表示(Language Representation)。这一阶段的目标是让模型掌握语言的语法、语义、常识等基础能力,为后续的微调(Fine-tuning)打下基础。
今天来聊一聊BERT和GPT的预训练,从而了解大模型的第四步:Pre-training。
预训练(Pre-training)是大语言模型(如BERT、GPT)训练的第一阶段,其核心目标是通过自监督学习从海量无标注文本中学习通用的语言表示(Language Representation)。这一阶段的目标是让模型掌握语言的语法、语义、常识等基础能力,为后续的微调(Fine-tuning)打下基础。

一、BERT(MLM + NSP)
BERT的预训练:MLM与NSP
基于Transformer编码器的双向架构,BERT通过掩码语言模型(MLM)和下一句预测(NSP)任务学习上下文语义。MLM随机遮盖15%的输入词,强制模型从双向语境中预测缺失词,突破传统单向模型的局限;NSP则通过判断句子对是否连贯,强化跨句推理能力。
1、MLM(Masked Language Modeling)
在BERT的预训练中,模型通过Masked Language Modeling(MLM)任务学习双向上下文,即随机遮盖输入文本中15%的词,并基于被遮盖词左右两侧的上下文预测该词。
(1)任务:随机遮盖输入文本中的15%的词,要求模型预测被遮盖的词。
(2)示例:输入句子为“The cat sits on the [MASK]”,模型需要预测 “[MASK]” 为 “mat”。
2、NSP(Next Sentence Prediction)
BERT通过Next Sentence Prediction(NSP)任务,以50%概率输入连续句子和50% 概率输入随机句子,训练模型学习句子间的逻辑关系,以提升问答、文本分类等任务的性能。
(1)任务:判断两个句子是否是连续的(50%是连续的,50%是随机的)。
(2)正例:“I like cats” + “They are cute.”
(3)负例:“I like cats” + “The sky is blue.”
3、新手学习建议:
阶段1:理论入门(2-3天)
(1)目的:理解MLM和NSP的设计动机与核心逻辑。
(2)BERT论文:重点阅读《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》的 Section 3(预训练任务设计)。
(3)类比理解:MLM就像你在玩“填空游戏”,需要根据前后文猜出被遮盖的词(如“I like [MASK]” → “cats”);NSP就是判断两句话是否来自同一篇文章(如“I like cats” + “They are cute.”是连续的,而“I like cats” + “The sky is blue.”是随机的)。
阶段2:代码复现(5-7天)
(1)目标:通过代码理解MLM和NSP的实现细节。
(2)代码:无需从零实现,直接基于transformers库调用预训练模型微调
from transformers import BertTokenizer, BertForMaskedLM, BertForNextSentencePrediction, Trainer, TrainingArguments
import torch
# 加载预训练模型和tokenizer
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
model_mlm = BertForMaskedLM.from_pretrained("bert-base-uncased") # MLM专用
model_nsp = BertForNextSentencePrediction.from_pretrained("bert-base-uncased") # NSP专用(旧版BERT支持)
# 示例输入(MLM)
text = "The cat sits on the [MASK]."
inputs = tokenizer(text, return_tensors="pt")
outputs = model_mlm(**inputs)
predicted_token_id = torch.argmax(outputs.logits[0, -1]).item()
print(tokenizer.decode(predicted_token_id)) # 输出预测的词(如"mat")
# 示例输入(NSP)
sentence1 = "I like cats."
sentence2 = "They are cute."
sentence3 = "The sky is blue."
inputs_nsp = tokenizer(sentence1 + " [SEP] " + sentence2, return_tensors="pt") # 正例
inputs_nsp_neg = tokenizer(sentence1 + " [SEP] " + sentence3, return_tensors="pt") # 负例
model_nsp = BertForNextSentencePrediction.from_pretrained("bert-base-uncased") # 注意:新版本BERT已合并MLM+NSP
二、GPT(CLM)
GPT的预训练:因果语言建模(CLM)
GPT的因果语言建模(CLM)通过单向自回归,擅长生成连贯文本,但无法利用后文,更适配“创作”任务;而BERT的掩码语言建模(MLM)类似双向“完形填空”,更擅长上下文理解,适配“理解”任务。
1、CLM(Causal Language Modeling)
在GPT的预训练中,模型使用因果语言建模(CLM)通过单向上下文(仅前文)预测下一个词(数学表达为 P(wt∣w1,…,wt−1)),像“逐字听写”或“打字机”一样,每次只能看到之前输入的内容,逐步生成后续文本。
GPT系列模型(GPT-1/2/3/4)均基于CLM,通过Transformer的单向注意力掩码实现。
(1)任务:基于前文预测下一个词,类似于人类逐字阅读文本的过程。
(2)示例:输入“The cat sits on the”,模型需要预测下一个词是“mat”。
2、新手学习建议:
阶段1:理论入门(2-3天)
(1)目的:理解CLM的核心概念、数学原理及其与GPT的关系。
(2)BERT论文:重点阅读《Improving Language Understanding by Generative Pre-Training》(GPT-1原始论文)的 Section 2(模型架构与预训练任务)和《Language Models are Unsupervised Multitask Learners》(GPT-2论文),理解CLM在生成任务中的扩展应用。
(3)类比理解:CLM就像你在写作文时,只能根据之前写的内容决定下一个词(如“The cat sits on the [?]”),无法回头修改或参考后文。
阶段2:代码复现(5-7天)
(1)目标:通过代码理解CLM的实现细节,包括Transformer的单向注意力掩码。
(2)代码:同样无需从零实现,直接基于transformers库调用预训练模型微调。
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch
# 加载预训练模型和tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
# 输入文本(CLM任务)
input_text = "The cat sits on the"
inputs = tokenizer(input_text, return_tensors="pt")
# 生成下一个词
outputs = model.generate(**inputs, max_length=20, num_return_sequences=1)
print(tokenizer.decode(outputs[0])) # 输出完整句子(如"The cat sits on the mat and sleeps.")
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐


所有评论(0)