支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


一文搞懂大模型的预训练(Pre-training)

发布日期:2025-05-25 23:04:12 浏览次数: 1604 作者:架构师带你玩转AI
推荐语

深入探索大模型预训练的核心机制,掌握BERT和GPT的预训练技术。

核心内容:
1. 预训练的目标与自监督学习的重要性
2. BERT预训练的MLM与NSP任务详解
3. 新手学习预训练模型的阶段性建议与资源

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家
今天来聊一聊BERT和GPT的预训练,从而了解大模型的第四步:Pre-training。
预训练(Pre-training)是大语言模型(如BERT、GPT)训练的第一阶段,其核心目标是通过自监督学习海量无标注文本中学习通用的语言表示(Language Representation)。这一阶段的目标是让模型掌握语言的语法、语义、常识等基础能力,为后续的微调(Fine-tuning)打下基础。
BERT vs GPT

一、BERT(MLM + NSP)

BERT的预训练:MLM与NSP
基于Transformer编码器的双向架构,BERT通过掩码语言模型(MLM)和下一句预测(NSP)任务学习上下文语义。MLM随机遮盖15%的输入词,强制模型从双向语境中预测缺失词,突破传统单向模型的局限;NSP则通过判断句子对是否连贯,强化跨句推理能力。
BERT: The Breakthrough in Bidirectional Language Understanding
一、MLM(Masked Language Modeling)
在BERT的预训练中,模型通过Masked Language Modeling(MLM)任务学习双向上下文,即随机遮盖输入文本中15%的词,并基于被遮盖词左右两侧的上下文预测该词。
(1)任务:随机遮盖输入文本中的15%的词,要求模型预测被遮盖的词。
(2)示例:输入句子为“The cat sits on the [MASK]”,模型需要预测 “[MASK]” 为 “mat”。
    MLM — Sentence Transformers documentation
    二、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.”
    三、新手学习建议:
    阶段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, TrainingArgumentsimport torch# 加载预训练模型和tokenizertokenizer = 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)类似双向“完形填空”,更擅长上下文理解,适配“理解”任务
    一、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”。
    二、新手学习建议:
    阶段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, GPT2Tokenizerimport torch# 加载预训练模型和tokenizertokenizer = 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.")

        53AI,企业落地大模型首选服务商

        产品:场景落地咨询+大模型应用平台+行业解决方案

        承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

        联系我们

        售前咨询
        186 6662 7370
        预约演示
        185 8882 0121

        微信扫码

        添加专属顾问

        回到顶部

        加载中...

        扫码咨询