LLM学习指南(四)—— 预训练语言模型(PLM)

预训练语言模型(PLM)概述

本章围绕Transformer架构衍生的三大主流PLM类型(Encoder-Only、Encoder-Decoder、Decoder-Only)展开,系统讲解各类型代表模型的架构设计、预训练任务、优化方向及发展历程,揭示现代大语言模型(LLM)的技术根基。

1 Encoder-Only PLM

核心定位:聚焦自然语言理解(NLU)任务,通过堆叠Transformer的Encoder层,结合双向语义学习的预训练任务,实现对文本深层语义的捕捉。代表模型为BERT及其优化版本RoBERTa、ALBERT。

1.1 BERT(Bidirectional Encoder Representations from Transformers)

1.1.1 核心思想沿承
  • Transformer架构基础:沿用2017年《Attention is All You Need》提出的Transformer Encoder层,通过堆叠Encoder实现深层语义编码,摒弃传统RNN/LSTM的序列依赖问题。
  • 预训练+微调范式:继承ELMo(2018年)的"无监督预训练+下游任务微调"思路,将预训练阶段的通用语言能力迁移到具体任务,大幅降低下游任务标注成本。
1.1.2. 模型架构(Encoder Only)
  • 整体结构 :由Tokenizer→Embedding层→Encoder层→Prediction Heads四部分组成,本质为Seq2Seq模型(无Decoder),通过分类头适配NLU任务。
    • Tokenizer:采用WordPiece分词(如"playing"→"play", "##ing"),中文以单个汉字为原子单位,平衡词表大小与编码效率。
    • Embedding层:将input_ids映射为隐藏态(hidden_states),包含词嵌入+可训练的相对位置编码(通过线性矩阵拟合位置信息,优于Transformer的绝对位置编码,但无法处理超训练长度输入,最大上下文512 token)。
    • Encoder层:堆叠12层(Base版)或24层(Large版)Encoder Layer,每层含"多头自注意力+Intermediate层(线性层+GELU激活函数)",Base版参数量110M,Large版340M。
    • Prediction Heads:线性层+激活函数,输出维度与任务类别数一致,通过Softmax得到类别概率。
1.1.3. 预训练任务(MLM + NSP)
  • MLM(掩码语言模型) :模拟"完形填空",解决传统LM单向语义学习的缺陷。
    • 操作:随机遮蔽15% token,其中80%替换为<MASK>、10%随机替换为其他token、10%保持不变(消除预训练与微调的不一致性,迫使模型关注上下文)。
    • 优势:利用无监督语料(如3300M单词),拟合双向语义,提升文本理解能力。
  • NSP(下一句预测) :针对句级NLU任务(如问答匹配、自然语言推理),判断两个句子是否为连续上下文。
    • 正例:从语料中抽取连续句子;负例:随机打乱句子(避免原连续句),通过<CLS> token的隐藏态做二分类。
1.1.4. 下游任务微调
  • 通用适配设计 :输入首部添加<CLS> token(代表整句语义),预训练后仅需微调分类头即可适配多任务:
    • 文本分类:修改Prediction Heads输出维度;
    • 序列标注:集成多层隐藏态输出标注结果;
    • 文本生成:直接用Encoder输出解码。
  • 性能与影响:发布时刷新GLUE、MultiNLI等7个任务SOTA,确立预训练模型在NLU的统治地位,即使LLM时代,仍在标注数据丰富的NLU任务中表现优异。

1.2 RoBERTa(Robustly Optimized BERT Pretraining Approach)

1.2.1 核心优化方向

基于BERT架构,聚焦"数据规模、预训练任务、训练参数"三大维度优化,模型结构与BERT-large一致(24层Encoder,340M参数)。

优化点 具体措施
移除NSP任务 实验证明NSP任务简单且可能负面影响性能,仅保留MLM;同时采用"动态遮蔽"(训练时实时遮蔽,避免静态遮蔽的数据重复)。
扩大预训练数据与步长 新增CC-NEWS、OPENWEBTEXT等语料,总量160GB(10倍于BERT);训练步长500K(66个Epoch),batch size提升至8K(BERT为256),全序列以512 token训练。
增大BPE词表 替换BERT的WordPiece为BPE分词,词表从30K扩大到50K,提升编码能力(代价是Embedding层参数增加)。
1.2.2. 性能与意义

刷新多个下游任务SOTA,证明"更大数据、更长训练、更优任务设计"的有效性,为LLM的"规模优先"思路提供基础。

1.3 ALBERT(A Lite BERT)

1.3.1 核心优化方向

聚焦"减小参数量、提升模型效率",通过结构优化在小参数下超越BERT性能。

