Encoder-Decoder架构的模型简介

《大模型应用开发 鲍亮,李倩 清华大学出版社》【摘要 书评 试读】- 京东图书

Encoder-Decoder架构的模型包括T5模型、BART语言模型、GLM模型与Switch Transformer模型等。

本文目录

[2.3.1 T5模型](#2.3.1 T5模型)

[2.3.2 BART语言模型](#2.3.2 BART语言模型)

[2.3.3 GLM模型](#2.3.3 GLM模型)

[2.3.4 Switch Transformer](#2.3.4 Switch Transformer)


Encoder-Decoder 架构是一种在序列到序列(Sequence-to-Sequence, Seq2Seq)任务中广泛应用的核心模型框架。该架构主要由编码器和解码器两部分组成,整体结构如图2.5所示[34]。编码器通常由多个编码模块层层堆叠构成,每个模块内部通过自注意力机制充分建模输入序列中各元素之间的双向依赖关系,同时结合前馈神经网络实现特征的非线性变换,从而将原始输入序列转换为包含全局语义信息的上下文表示。解码器同样由多个解码模块依次连接,每个模块内部包含带有掩码机制的自注意力层、交叉注意力层以及前馈神经网络。掩码自注意力层确保解码过程中每个位置只能依赖于之前已生成的内容,符合自回归生成的特性;而交叉注意力层则通过解码器的查询向量与编码器输出的键值对进行交互,使得解码器能够动态地利用输入序列中的全局信息,指导生成过程。借助这两种注意力机制的协同作用,模型不仅能深刻理解输入序列的整体语义结构,还能在生成阶段保持输出与输入的高度相关性,实现语义连贯且长度灵活的文本生成效果。在自然语言处理领域,这一架构得到了广泛应用,典型代表包括采用统一文本到文本转换范式的T5模型,以及结合自编码与自回归优点的BART和GLM模型,这些模型在机器翻译、文本摘要等任务中表现出色,进一步验证了Encoder-Decoder架构的强大表达能力和广泛适用性。

图2.5 Encoder-Decoder架构

2.3.1 T5模型

在传统自然语言处理领域,不同任务通常需要设计专门的模型结构、训练数据格式和训练策略。例如,文本分类任务和序列标注任务分别使用不同的模型和训练方法,这导致开发周期长、复用难度大。针对这一问题,Google提出了一种统一范式的大型预训练语言模型------T5[34]。T5通过将所有任务统一转换为文本到文本的生成任务,极大地简化了多任务的建模流程,并提高了模型的泛化能力。

1. T5模型架构

T5基于标准的Encoder-Decoder Transformer架构构建。模型包含一个编码器和一个解码器,二者均由多个Transformer模块堆叠而成。编码器负责将输入文本编码为丰富的上下文表示,解码器基于编码器的输出生成目标文本序列。每个Transformer模块内部包括多头自注意力机制、前馈神经网络、残差连接以及层归一化,保证模型具有强大的表达能力和稳定的训练过程。这种序列到序列的设计使得T5能够灵活处理输入和输出长度不固定的文本对,同时便于统一不同自然语言处理任务的建模[43]。

2. 统一的文本到文本范式

T5针对不同任务,输入文本前会加上特定的任务前缀,从而指示模型执行相应任务。模型基于这一统一格式接受输入,输出对应的文本结果。实现了将多种自然语言处理任务统一视为文本生成问题。表2.1列举了若干典型任务在T5框架下的格式化示例。

借助统一的任务格式,T5不再需要为不同任务单独设计模型结构,仅通过调整输入格式即可完成不同类型的任务迁移。

3. 预训练

在大规模预训练阶段,T5采用了独特的片段破坏机制作为训练目标,以增强模型的语言建模与上下文理解能力。其核心流程如下:

从原始训练语料中随机选取约15%的token。

将被选中的token按连续片段(span)整体遮盖,典型长度为3个token。

用特殊标记(如<extra_id_0>、<extra_id_1> 等)替代遮盖内容。

模型目标是根据剩余上下文重建被遮盖的完整片段。

这一机制相比于BERT采用的单词级遮盖(Mask LM)具有更强的语言理解与结构建模能力,能够学习更复杂的句法依赖与长距离上下文联系。

示例说明:

复制代码
原始文本:

今天天气晴朗,适合外出郊游。



训练输入:

今天<extra_id_0>适合外出<extra_id_1>。



训练目标:

<extra_id_0>天气晴朗<extra_id_1>郊游

在该预训练任务中,模型需综合理解上下文信息才能复原被遮盖内容,从而提升其整体语言建模能力。

2. 下游任务适配

得益于统一建模框架与强大的预训练能力,T5在下游任务中具有极高的适配性,主要包括以下两种应用方式:

1)零样本学习(Zero-Shot Learning)

在部分任务中,通过合理设计输入提示前缀,T5能够直接在未见过的任务上进行预测,无需额外微调。例如:

复制代码
输入:翻译中文到英文:你好!

输出:Hello!

这种能力得益于预训练阶段广泛的任务覆盖与统一的文本到文本建模方式。

2)微调学习(Fine-Tuning)

在特定领域或专门任务上,可通过少量标注数据对预训练模型进行微调,使其适应具体应用场景。例如,法律文书摘要、医疗报告生成、领域知识问答系统等。

微调阶段通常采用与预训练相同的输入输出格式,仅需在新任务数据上继续训练模型参数。

2.3.2 BART语言模型

随着自然语言处理任务的不断拓展,模型设计逐渐呈现出两条主线:以BERT为代表的双向编码模型在理解类任务(如分类、问答、命名实体识别等)中表现优异;而以GPT为代表的自回归解码模型则在生成类任务(如文本续写、对话生成、机器翻译等)中占据主导地位。然而,现实任务往往既需要准确理解,又需要流畅生成。BART(Bidirectional and Auto-Regressive Transformers)[35]正是为此诞生的通用型架构,旨在整合编码器与解码器的优势,兼顾语义理解与文本生成能力。

1. 模型结构

BART的整体架构回归了最初Transformer的Encoder-Decoder设计,但做出了细微而关键的调整。

  • 编码器(Encoder):与BERT类似,BART的编码器部分采用了深度堆叠的Transformer Encoder层,能够双向建模输入序列中的上下文信息。不同于单向建模的自回归模型,双向编码使其能够同时关注词汇左侧和右侧的语境,有助于更全面地捕捉语义特征。
  • 解码器(Decoder):继承了Transformer Decoder的自回归特性,在生成时,每一步预测都基于已有的历史生成内容。这一设计赋予模型出色的生成能力,使其能够胜任诸如摘要生成、文本翻译等完整序列到序列的任务。
  • 非线性激活函数:BART在模型细节上微调了激活函数,使用了Gaussian Error Linear Unit(GeLU)[36]替代了原始Transformer中的ReLU[37],提升了模型在大规模语料下的表达能力与收敛速度。

BART并未像BERT或GPT那样对Transformer结构做过分的裁剪,而是充分利用了Encoder-Decoder的互补优势,在统一架构下支持多样的任务类型。

2. 多样化的噪声预训练机制

BART的核心创新之一在于其预训练任务的设计。传统的BERT仅采用了遮盖单词(Masking)的方法训练模型,但BART通过引入更丰富的输入扰动方式,训练模型在复杂噪声下重建原始文本,这一去噪式自编码任务大幅提升了模型对语义的敏感度,弱化了其对表面结构规律的依赖。其具体预训练扰动策略包括五种,如图2.6所示,分别是Token 遮挡任务(Token Masking)、Token 删除任务(Token Deletion)、连续文本填空任务(Text Infilling)、句子打乱任务(Sentence Permutation)和文档旋转任务(Document Rotation)。

图2.6 BART中5中不同的噪声方式

  • Token 遮挡任务:与BERT类似,随机将输入序列中的部分词汇替换为特殊标记(如[MASK]),训练模型预测缺失的词汇,考察其词汇层面的语义补全能力。
  • Token 删除任务:直接删除部分词汇,造成输入序列的断裂,让模型学会在缺失信息的条件下复原整体句意,提升其对句子内隐含语法与语义线索的整合能力。
  • 连续文本填空任务:随机选取连续的词片段整体遮盖,甚至可以在句中插入连续的遮盖标记,要求模型同时推断缺失内容的长度与具体词汇,训练其更强的段落级语言建模能力。
  • 句子打乱任务:在文档级别随机打乱句子顺序,使模型不能单纯依赖句子相邻关系,而需深度理解句间逻辑关联,以准确还原原文顺序。
  • 文档旋转任务:将输入序列看作一个循环体,从任意位置作为起点重新排列句子,考验模型对整体语境的统一建模能力。

通过这种多元噪声的引入,BART有效避免了模型过度依赖固定格式化信息,鼓励其在更复杂、更贴近自然语言本质的条件下学习语义与结构的内在联系。

3. 下游任务适配

得益于Encoder-Decoder的结构优势与灵活的训练方式,BART几乎无需额外改造即可高效适配多种下游任务:

  • 序列分类任务:借助解码器最后位置的输出作为整体序列表示(类似GPT中的最终Token输出,或BERT的[CLS]),直接用于分类任务训练。
  • 标注与序列标记任务:通过将解码器在每个位置的输出映射至对应标签空间,实现命名实体识别、词性标注等细粒度预测任务。
  • 序列到序列任务:BART的Encoder-Decoder结构天然契合序列转换类任务,无需修改即可直接应用于机器翻译、文本摘要、对话系统等任务场景。相比BERT需要额外构造Seq2Seq变体,BART的结构优势尤为明显。

4. 性能表现与模型体积权衡

在训练规模与计算复杂度上,BART较BERT仅增加了约10%的参数量,却在文本生成类任务中实现了明显超越。同时在理解类任务中,BART与强化预训练的RoBERTa亦可比肩。其在GLUE、CNN/DailyMail摘要、机器翻译等多个基准测试中均取得了优异成绩,成为兼具实用性与性价比的代表性通用预训练模型之一。

2.3.3 GLM模型

General Language Model (GLM) [38]是由清华大学知识工程实验室(KEG)与智谱AI(Zhipu AI)联合提出的大规模通用语言模型,最早版本发布于2022年。作为中国在大型语言模型(Large Language Model,LLM)技术自主创新的重要代表,GLM在推出后迅速在学术界与工业界获得了广泛关注,尤其在中文自然语言处理(NLP)任务中展现出优异性能。随着研究的深入,团队先后发布了包括GLM-130B、GLM-6B、ChatGLM等多个版本。其中,ChatGLM系列[39]在多轮对话生成、指令遵循(instruction following)等任务中表现突出,成为中文对话式大模型的重要代表之一。GLM的提出不仅丰富了大语言模型在中文语境下的应用实践,也在模型架构设计、大规模预训练、跨语言迁移等方面推动了技术体系的完善与演进。

1. 模型架构

GLM整体采用Transformer作为基础框架,但在多方面针对大规模训练场景进行了结构优化:

  • Pre-LN残差连接设计:GLM在残差连接与层归一化(Layer Normalization)顺序上采用了预归一化(Pre-LN)结构,即将LayerNorm置于子层输入之前(LayerNorm→Attention/MLP→Residual)[42]。已有研究(如Megatron-LM等)表明,Pre-LN结构在深层模型训练中有助于缓解梯度消失与数值不稳定问题,从而提升大模型训练的收敛效率与稳定性。
  • 输出层简化:GLM在输出层采用了单层线性映射进行词汇预测,相较部分模型采用复杂解码头的设计,简化了模型在预测阶段的计算复杂度。
  • 激活函数改进:GLM用高斯误差线性单元(Gaussian Error Linear Unit,GELU)替代了传统的ReLU激活函数。相较于ReLU的硬性截断,GELU通过平滑加权机制更好地保留了输入特征的连续性,有助于提升模型在复杂非线性关系建模中的能力。此外,GELU激活与高斯分布假设天然契合,尤其适用于结合批归一化(Batch Normalization)或层归一化的深层神经网络结构。

GLM在架构设计上的创新与优化,有效提升了模型在中文及多语言任务中的泛化能力与训练稳定性,为后续多模态、多任务预训练提供了坚实的技术基础。

2. 预训练

GLM(General Language Model)是一种融合多种语言建模任务的统一预训练框架,其设计初衷是希望通过灵活的任务定义、统一的建模范式以及多样的训练目标来提升模型在下游任务中的泛化与迁移能力。相比于传统单一自回归或自编码的预训练方法,GLM在预训练阶段就引入了多样化的学习目标,力求让模型在捕捉语言的生成性、理解性和推理性方面达到更高的平衡。在GLM中,预训练整体采用的是统一自回归架构,即所有预训练任务都转化为序列到序列的预测问题,模型通过依次生成空缺位置的文本,来学习语言建模与推理能力。这种统一设计使得模型能够兼容多种任务需求,包括自然语言理解(NLU)和自然语言生成(NLG)任务。GLM在预训练过程中,设计了多种数据生成与标注策略,让模型在训练时遇到丰富的上下文变化,逐步学会在不同信息缺失条件下进行有效的预测。它既保留了自回归模型的高效生成特性,又通过空白填充任务强化了模型的整体理解和长距离依赖建模能力。

自回归空白填充是GLM预训练方法的核心创新之一。传统的自编码式掩码语言模型(如BERT)通常采用单词级别的随机mask,但缺乏连续片段的建模能力。而GLM在此基础上引入了连续片段填空(span infilling)与自回归预测结合的训练目标,具体如下:

  • 片段遮盖策略:训练样本中,输入序列会被随机遮盖掉若干连续片段(spans),遮盖的长度和位置采用随机采样(如几何分布或Poisson分布控制片段长度),以模拟不同粒度的信息缺失。这些被遮盖的片段用特殊的空白标识符(例如 <blank_1>, <blank_2>)占位。
  • 自回归预测机制:与非自回归的mask预测不同,GLM要求模型按照自回归顺序逐个填充这些空白片段。也就是说,模型先预测 <blank_1> 的内容,生成完成后再用预测结果填充回输入序列,然后基于已填充的新序列继续预测 <blank_2>,如此递归进行。这种方式逼迫模型学习局部一致性与整体语义连贯性,强化了对长距离上下文依赖的建模能力。

自回归空白填充的训练方式避免了自编码模型的独立mask预测所导致的训练-推理不一致问题;保留了自回归模型良好的生成能力,适配生成任务;有利于提升阅读理解、问答等理解型任务性能。

2.3.4 Switch Transformer

Switch Transformer[40]是一种在传统Transformer模型基础上发展出来的架构,它的设计灵感来自于人类在处理任务时往往只动用部分脑区的特点。与标准Transformer相比,Switch Transformer在每一层的前馈神经网络部分引入了"专家机制"------可以理解为许多专门擅长不同任务的小型神经网络[41],如图2.7所示[40]。模型在处理每一段输入时,不是让所有专家都参与运算,而是通过一个路由器模块,智能地挑选出最合适的一个或少数几个专家来完成当前任务。这种设计让模型在整体拥有极大参数容量的同时,实际计算量却不会随之大幅增加,从而兼顾了计算效率与模型能力。其余部分,比如注意力机制和层归一化等,仍然沿用了标准Transformer的设计,使得整体架构在性能提升的同时保持了稳定性和可扩展性。得益于这种稀疏激活的策略,Switch Transformer可以在有限的硬件资源下训练出远超传统模型规模的超大模型,成为通往大规模智能的重要一步。

图2.7 Switch Transformer架构

相关推荐
大模型真好玩4 小时前
低代码Agent开发框架使用指南(一)—主流开发框架对比介绍
人工智能·低代码·agent
tzc_fly4 小时前
AI作为操作系统已经不能阻挡了,尽管它还没来
人工智能·chatgpt
PKNLP4 小时前
深度学习之神经网络1(Neural Network)
人工智能·深度学习·神经网络
银帅183350309715 小时前
2018年下半年试题四:论NoSQL数据库技术及其应用
数据库·架构·nosql
文火冰糖的硅基工坊5 小时前
《投资-107》价值投资者的认知升级与交易规则重构 - 上市公司的估值,估的不是当前的净资产的价值,而是未来持续赚钱的能力,估的是公司未来所有赚到钱的价值。
重构·架构·投资·投机
文火冰糖的硅基工坊5 小时前
《投资-99》价值投资者的认知升级与交易规则重构 - 什么是周期性股票?有哪些周期性股票?不同周期性股票的周期多少?周期性股票的买入和卖出的特点?
大数据·人工智能·重构·架构·投资·投机
Elastic 中国社区官方博客5 小时前
Elasticsearch:使用推理端点及语义搜索演示
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
一水鉴天5 小时前
整体设计 逻辑系统程序 之18 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之2
docker·架构·认知科学·公共逻辑
AI新兵5 小时前
深度学习基础:从原理到实践——第一章感知机(中)
人工智能·深度学习