本文详解基于Transformer的大模型三大主流架构:Encoder-only使用双向注意力适合理解任务;Encoder-Decoder结合编码解码擅长有条件生成但计算成本高;Decoder-only采用单向注意力适合无条件生成且效率高。文章对比了三种架构的注意力机制差异及适用场景,指出随着参数规模增长,Decoder-only架构逐渐成为主流,展现出"大一统"潜力。

前排提示,文末有大模型AGI-CSDN独家资料包哦!

目前主流的大模型(LLM)架构,基本上都建立在 Transformer 框架之上,但根据训练目标、信息流动方式和应用场景,可以分为以下三类主流架构。

  1. Encoder-only 架构

Encoder-only 架构仅选取了 Transformer 中的编码器部分,用于接受输入文本并生成与上下文相关的特征。具体来说,Encoder-only 架构包含三个部分,分别是输入编码部分,特征编码部分以及任务处理部分,具体的模型结构如下图所示。其中输入编码部分包含分词、向量化以及添加位置编码三个过程。而特征编码部分则是由多个相同的编码模块堆叠而成,其中每个编码模块包含自注意力模块(和全连接前馈模块(MLP [谁都能听懂的Transformer架构-前馈神经网络(FFN)。任务处理模块是针对任务需求专门设计的模块,其可以由用户针对任务需求自行设计。Encoder-only架构模型的预训练阶段和推理阶段在输入编码和特征编码部分是一致的,而任务处理部分则需根据任务的不同特性来进行定制化的设计。

在输入编码部分,原始输入文本会被分词器(Tokenizer)拆解为 Token 序列,随后通过词表和词嵌入,矩阵映射为向量序列,确保文本信息得以数字化表达。接着为了保留文本中单词的顺序信息,每个向量序列会被赋予位置编码(Positional Encoding)。在特征编码部分,先前得到的向量序列会依次通过一系列编码模块,这些模块通过自注意力机制和前馈网络进一步提取和深化文本特征。任务处理部分在预训练阶段和下游任务适配阶段一般有所差别。在预训练阶段,模型通常使用全连接层作为输出头,用于完成掩码预测等任务。而在下游任务适配阶段,输出头会根据具体任务需求进行定制。例如,对于情感分析或主题分类等判别任务,只需要添加一个分类器便可直接输出判别结果。但对于文本摘要生成等生成任务,则需要添加一个全连接层,逐个预测后续的 Token。但以这种形式来完成生成任务存在着诸多的限制,例如在每次生成新的 Token 时,都需要重新计算整个输入序列的表示,这增加了计算成本,也可能导致生成的文本缺乏连贯性。

  1. Encoder-Decoder 架构

为了弥补 Encoder-only 架构在文本生成任务上的短板,Encoder-Decoder 架构在其基础上引入了一个解码器(Decoder),并采用交叉注意力机制来实现编码器与解码器之间的有效交互。

具体来说,解码器包含了输出编码、特征解码以及输出生成三个部分。其中输出编码与编码器中的输入编码结构相同,包含分词、向量化以及添加位置编码三个过程,将原始输入文本转换化为带有位置信息的向量序列。此外,特征解码部分与特征编码部分在网络结构上也高度相似,包括掩码自注意力(Masked Self Attention)模块,交叉注意力模块和全连接前馈模块。其中掩码自注意力模块确保模型只关注上文,不会“预见”未来的信息,从而可以在无“下文泄露”的条件下,进行“自回归”的训练和推理。而交叉注意力模块则负责处理从编码模块向解码模块传递相关信息。输出生成部分则由一个线性层以及一个 Softmax 层组成,负责将特征解码后的向量转换为词表上的概率分布,并从这个分布中采样得到最合适的Token 作为输出。

上图展示了 Encoder-Decoder 架构的具体工作流程。在训练阶段,样本中同时包含了输入和真实输出文本。其中输入文本首先被输入编码部分转化为向量序列,接着在特征编码模块中被多个堆叠起来的编码模块进一步处理,从而被转化为上下文表示。而输出文本之前会被添加特殊的开始标记 [START],然后在输出编码部分被分词、词嵌入和位置编码处理后,并行输入到特征解码模块中。接着解码模块使用 Teacher Forcing 技术,在每轮预测时,使用真实输出文本中的已知部分作为输入,并结合从最后一个编码块得到的上下文信息,来预测下一个Token,计算预测的 Token 和真实 Token 之间的损失,通过反向传播更新模型参数。

在推理阶段,由于缺少了真实的输出文本,所以输出序列原始状态只有开始标记 [START],也不再需要分词器。模型需要通过自回归的方式,在每轮采样生成Token 后,会将其拼接到输出序列中,用于下一轮预测。这个过程循环进行,直到生成特定的结束标记 [end] 或达到模型设定的最大输出长度。在这一过程中,由于每轮的输入依赖于上一轮的采样结果,因此只能一步步地串行输出。

  1. Decoder-only 架构

为了有效缩减模型的规模以及降低整体的计算复杂度,Decoder-only 架构摒弃了 Encoder-Decoder 架构中的编码器部分以及与编码器交互的交叉注意力模块。在这种架构下,模型仅使用解码器来构建语言模型。这种架构利用“自回归”机制,在给定上文的情况下,生成流畅且连贯的下文。

Decoder-only 架构同样包含了三个部分,分别是输入编码部分、特征解码部分以及输出生成部分,其具体的模型结构如图所示。Decoder-only 架构的核心特点在于省略了每个编码模块中的交叉注意力子模块,这也是其与传统 Encoder-Decoder 架构中解码器部分的主要区别。

4.模型架构的功能对比

上述的 Encoder-only、Encoder-Decoder 和 Decoder-only 这三种模型架构虽然都源自于 Transformer 框架,但他们在注意力矩阵上有着显著区别,这也造就了他们在功能以及最终适用任务上的不同。接下来将针对注意力矩阵以及适用任务两个方面对这三种架构的主要区别进行分析。

注意力矩阵

注意力矩阵(Attention Matrix) 是 Transformer 的核心,用来计算序列中各个 Token 之间的依赖关系。它使模型在处理某个 Token 时,可以灵活地参考其他 Token 的信息,从而决定哪些位置对当前计算最重要。

Encoder-only 架构 中,注意力矩阵来自自注意力(Self-Attention)机制。这里的注意力是“完全”的,即每个 Token 都能与输入序列中的所有 Token 建立联系。这种 双向注意力机制 让模型能够同时利用前后文,从而更好地理解复杂的语义和上下文依赖。

Encoder-Decoder 架构 中,注意力矩阵由三部分组成:

  • 编码器的自注意力矩阵:与 Encoder-only 相同,是“完全”的注意力,用于捕捉输入序列的全局依赖。
  • 解码器的掩码自注意力矩阵:呈“下三角”结构,保证生成当前 Token 时只能依赖之前生成的 Token,避免“偷看”未来信息。
  • 交叉注意力矩阵:连接编码器与解码器,使解码器在生成 Token yi时,既能参考编码器生成的上下文表示x1 ∼ xn,也能结合先前生成的 Token 序列列 y1 ∼ yi−1。

Decoder-only 架构 中,注意力矩阵只来自掩码自注意力机制,同样呈“下三角”模式。这种 单向注意力机制 保证了生成的因果性:模型在预测当前 Token yi时,只能依赖历史 Token y1∼yi−1,从而保证文本生成的顺序性与连贯性。

适用任务

由于架构设计和注意力矩阵机制的差异,这三类 Transformer 模型在相同参数规模下各自展现出不同的优势与应用倾向。

Encoder-only 架构 依靠双向注意力机制,使模型在预测每个 Token 时能够同时利用前后文信息,从而更好地捕捉语义和依赖关系。因此,这类模型特别适合自然语言理解(NLU)任务,如情感分析、文本分类等需要判别的场景。但由于缺乏解码器,它们难以直接生成目标序列,因此在自然语言生成(NLG)任务上通常不及专门的生成型模型。

Encoder-Decoder 架构 在编码器的基础上引入了解码器,使模型能够在理解输入的同时逐步生成输出序列。得益于这种结合,模型可以灵活处理复杂输入条件,并产出连贯、高质量的内容,非常适合有条件生成任务,例如机器翻译、文本摘要和问答系统。然而,引入解码器也意味着更高的参数规模和计算成本。

Decoder-only 架构 则省略了编码器部分,降低了整体复杂度。它通过掩码机制和自回归生成方式,保证在预测当前 Token 时只能依赖先前的 Token。这类模型在大规模预训练数据的支持下,能够生成高质量、连贯的文本,尤其在故事生成、新闻写作等无条件生成任务中表现突出。但在模型规模有限时(如 GPT-1、GPT-2),由于缺少编码器提供的双向上下文,其对复杂输入的理解存在一定局限,表现往往不如 Encoder-Decoder 架构。

随着时间演进,这三种架构都曾在各自的应用场景中展现优势。如今,得益于参数和数据规模的指数级增长,Decoder-only 架构逐渐成为主流。以 GPT-3、GPT-4 为代表的大型自回归语言模型,已经展现出卓越的任务泛化能力,并在记忆、推理以及复杂任务执行等方面逐渐达到甚至超越人类水平,被视为具备“大一统”潜力的架构。

读者福利:倘若大家对大模型感兴趣,那么这套大模型学习资料一定对你有用。

针对0基础小白:

如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

请添加图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