优化点 具体措施
Embedding参数分解 解绑Embedding输出维度与隐藏层维度:设Embedding输出为128维,通过128×1024线性层升维至隐藏层大小(如1024),参数从V×H降至V×E + E×H(E=128),大幅减少计算开销。
跨层参数共享 仅初始化1个Encoder Layer,24层计算复用该层参数(参数量从340M降至59M),支持构建"更宽"模型(如隐藏层2048维),但训练/推理速度略慢(仍需24次计算)。
改进预训练任务(SOP) 替换NSP为SOP(句子顺序预测):正例为连续句子,负例为连续句子逆序(提升任务难度,迫使模型学习句子逻辑顺序),实验证明SOP更优。
1.3.2 性能与意义

以59M参数(ALBERT-xlarge)实现超越BERT-large(340M)的性能,为模型压缩提供新思路,但因速度问题未广泛替代BERT。

2 Encoder-Decoder PLM

核心定位:兼顾NLU与NLG(自然语言生成),保留Transformer的Encoder与Decoder双结构,通过"文本到文本"的统一范式处理多任务,代表模型为T5。

2.1 T5(Text-To-Text Transfer Transformer)

2.1.1 模型结构(Encoder-Decoder)
  • 整体框架 :Tokenizer→Embedding层→EncoderLayers→DecoderLayers,Encoder处理输入文本,Decoder生成输出文本,两者通过"Encoder-Decoder Attention"交互。
    • Tokenizer:与BERT类似,将文本转为input_ids;
    • Embedding与归一化 :采用RMSNorm(Root Mean Square Normalization)替代LayerNorm,仅1个可学参数,公式为RMSNorm(x) = x / √(1/n∑x_i² + ε) · γ,稳定性更强;
    • Encoder Layer:含"多头自注意力+前馈神经网络(FFN)";
    • Decoder Layer:额外增加"Encoder-Decoder Attention"(捕捉输入与输出的依赖),Mask机制与Transformer一致(遮蔽未来token)。
2.1.2 预训练任务
  • 核心任务:MLM(类似BERT),使用750GB的C4数据集(Common Crawl清洗后的英文文本),随机遮蔽15% token并预测。
  • 多任务预训练:尝试混合翻译、摘要等任务进行预训练,提升模型通用能力。
2.1.3 核心创新:大一统思想

将所有NLP任务统一为"文本到文本"转换,通过"任务描述前缀"明确任务类型,简化模型设计与训练流程:

  • 文本分类:输入"classify: 这是一个很好的产品",输出"正面";
  • 翻译:输入"translate English to French: How are you?",输出"Comment ça va?";
  • 问答:输入"answer: 地球的半径是多少?",输出"约6371公里"。
2.1.4 性能与影响

统一任务范式减少任务特定调试,提升多任务学习效率,为后续Seq2Seq模型(如BART)提供思路,在翻译、摘要等任务中表现优异。

3 Decoder-Only PLM

核心定位:专为自然语言生成(NLG)设计,是现代LLM的主流架构,通过堆叠Transformer的Decoder层,结合"因果语言模型(CLM)"预训练任务,实现长文本生成,代表模型为GPT、LLaMA、GLM系列。

3.1 GPT(Generative Pre-Training Language Model)

3.1.1 模型架构(Decoder Only)
  • 整体结构 :Tokenizer→Embedding层→Positional Embedding→DecoderLayers→线性层,与BERT类似但堆叠Decoder层,天生适配NLG。
    • 位置编码:沿用Transformer的Sinusoidal绝对位置编码(三角函数计算),而非BERT的可训练编码;
    • Decoder Layer:12层(GPT-1),含"掩码自注意力(遮蔽未来token)+ Pre-Norm(先归一化再计算注意力,避免梯度爆炸)+ MLP(用1D卷积替代线性层,效果一致)";
    • 输出层:线性层映射到词表维度,通过Softmax生成下一个token。
3.1.2 预训练任务:CLM(因果语言模型)
  • 核心逻辑 :基于前文预测下一个token,模拟人类写作习惯,公式为P(token_i | token_1, ..., token_{i-1}),通过不断迭代生成完整序列(如输入"今天天气"→输出"今天天气很"→再输入"今天天气很"→输出"今天天气很好")。
  • 优势:与下游生成任务完全匹配(无预训练-微调不一致),可利用任意无监督文本,数据规模易于扩大。
3.1.3 GPT系列发展历程
模型 参数量 预训练语料 核心改进与意义
GPT-1 0.12B 5GB 首个Decoder-Only PLM,验证预训练+微调范式,但参数与数据小,性能弱于BERT。
GPT-2 1.5B 40GB 扩大参数量与数据(WebText数据集);改为Pre-Norm结构;提出"零样本学习(Zero-Shot)",无需微调直接通过任务描述解决问题(能力有限)。
GPT-3 175B 570GB LLM开创之作,数据从CC、WebText等采样(45T清洗后570GB);引入"少样本学习(Few-Shot/上下文学习)",通过3-5个示例提升任务表现;稀疏注意力降低计算成本,展现"涌现能力",为ChatGPT奠定基础。

