4、大模型架构详解:、BERT、T5、LLaMA等主流模型的架构设计与差异

大模型的技术演进本质上是一场关于“如何更高效地建模语言”的架构探索。从早期的静态词向量到如今动辄千亿参数的稠密与稀疏模型,Transformer架构已成为主流,但其在不同模型中的具体实现却存在显著差异。理解这些差异,不仅是读懂的基础,更是进行模型选型、微调适配和推理优化的关键前提。本章将深入拆解、BERT、T5、LLaMA等代表性模型的架构核心,剖析其设计哲学与工程取舍。

Transformer 基座 自编码 (AE) 自回归 (AR) 编码器-解码器 BERT / RoBERTa 系列 / LLaMA T5 / BART 双向注意力 MLM + NSP 适合理解任务 因果注意力 Next Pred 适合生成任务 双向编码 + 自回归解码 Span Corruption 适合转换任务 关键差异维度 预训练任务 | 注意力掩码 | 位置编码 | 归一化位置 | 激活函数 | 推理效率 理解:BERT 双向上下文;生成: 单向因果;转换:T5 统一文本到文本

上图展示了当前大模型架构的三大主流流派及其代表模型。下面我们将逐一深入剖析其设计细节,并探讨它们在实际应用中的表现与选择策略。

4.1 自编码架构:BERT与双向上下文建模

核心原理:掩码语言模型与双向注意力

BERT(Bidirectional Encoder Representations from Transformers)的核心创新在于其双向编码能力。与早期仅从左到右或从右到左的单向模型不同,BERT通过掩码语言模型(MLM)任务,随机遮盖输入序列中15%的,并让模型基于左右两侧的全部上下文来预测被遮盖的词。这种设计使得每个的表示都融合了完整的上下文信息,对于情感分析、命名实体识别、文本分类等需要全局理解的任务极为有效。

在架构实现上,BERT仅使用Transformer的编码器(Encoder)部分。其注意力机制是全连接(Full Attention)的,即每个都可以看到序列中的所有其他(包括自身)。此外,BERT还引入了下一句预测(NSP)任务(在RoBERTa中被移除)和位置编码(Sinusoidal或可学习),以增强对句子关系和词序的建模。

关键参数与结构:BERT-base拥有12层编码器、768维隐藏层、12个注意力头,参数量约1.1亿。BERT-large则拥有24层、1024维、16个注意力头,参数量约3.4亿。其训练数据主要来自英文维基百科和BooksCorpus。

判断方法:何时选择BERT类模型?

  • 任务类型:以理解为主的任务,如文本分类、信息抽取、语义相似度计算、阅读理解(抽取式)。
  • 延迟要求:BERT类模型由于是双向编码,无法像那样进行流式自回归生成,但推理时可以对整个序列并行计算,在离线批处理场景下吞吐量较高。
  • 资源约束:BERT-base相对较小,易于在单卡或CPU上部署,适合对延迟不敏感的ToB场景。

案例拆解:基于BERT的语义搜索系统

某电商平台需要构建一个商品搜索系统,目标是理解用户查询意图(如“适合跑步的轻便运动鞋”)并匹配商品描述。初始方案使用BM25关键词匹配,但无法处理同义词和语义歧义。

实施步骤:

  1. 数据准备:收集10万条商品标题与描述,人工标注查询-商品相关性对。
  2. 模型选择:选用bert-base-chinese作为基础模型,在标注数据上进行微调,使用双塔(Siamese)结构,分别编码查询和商品,计算余弦相似度。
  3. 训练细节:使用AdamW优化器,学习率2e-5,Batch Size为32,训练3个Epoch。损失函数采用ContrastiveLoss。
  4. 上线效果:相比BM25,搜索点击率(CTR)提升18%,无结果率下降35%。

风险与代价:双塔模型虽然推理快,但精度上限低于交互式模型(如Cross-Encoder)。若对精度要求极高,需采用Cross-Encoder重排,但会牺牲延迟。

常见误区:不要将BERT直接用于长文本生成任务。由于MLM预训练的特性,BERT生成的文本缺乏连贯性和多样性,且推理时需要逐个预测被掩码的位置,效率极低。BERT是“理解”专家,不是“生成”专家。

4.2 自回归架构:与LLaMA的生成范式

核心原理:因果注意力与Next Prediction

(Generative Pre-trained Transformer)系列确立了自回归(Autoregressive)生成范式。其核心是因果注意力(Causal Attention)机制,即每个只能关注其左侧的,不能看到右侧信息。这种“单向”约束使得模型天然适合从左到右的文本生成。预训练任务为Next Prediction,即给定前k个,预测第k+1个。

LLaMA(Large Language Model Meta AI)在架构基础上进行了多项工程优化,成为开源社区的重要基石。其关键改进包括:

  • Pre-Norm:将LayerNorm放在子层之前,有助于训练深层网络的稳定性。
  • RMSNorm:使用均方根归一化替代LayerNorm,计算量更小,效果相当。
  • SwiGLU激活函数:替代ReLU或GELU,在FFN层引入门控线性单元,提升模型表现。
  • 旋转位置编码(RoPE):通过旋转矩阵将相对位置信息注入注意力计算,对长序列外推更友好。

