4、大模型架构详解:、BERT、T5、LLaMA等主流模型的架构设计与差异
大模型的技术演进本质上是一场关于“如何更高效地建模语言”的架构探索。从早期的静态词向量到如今动辄千亿参数的稠密与稀疏模型,Transformer架构已成为主流,但其在不同模型中的具体实现却存在显著差异。理解这些差异,不仅是读懂的基础,更是进行模型选型、微调适配和推理优化的关键前提。本章将深入拆解、BERT、T5、LLaMA等代表性模型的架构核心,剖析其设计哲学与工程取舍。
上图展示了当前大模型架构的三大主流流派及其代表模型。下面我们将逐一深入剖析其设计细节,并探讨它们在实际应用中的表现与选择策略。
4.1 自编码架构:BERT与双向上下文建模
核心原理:掩码语言模型与双向注意力
BERT(Bidirectional Encoder Representations from Transformers)的核心创新在于其双向编码能力。与早期仅从左到右或从右到左的单向模型不同,BERT通过掩码语言模型(MLM)任务,随机遮盖输入序列中15%的,并让模型基于左右两侧的全部上下文来预测被遮盖的词。这种设计使得每个的表示都融合了完整的上下文信息,对于情感分析、命名实体识别、文本分类等需要全局理解的任务极为有效。
在架构实现上,BERT仅使用Transformer的编码器(Encoder)部分。其注意力机制是全连接(Full Attention)的,即每个都可以看到序列中的所有其他(包括自身)。此外,BERT还引入了下一句预测(NSP)任务(在RoBERTa中被移除)和位置编码(Sinusoidal或可学习),以增强对句子关系和词序的建模。
判断方法:何时选择BERT类模型?
- 任务类型:以理解为主的任务,如文本分类、信息抽取、语义相似度计算、阅读理解(抽取式)。
- 延迟要求:BERT类模型由于是双向编码,无法像那样进行流式自回归生成,但推理时可以对整个序列并行计算,在离线批处理场景下吞吐量较高。
- 资源约束:BERT-base相对较小,易于在单卡或CPU上部署,适合对延迟不敏感的ToB场景。
案例拆解:基于BERT的语义搜索系统
某电商平台需要构建一个商品搜索系统,目标是理解用户查询意图(如“适合跑步的轻便运动鞋”)并匹配商品描述。初始方案使用BM25关键词匹配,但无法处理同义词和语义歧义。
实施步骤:
- 数据准备:收集10万条商品标题与描述,人工标注查询-商品相关性对。
- 模型选择:选用
bert-base-chinese作为基础模型,在标注数据上进行微调,使用双塔(Siamese)结构,分别编码查询和商品,计算余弦相似度。 - 训练细节:使用
AdamW优化器,学习率2e-5,Batch Size为32,训练3个Epoch。损失函数采用ContrastiveLoss。 - 上线效果:相比BM25,搜索点击率(CTR)提升18%,无结果率下降35%。
风险与代价:双塔模型虽然推理快,但精度上限低于交互式模型(如Cross-Encoder)。若对精度要求极高,需采用Cross-Encoder重排,但会牺牲延迟。
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。
分析过程:
- 模型选型:对比(API延迟高、数据隐私风险)与LLaMA-2-7B(开源、可私有化部署)。选择LLaMA-2-7B。
- 量化压缩:采用
或AWQ4-bit量化,将模型从13GB压缩至约4GB,推理速度提升2倍。 - 推理优化:使用
vLLM框架,利用PagedAttention管理KV Cache,实现高并发推理。 - 微调适配:在目标编程语言(如Python、Java)的公开代码库上继续预训练(Continue Pretraining)1000步,增强代码语法能力。
结果对比:量化后模型在HumanEval基准上准确率下降约2%,但延迟从350ms降至120ms,满足实时性要求。
FlashAttention-2和PagedAttention技术,可显著提升吞吐量。
4.3 编码器-解码器架构:T5的统一文本到文本框架
核心原理:Span Corruption与文本到文本
T5(Text-to-Text Transfer Transformer)将所有NLP任务统一为文本到文本的形式。无论是翻译、摘要、分类还是问答,输入和输出都是文本字符串。这种统一框架极大简化了任务适配流程。在预训练阶段,T5采用Span Corruption目标:随机将输入序列中的连续片段(Span)替换为哨兵(如
在架构上,T5使用完整的Transformer编码器-解码器结构。编码器采用双向注意力理解输入,解码器采用因果注意力生成输出。这种设计使得T5在需要“先理解后生成”的任务(如抽象摘要、表格转文本)上具有天然优势。
判断方法:何时选择T5类模型?
- 任务类型:需要转换的任务,如机器翻译、文本摘要、风格迁移、语法纠错。
- 可控生成:T5可以通过在输入前添加任务前缀(如“summarize:”)来控制生成行为,适合多任务统一部署。
- 数据效率:在中小规模数据集上,T5的微调效果通常优于同等规模的模型。
案例拆解:多语言客服工单自动摘要
某跨国电商平台每天产生数万条多语言客服工单,需要自动生成简洁的摘要供后续处理。初始方案使用 API,但成本高昂且存在数据出境合规风险。
实施步骤:
- 模型选择:采用
mt5-base(多语言T5),支持100+种语言。 - 数据预处理:将工单文本与人工摘要配对,格式化为
summarize: {工单内容}。 - 微调:使用
Adafactor优化器,学习率1e-3,Batch Size为8,训练5个Epoch。输入长度截断至512 ,输出长度限制为128 。 - 部署:使用
ONNX Runtime导出模型,部署至4张T4 GPU,支持在线推理。
结果对比:ROUGE-L得分从的0.32提升至0.35,且单次推理成本降低80%。
| 维度 | BERT | / LLaMA | T5 |
|---|---|---|---|
| 预训练任务 | MLM + NSP | Next Prediction | Span Corruption |
| 注意力掩码 | 双向(全可见) | 单向(因果) | 编码器双向 / 解码器单向 |
| 位置编码 | 位置(Sinusoidal) | RoPE(LLaMA) | 相对位置(RPE) |
| 归一化位置 | Post-Norm | Pre-Norm + RMSNorm | Pre-Norm |
| 激活函数 | GELU | SwiGLU | ReLU / GELU |
| 典型参数量 | 1.1亿 - 3.4亿 | 7B - 70B+ | 2.2亿 - 110亿 |
| 擅长任务 | 理解、分类、抽取 | 生成、对话、代码 | 转换、摘要、翻译 |
| 推理效率 | 高(并行编码) | 低(逐生成) | 中(编码并行,解码串行) |
常见误区与总结复盘
- 误区1:认为“大模型就是”。实际上,BERT和T5在特定任务上依然具有不可替代的优势,尤其是资源受限或对延迟敏感的场景。
- 误区2:忽略位置编码的差异。位置编码外推能力差,当推理长度超过训练长度时性能急剧下降。RoPE和ALiBi等相对位置编码更适合长文本。
- 误区3:盲目追求参数量。LLaMA-7B在指令微调后的效果可能优于未微调的LLaMA-13B。架构设计(如数据质量、训练技巧)比单纯堆参数更重要。
总结:选择架构时,应首先明确任务类型(理解/生成/转换),再评估部署资源与延迟要求。BERT类模型是“精读”专家,/LLaMA是“创作”专家,T5则是“翻译”专家。理解它们的底层设计逻辑,才能在实际工程中做出最优决策。