Transformer架构演进:从BERT、GPT到多模态与效率优化

发布时间:2026/8/2 11:38:52
Transformer架构演进:从BERT、GPT到多模态与效率优化 1. 从“注意力”到“万物皆可Transformer”一个时代的缩影如果你在2017年之后才开始接触深度学习尤其是自然语言处理NLP那么“Transformer”这个词对你来说可能就像空气一样自然存在。但如果你经历过那个从RNN、LSTM、GRU一路走来的时代就会明白Transformer的出现不亚于一场“降维打击”。它用一种名为“自注意力”Self-Attention的机制彻底解决了序列建模中长期存在的长距离依赖和并行计算效率两大难题。最初的论文《Attention Is All You Need》标题就带着一股颠覆性的自信而事实也证明它确实开启了一个全新的范式。如今“Transformer”早已超越了NLP的范畴成为了一个通用的“序列到序列”甚至“任意到任意”的建模框架。从文本、语音、图像到视频、蛋白质结构、强化学习你几乎能在所有需要处理结构化或序列化数据的领域看到它的身影。随之而来的是模型数量呈爆炸式增长名字也五花八门BERT、GPT、T5、ViT、Swin Transformer、DETR……对于刚入门的开发者或者想快速了解某个领域最新进展的研究者来说面对这琳琅满目的“Transformer家族”很容易感到眼花缭乱不知从何下手。这篇文章我就想以一个过来人的视角帮你理清这个庞大家族的主要脉络。我不会罗列所有模型那没有意义。我会聚焦于几个最核心的“进化分支”通过对比它们的设计哲学、核心创新点以及最典型的应用场景让你不仅能叫出它们的名字更能理解它们为什么被设计成这样以及在你自己的项目中该如何做出选择。记住模型本身是工具理解其背后的“为什么”远比记住参数数量更重要。2. 奠基者与两大核心范式编码器、解码器与编解码器要理解后续的所有变体我们必须回到源头搞清楚原始Transformer的架构以及由此衍生出的三种核心范式。原始Transformer是一个典型的“编码器-解码器”Encoder-Decoder架构专为机器翻译这类序列生成任务设计。编码器的任务是理解并压缩输入序列的信息。它由N个论文中N6完全相同的层堆叠而成每一层都包含两个核心子层多头自注意力机制和前馈神经网络。每个子层周围都采用了残差连接和层归一化这是训练深层网络稳定性的关键。编码器的输出是一个包含了输入序列全局上下文信息的向量序列。解码器的任务是基于编码器的输出和已生成的部分结果自回归地一个一个词地预测下一个词。它的结构比编码器稍复杂在每一层中包含了三个子层第一个是“掩码多头自注意力层”它确保在预测当前位置时只能看到之前的位置防止信息泄露第二个是“编码器-解码器注意力层”它让解码器能够聚焦于编码器输出的相关部分第三个依然是前馈网络。解码器最终通过一个线性层和Softmax输出下一个词的概率分布。理解了原始结构后我们会发现后续绝大多数模型都是对这个“编码器-解码器”范式的简化或特化主要形成了两大主流路线1. 纯编码器Encoder-Only范式代表模型BERT及其众多变体如 RoBERTa, ALBERT, DistilBERT。设计哲学专注于“理解”。它舍弃了解码器只使用编码器部分。通过在海量无标注文本上进行预训练如掩码语言模型MLM和下一句预测NSP让模型学会深度理解语言的语义和句法结构。核心特点双向上下文编码。得益于自注意力机制BERT在编码每个词时都能同时看到句子中所有其他词的信息这使其在需要深度理解的任务上表现卓越。典型应用所有“理解型”任务。例如文本分类情感分析、新闻分类序列标注命名实体识别、词性标注句子对任务自然语言推理、语义相似度计算、问答匹配抽取式问答从给定文本中抽取出答案片段为什么选它当你的任务不需要生成新文本而是对已有文本进行分析、分类、匹配或信息抽取时基于BERT的纯编码器模型通常是首选。它的预训练表示非常强大通过简单的微调就能在下游任务上取得优异效果。2. 纯解码器Decoder-Only范式代表模型GPT系列GPT-2, GPT-3, ChatGPT背后的模型。设计哲学专注于“生成”。它舍弃了编码器只使用解码器部分但去掉了其中的“编码器-解码器注意力层”因为不需要编码外部输入。其训练目标非常纯粹给定前文预测下一个词自回归语言建模。核心特点单向自回归生成。由于解码器中的掩码注意力GPT在生成每个词时只能看到它之前生成的词。这种结构天然适合文本生成任务并且通过海量数据和巨大模型规模展现出了惊人的涌现能力如上下文学习、指令遵循、复杂推理等。典型应用所有“生成型”任务。例如文本续写与创作故事、诗歌、代码对话系统ChatGPT代码生成与补全GitHub Copilot零样本/少样本学习给定几个例子模型就能完成新任务为什么选它当你的核心需求是生成连贯、创造性或遵循特定指令的文本时纯解码器模型是当仁不让的选择。特别是对于开放域对话、创意写作或需要模型根据少量提示进行推理的场景GPT类模型的能力目前是独一档的。3. 编码器-解码器Encoder-Decoder范式代表模型T5、BART。设计哲学“序列到序列”的通用转换。它完整保留了原始的编码器-解码器结构旨在处理任何可以将输入输出都表示为序列的任务。核心特点任务统一格式化。以T5为例它将所有任务如翻译、摘要、分类、回归都转化为“文本到文本”的形式。例如将“情感分析”任务格式化为输入“sentiment: This movie is great!”输出“positive”。典型应用经典的“序列转换”任务。例如机器翻译文本摘要抽取式、生成式问答生成式需要根据文档生成答案文本语法纠错为什么选它当你的任务明确需要将一个序列转换为另一个序列且输入和输出在形式和长度上可能有较大差异时完整的编码器-解码器架构是最自然的选择。T5的“文本到文本”框架尤其优雅它将多任务学习统一到了一个简单的接口下。为了方便对比我将这三种核心范式的特点总结如下特性维度纯编码器 (如 BERT)纯解码器 (如 GPT)编码器-解码器 (如 T5)核心目标理解与表征自回归生成序列到序列转换注意力模式双向全注意力单向掩码注意力编码器双向解码器掩码交叉注意力典型预训练任务MLM, NSP自回归语言建模去噪自编码如Span Corruption输入输出关系通常等长或输出为标签输入为提示输出为续写输入序列 - 输出序列优势场景分类、匹配、信息抽取文本生成、对话、代码、少样本学习翻译、摘要、生成式问答代表模型BERT, RoBERTaGPT-3, LLaMAT5, BART注意这个划分并非绝对。例如你可以用纯解码器模型做分类通过让模型生成“positive”或“negative”这个词也可以用编码器-解码器模型做纯理解任务。但这种范式划分反映了模型最初的设计意图和最擅长的领域是进行技术选型时最清晰的起点。3. 效率革命如何让Transformer“跑得更快、更省”原始Transformer的自注意力机制计算复杂度是序列长度的平方O(n²)这对于处理长文档、高分辨率图像或长视频来说是难以承受的。因此如何提升Transformer的效率成为了一个极其重要的研究方向。这部分模型可能不像BERT或GPT那样出名但它们对于实际落地至关重要。3.1 稀疏注意力与局部窗口机制核心思想不让每个token都去看所有其他token而是有选择地、稀疏地看。Longformer设计了三种注意力模式——滑动窗口注意力局部、全局注意力针对特定任务token如分类[CLS]、膨胀滑动窗口注意力扩大感受野。它让模型能够高效处理长达数千个token的文档。BigBird将稀疏注意力理论化使用随机注意力、局部窗口注意力和全局注意力针对[CLS]等的组合来近似全注意力同时被证明是序列函数的通用逼近器。它在长文本任务上表现优异。Swin Transformer计算机视觉在图像领域引入了“窗口注意力”和“移位窗口”机制。将图像划分成不重叠的局部窗口只在窗口内计算自注意力极大降低了计算量。通过层级式下采样和窗口移位实现了跨窗口的信息交互。这成为了视觉Transformer的一个里程碑。何时考虑当你需要处理远超512或1024标准长度的序列时如法律文档、学术论文、长篇小说分析、高分辨率图像分割这类模型是必选项。3.2 线性化注意力与核方法核心思想通过数学变换将注意力矩阵的计算复杂度从O(n²)降为O(n)。Linformer提出注意力矩阵是低秩的通过两个投影矩阵将键K和值V的序列长度维度从n投影到一个固定的kk n从而将复杂度线性化。PerformerChoromanski et al.使用“快速注意力FAVOR”机制通过一个巧妙的随机特征映射来近似Softmax注意力核函数实现线性的时间和空间复杂度。它的一个巨大优势是前向兼容性即可以直接加载预训练的全注意力模型如BERT的权重无需重新预训练。何时考虑当你对序列长度的扩展性有极致要求或者希望在不改变模型架构和权重的情况下直接加速一个已有的标准Transformer模型时Performer这类方法是很好的工具。3.3 模型压缩与蒸馏核心思想用一个更小、更快的模型学生去学习一个更大、性能更好的模型教师的知识。DistilBERT在预训练阶段就进行蒸馏使用教师BERT的软标签输出概率分布、隐藏状态和自注意力矩阵来指导学生模型最终得到一个参数量减少40%推理速度提升60%而性能保留教师97%的小模型。TinyBERT进行了更全面的蒸馏不仅在预训练阶段还在下游任务微调阶段对嵌入层、隐藏层、注意力矩阵和预测层都进行了蒸馏。何时考虑这是工业部署中最常见、最实用的方法。当你需要将模型部署到资源受限的环境如移动端、边缘设备或需要高并发、低延迟的在线服务时首先应该考虑使用这些经过蒸馏的轻量版模型。它们通常能提供最佳的“性能-效率”权衡。3.4 混合专家系统核心思想不是用一个巨大的稠密网络处理所有输入而是设计一个由许多“专家”子网络组成的系统对于每个输入只激活少数相关的专家。Switch Transformer在Transformer的每一层的前馈网络FFN位置放置多个FFN作为“专家”。一个路由网络根据当前token的表示决定将其发送给哪一个专家如Top-1。这样虽然模型总参数量巨大但每个token实际计算的参数量很小极大地提升了训练和推理效率。何时考虑当你拥有海量计算资源和数据希望训练一个“巨无霸”模型来追求极致性能同时又对推理成本敏感时MoE架构是目前的主流选择。许多最新的千亿、万亿参数模型如Google的GLaM早期的GPT-MoE都采用了这种架构。实操心得在实际项目中效率优化往往是组合拳。一个典型的流程是1业务需求确定需要处理长文本 - 选用Longformer或类似架构进行微调2微调后的模型推理速度不达标 - 尝试使用Performer进行线性注意力替换或者对模型进行知识蒸馏得到一个更小的版本3如果预算充足且追求极致可以探索基于MoE的大模型。永远记住在准确率满足业务底线的前提下推理速度和资源消耗是决定模型能否上线的关键。4. 跨模态与特定领域Transformer超越文本的想象力Transformer的通用性使其能够处理不同类型的数据关键在于如何将非序列数据如图像、语音转化为序列形式。4.1 视觉Transformer这是Transformer在计算机视觉领域掀起的一场风暴其核心是将图像切分为一个个图像块Patch然后将这些块视为序列中的token。ViT开山之作。将图像分割为16x16的块线性投影为向量后加上位置编码直接送入标准Transformer编码器。在大规模数据集如JFT-300M上预训练后在ImageNet分类任务上超越了当时的CNN SOTA。它证明了在足够数据下对图像结构的归纳偏置如CNN的平移不变性并非必需。Swin Transformer上文提到过它通过引入层级结构和局部窗口注意力让ViT更像CNN一样具有多尺度特征图同时效率更高。它在目标检测、分割等密集预测任务上表现极佳成为了视觉领域的通用骨干网络。DETR首次用纯Transformer端到端地解决了目标检测问题。它使用CNN骨干网络提取图像特征然后将其展平送入Transformer编码器-解码器。解码器的“对象查询”与编码器输出交互直接并行输出一组预测框和类别。它消除了传统检测器中如锚框、非极大值抑制等手工设计组件流程大大简化。何时考虑对于新的CV项目Swin Transformer或其变体通常是骨干网络的强有力候选。DETR则提供了一种新颖、简洁的目标检测范式虽然其训练收敛较慢但后续的改进模型如Deformable DETR已大大缓解了这个问题。4.2 多模态Transformer目标是让模型能够同时理解和关联来自不同模态如文本、图像、音频的信息。CLIP一个里程碑式的模型。它的思想极其巧妙分别用图像编码器和文本编码器都是Transformer将图像和文本映射到同一个向量空间然后通过对比学习让匹配的图文对向量相似度尽可能高不匹配的尽可能低。这样CLIP学会了图像和文本之间强大的语义关联实现了强大的零样本图像分类能力用文本描述作为分类器。ALBEF、BLIP这些模型在CLIP的基础上更进一步引入了更复杂的多模态融合机制。它们通常包含单模态编码器、一个跨模态编码器用于深度融合图文信息有时还有解码器用于生成任务如图文描述。BLIP因其出色的性能和干净的训练流程成为了多模态理解和生成的重要基线模型。何时考虑当你需要构建涉及图文检索以文搜图、以图搜文、图像描述生成、视觉问答等应用时多模态Transformer是核心技术。CLIP适合零样本或作为特征提取器而BLIP这类模型更适合需要深度理解和生成的下游任务微调。4.3 音频与语音Transformer将音频波形或频谱图转化为序列进行处理。Wav2Vec 2.0、HuBERT这些是自监督语音表示学习的代表。它们直接在原始音频波形上使用Transformer编码器通过掩码预测任务进行预训练学习到强大的语音特征表示。这些表示可以用于下游的语音识别、语音分类等任务在标注数据稀缺的场景下尤其有效。WhisperOpenAI开源的通用语音识别模型。它采用编码器-解码器架构在大规模多语言、多任务的弱监督数据上训练而成。其特点是鲁棒性强对口音、背景噪声不敏感、支持多语言识别和翻译开箱即用效果非常好。何时考虑对于语音相关任务现在的主流趋势是直接使用基于Transformer的预训练模型如Wav2Vec 2.0或Whisper进行微调而不是从头训练传统的RNN或CNN模型。Whisper尤其适合需要快速搭建一个高质量、多语言ASR系统的场景。4.4 科学计算Transformer这是Transformer应用中最令人兴奋的领域之一它展示了AI for Science的潜力。AlphaFold 2DeepMind解决蛋白质结构预测问题的核心模型。它大量使用了Transformer的变体如Evoformer模块来处理蛋白质的序列信息、同源序列的进化信息以及残基对之间的几何关系最终惊人准确地预测了蛋白质的三维结构。何时考虑这属于高度专业化的领域。但它启示我们Transformer作为一种强大的关系建模工具可以应用于任何具有内在关联性的数据结构如分子图、社交网络、知识图谱等。关键在于如何将领域知识融入到数据的序列化表示和模型的结构设计中。5. 大语言模型时代规模、对齐与开源生态当纯解码器模型的参数量和数据量突破某个临界点后发生了质变进入了“大语言模型”时代。这部分我们关注几个关键趋势。5.1 缩放定律与涌现能力OpenAI等机构的研究表明模型性能损失与模型规模参数量、数据量、计算量之间存在幂律关系。这意味着只要持续扩大这三个要素模型性能就能稳定提升。更神奇的是当规模达到一定程度模型会展现出在较小规模时不具备的“涌现能力”如上下文学习在推理时仅通过在输入中提供几个任务示例而不更新模型权重模型就能学会并执行新任务。指令遵循模型能够理解并执行以自然语言形式给出的复杂指令。逐步推理模型能够展示出多步的思维过程即“思维链”提示。 这些能力使得GPT-3、PaLM等模型具备了前所未有的通用性和灵活性。5.2 从预训练到对齐RLHF与SFT仅仅拥有强大的预测能力不足以让模型成为有用的助手。我们需要让模型的输出与人类的价值观和意图“对齐”。监督微调在指令-回答对数据上对预训练模型进行微调教会它遵循指令的格式。基于人类反馈的强化学习这是ChatGPT等对话模型成功的关键。其步骤通常为SFT如上述。奖励模型训练收集人类对模型多个回答的排序数据训练一个奖励模型来学习人类的偏好。RL微调使用PPO等强化学习算法以奖励模型为引导优化SFT模型使其生成更符合人类偏好的回答。 这个过程极大地提升了模型输出的事实性、无害性和有用性。5.3 开源LLM的繁荣由于闭源大模型的API成本和可控性问题开源社区催生了一系列优秀的可商用LLM。LLaMA系列Meta发布的模型以其优秀的性能和相对“亲民”的参数量7B, 13B, 70B引爆了开源社区。后续的Llama 2、Llama 3更是提供了对话微调版本并放宽了商用许可。Mistral AI这家公司推出的Mistral 7B和Mixtral 8x7BMoE模型在同等规模下性能显著领先设计非常高效。国内开源模型如ChatGLM清华、Qwen阿里、Baichuan百川智能、InternLM上海AI Lab等在中文理解和生成上具有天然优势并提供了完整的从预训练到对齐的技术栈。如何选择对于大多数开发者和企业从头预训练一个LLM是不现实的。更实际的路径是基于一个强大的开源基础模型如Llama 3、Qwen在自己的领域数据上进行有监督微调必要时可以进一步做RLHF对齐。选择时需综合考虑模型性能、上下文长度、多语言支持、商用许可和社区生态。5.4 推理与部署优化让百亿参数的模型在生产环境中高效、低成本地运行本身就是一个巨大的挑战。量化将模型权重和激活值从高精度如FP32转换为低精度如INT8, INT4甚至FP4。这能大幅减少内存占用和加速推理。GPTQ、AWQ是当前流行的后训练量化方法。模型编译与推理引擎使用像vLLM专注于LLM的高吞吐量推理、TensorRT-LLMNVIDIA的优化引擎、OpenAI Triton编写高效GPU内核等工具可以对计算图进行优化、实现高效的注意力计算和动态批处理。硬件适配除了GPU也在探索在CPU通过优化库如DeepSpeed、llama.cpp甚至边缘设备上运行LLM的可能性。踩坑实录第一次部署一个7B参数的LLM进行服务时我们直接用了原始的Hugging Facetransformers管道并发稍高就OOM内存溢出。后来切换到vLLM利用其PagedAttention技术不仅解决了内存问题还将吞吐量提升了数倍。另一个坑是量化盲目使用激进的INT4量化可能会导致模型在特定任务如代码生成、逻辑推理上性能严重下降。稳妥的做法是先在小规模验证集上全面评估量化后模型的各项能力再进行全量部署。对于开源模型密切关注其官方仓库和社区通常会有已经量化好的版本或最佳的实践指南。