3.2 LLaMA(Large Language Model Meta AI)

Meta开源的LLM系列,基于GPT架构优化,聚焦"性能、效率、多语言支持",是开源社区主流基座模型。

3.2.1 模型架构(Decoder Only)

与GPT一致,核心差异在细节优化:

  • 归一化:采用LlamaRMSNorm(类似T5的RMSNorm);
  • 位置编码:引入旋转位置编码(RoPE),提升长序列建模能力;
  • 注意力机制:LLaMA-2起引入分组查询注意力(GQA),平衡计算效率与注意力质量。
3.2.2 系列发展历程
版本 参数量版本 预训练语料 核心改进
LLaMA-1 7B/13B/30B/65B 1T token 2023年2月发布,开源后成为社区热门;65B模型需2048张A100训练21天。
LLaMA-2 7B/13B/34B/70B 2T token 2023年7月发布,上下文长度从2K→4K;引入GQA;除34B外均开源,支持更多任务。
LLaMA-3 8B/70B(400B待训) 15T token 2024年4月发布,词表扩大到128K(编码效率提升);支持8K长文本;多语言能力增强,性能接近闭源模型。

3.3 GLM(General Language Model)

智谱开发的中文LLM系列,早期尝试融合CLM与MLM,后期回归主流Decoder-Only架构,是中文开源LLM的重要代表。

3.3.1 模型架构(Decoder Only,早期差异化设计)

与GPT的三点差异:

  • 归一化:使用Post Norm(先残差计算再归一化,鲁棒性更强,但大模型易梯度问题);
  • 输出层:单个线性层预测token(而非MLP),减少参数量;
  • 激活函数:用GeLUs替代ReLU,保证非线性连续性。
3.3.2 预训练任务:GLM(自回归空白填充)

早期核心创新,融合CLM与MLM:

  • 操作:随机遮蔽连续token片段(而非单个token),模型需用上下文预测片段,且片段内部按CLM顺序生成(如输入"I because you "→输出"-love you; -are wonderful");
  • 优势:同时适配NLG(片段内CLM)与NLU(上下文预测),实验中在SuperGLUE等任务超越同体量BERT。
3.3.3 系列发展历程
版本 发布时间 核心改进
ChatGLM-6B 2023.03 国内首个开源中文LLM,1T语料预训练,支持2K上下文;基于早期GLM架构。
ChatGLM2-6B 2023.06 回归LLaMA架构,引入MQA;上下文长度→32K;预训练规模扩大,性能大幅提升。
ChatGLM3-6B 2023.10 优化训练数据与策略,语义、数学、代码能力达SOTA;支持函数调用与代码解释器。
GLM-4 2024.01 支持128K上下文,英文性能接近GPT-4;开源轻量版GLM-4-9B(8K上下文,多语言支持)。

核心总结与技术脉络

  1. 架构演进逻辑:从Encoder-Only(NLU)→Encoder-Decoder(兼顾NLU/NLG)→Decoder-Only(LLM主流,NLG优先),核心驱动力是"任务需求"与"规模效应"。
  2. 预训练任务创新:从LM(单向)→MLM(双向)→CLM(因果生成)→GLM(融合),逐步解决"语义捕捉"与"任务匹配"问题。
  3. LLM技术根基:GPT的CLM任务、LLaMA的架构优化、GLM的中文适配,共同构成现代开源LLM的核心技术栈,而"参数量扩大+数据规模提升+上下文长度增加"是性能突破的关键。
相关推荐
回眸&啤酒鸭8 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
博图光电8 小时前
Libra 27105相关技术参数
人工智能·数码相机
IT_陈寒8 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端
yumgpkpm9 小时前
Acceldata ODP(Open Data Platform)3.3.6.4(RHEL9)保姆级完整安装手册
大数据·人工智能·hive·hadoop·kafka·hbase·cloudera
程序员cxuan9 小时前
腾讯又来一王炸,开源版 WorkBuddy 太夯了!
人工智能·后端·程序员
邓工说电9 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技
阿里云大数据AI技术9 小时前
Lance 数据检索怎么选,当然阿里云 Milvus 向量湖
人工智能
出海客9 小时前
跨境电商多语言客服知识库怎么建:资料结构、检索边界与人工升级
大数据·人工智能
xsd202411189 小时前
从自主导航到视觉读表:一台工业巡检机器人的全栈技术链路拆解
人工智能
袁哥大话安全9 小时前
巡隐WEBSHELL扫描软件
人工智能·安全·web