判断方法:何时选择/LLaMA类模型?

  • 任务类型:文本生成、对话系统、代码补全、故事创作等生成式任务。
  • 上下文长度:LLaMA等模型支持更长的上下文(如32K、128K),适合处理长文档摘要、多轮对话。
  • 少样本能力:系列在In-Context Learning方面表现出色,可通过Prompt设计完成新任务,无需微调。

案例拆解:基于LLaMA-2-7B的代码补全工具

某SaaS公司希望为开发者提供IDE插件,实现代码自动补全。约束条件:模型需部署在用户本地或私有云,内存占用小于16GB,延迟低于200ms。

分析过程:

  1. 模型选型:对比(API延迟高、数据隐私风险)与LLaMA-2-7B(开源、可私有化部署)。选择LLaMA-2-7B。
  2. 量化压缩:采用或AWQ4-bit量化,将模型从13GB压缩至约4GB,推理速度提升2倍。
  3. 推理优化:使用vLLM框架,利用PagedAttention管理KV Cache,实现高并发推理。
  4. 微调适配:在目标编程语言(如Python、Java)的公开代码库上继续预训练(Continue Pretraining)1000步,增强代码语法能力。

结果对比:量化后模型在HumanEval基准上准确率下降约2%,但延迟从350ms降至120ms,满足实时性要求。

经验提醒:自回归模型的推理性能瓶颈在于KV Cache的显存占用。对于长序列生成,建议使用FlashAttention-2和PagedAttention技术,可显著提升吞吐量。
常见误区:认为模型无法用于理解任务。实际上,通过设计合适的Prompt(如“请判断以下评论的情感是正面还是负面”),及以上模型在多数理解任务上已超越BERT。但代价是推理成本更高、延迟更大。选择时需权衡精度与成本。

4.3 编码器-解码器架构:T5的统一文本到文本框架

核心原理:Span Corruption与文本到文本

T5(Text-to-Text Transfer Transformer)将所有NLP任务统一为文本到文本的形式。无论是翻译、摘要、分类还是问答,输入和输出都是文本字符串。这种统一框架极大简化了任务适配流程。在预训练阶段,T5采用Span Corruption目标:随机将输入序列中的连续片段(Span)替换为哨兵(如),模型需要预测这些被替换的Span。

在架构上,T5使用完整的Transformer编码器-解码器结构。编码器采用双向注意力理解输入,解码器采用因果注意力生成输出。这种设计使得T5在需要“先理解后生成”的任务(如抽象摘要、表格转文本)上具有天然优势。

判断方法:何时选择T5类模型?

  • 任务类型:需要转换的任务,如机器翻译、文本摘要、风格迁移、语法纠错。
  • 可控生成:T5可以通过在输入前添加任务前缀(如“summarize:”)来控制生成行为,适合多任务统一部署。
  • 数据效率:在中小规模数据集上,T5的微调效果通常优于同等规模的模型。

案例拆解:多语言客服工单自动摘要

某跨国电商平台每天产生数万条多语言客服工单,需要自动生成简洁的摘要供后续处理。初始方案使用 API,但成本高昂且存在数据出境合规风险。

实施步骤:

  1. 模型选择:采用mt5-base(多语言T5),支持100+种语言。
  2. 数据预处理:将工单文本与人工摘要配对,格式化为summarize: {工单内容} 。
  3. 微调:使用Adafactor优化器,学习率1e-3,Batch Size为8,训练5个Epoch。输入长度截断至512 ,输出长度限制为128 。
  4. 部署:使用ONNX Runtime导出模型,部署至4张T4 GPU,支持在线推理。

结果对比:ROUGE-L得分从的0.32提升至0.35,且单次推理成本降低80%。

架构对比表:
维度BERT / LLaMAT5
预训练任务MLM + NSPNext PredictionSpan Corruption
注意力掩码双向(全可见)单向(因果)编码器双向 / 解码器单向
位置编码位置(Sinusoidal)RoPE(LLaMA)相对位置(RPE)
归一化位置Post-NormPre-Norm + RMSNormPre-Norm
激活函数GELUSwiGLUReLU / GELU
典型参数量1.1亿 - 3.4亿7B - 70B+2.2亿 - 110亿
擅长任务理解、分类、抽取生成、对话、代码转换、摘要、翻译
推理效率高(并行编码)低(逐生成)中(编码并行,解码串行)

常见误区与总结复盘

  • 误区1:认为“大模型就是”。实际上,BERT和T5在特定任务上依然具有不可替代的优势,尤其是资源受限或对延迟敏感的场景。
  • 误区2:忽略位置编码的差异。位置编码外推能力差,当推理长度超过训练长度时性能急剧下降。RoPE和ALiBi等相对位置编码更适合长文本。
  • 误区3:盲目追求参数量。LLaMA-7B在指令微调后的效果可能优于未微调的LLaMA-13B。架构设计(如数据质量、训练技巧)比单纯堆参数更重要。

总结:选择架构时,应首先明确任务类型(理解/生成/转换),再评估部署资源与延迟要求。BERT类模型是“精读”专家,/LLaMA是“创作”专家,T5则是“翻译”专家。理解它们的底层设计逻辑,才能在实际工程中做出最优决策。