Appearance
核心基础:Transformer
首先,要理解 Encoder-Decoder、Encoder-Only、Decoder-Only 三种架构,必须先知道它们都源自于同一个基础:Transformer 模型。2017年,Google 在论文《Attention Is All You Need》中提出了 Transformer,它最初被设计用于机器翻译,其原始形态就是一个完整的 Encoder-Decoder 架构。
Transformer 的核心是自注意力机制(Self-Attention),它允许模型在处理一个序列(比如一个句子)时,计算序列中每个单词与其他所有单词的关联度,从而捕捉长距离依赖关系。
1. Encoder-Decoder 架构
这可以看作是全功能的原始 Transformer 架构。
- 核心思想:由两个部分组成。
- Encoder (编码器):负责接收并理解输入序列的全部内容。它会把整个输入序列(例如,一句待翻译的德语)处理成一个富含上下文信息的数字表示(向量)。
- Decoder (解码器):接收 Encoder 输出的数字表示,并基于此逐个生成输出序列的每个部分(例如,翻译后的英语单词)。
- 信息流与注意力机制:
- Encoder 使用 双向自注意力 (Bi-directional Self-Attention)。在处理输入句子时,每个词都可以同时看到它前面和后面的所有词,从而获得最完整的上下文理解。
- Decoder 有两种注意力:
- 带掩码的自注意力 (Masked Self-Attention):也叫因果注意力(Causal Attention)。在生成第
n
个词时,它只能看到已经生成的前n-1
个词,不能看到未来的词,这保证了生成过程的单向性。 - 交叉注意力 (Cross-Attention):这是关键。Decoder 在生成每个词时,都会回头去看一下 Encoder 对原始输入句子的完整理解。这使得 Decoder 的输出与原始输入紧密相关。
- 带掩码的自注意力 (Masked Self-Attention):也叫因果注意力(Causal Attention)。在生成第
- 通俗比喻:专业的笔译翻译家。
- 他会先完整地阅读并理解整篇源语言文章(Encoder 过程)。
- 然后,在充分理解原文的基础上,开始逐字逐句地写出目标语言的译文,并且在翻译每个句子时,都会不断回顾原文的关键信息(Decoder + Cross-Attention 过程)。
- 擅长任务:输入和输出序列结构不同或需要对输入进行完整理解后再生成的任务。
- 机器翻译 (Machine Translation):例如,从中文翻译成英文。
- 文本摘要 (Summarization):输入一篇长文章,输出一个简短的摘要。
- 问答 (Question Answering):特别是需要综合全文信息才能回答的问题。
- 典型模型:
- T5 (Text-to-Text Transfer Transformer)
- BART (Bidirectional and Auto-Regressive Transformers)
- 原始的 Transformer
2. Encoder-Only 架构
这是只取了 Transformer 的 Encoder 部分进行堆叠而形成的架构。
- 核心思想:专注于理解输入文本,而不是生成。它的目标是为输入的每个词(Token)生成一个深度融合了上下文信息的向量表示(Embedding)。
- 信息流与注意力机制:
- 完全采用 双向自注意力 (Bi-directional Self-Attention)。模型中的每个词都可以无限制地看到上下文中的所有其他词。这使其能够对文本的语义、语法和结构有非常深刻的理解。
- 通俗比喻:阅读理解大师或语言学家。
- 他能反复、深入地阅读一篇文章,分析每个词在不同上下文中的确切含义,判断句子的情感,找出关键实体。但他不擅长自己写一篇新文章。
- 擅长任务:自然语言理解 (NLU) 相关的任务。
- 文本分类 (Text Classification):如情感分析、垃圾邮件检测。
- 命名实体识别 (Named Entity Recognition, NER):找出文本中的人名、地名、组织名。
- 句子关系判断 (Sentence-pair Classification):判断两个句子是相似、矛盾还是无关。
- 抽取式问答 (Extractive Question Answering):从给定的文章中直接找出答案。
- 典型模型:
- BERT (Bidirectional Encoder Representations from Transformers)
- RoBERTa
- ALBERT
3. Decoder-Only 架构
这是只取了 Transformer 的 Decoder 部分进行堆叠,并去掉其中的交叉注意力部分而形成的架构。
- 核心思想:专注于生成。它根据已经给出的文本(Prompt),来预测下一个最可能的词,然后将新生成的词加入到输入中,继续预测下一个,如此循环,从而生成连贯的文本。
- 信息流与注意力机制:
- 只使用 带掩码的自注意力 (Masked Self-Attention / Causal Attention)。模型在预测下一个词时,只能看到前面的词,看不到后面的词。这种从左到右的单向信息流非常适合生成任务。
- 通俗比喻:才思敏捷的“话痨”或即兴小说家。
- 你给他一个开头(比如“从前有座山”),他就能根据已经写出的内容,滔滔不绝地往下续写故事。他永远是向前看的,不会回头修改已经写好的部分。
- 擅长任务:自然语言生成 (NLG) 相关的任务。
- 文本生成 (Text Generation):写文章、写诗、写代码。
- 对话系统 / 聊天机器人 (Chatbots):如 ChatGPT。
- 语言模型 (Language Modeling):计算一句话出现的概率。
- 上下文学习 (In-context Learning):通过提供几个例子(Few-shot Prompting)让模型学习并完成新任务。
- 典型模型:
- GPT 系列
- LLaMA 系列
- Gemini 系列
- Claude 系列
- Qwen 系列
总结与对比
特性 | Encoder-Decoder | Encoder-Only | Decoder-Only |
---|---|---|---|
核心功能 | 理解输入,再生成输出 (Seq2Seq) | 深入理解输入 (NLU) | 根据前文生成后续文本 (NLG) |
注意力机制 | Encoder: 双向自注意力 Decoder: 带掩码自注意力 (因果自注意力) + 交叉注意力 | 双向自注意力 | 带掩码的自注意力 (因果自注意力) |
信息流 | 输入双向,输出单向 | 双向 | 单向 (从左到右) |
比喻 | 专业笔译翻译家 | 阅读理解大师 | 才思敏捷的小说家 |
擅长任务 | 翻译、摘要 | 文本分类、实体识别、情感分析 | 对话、写作、代码生成任务 |
典型模型 | T5, BART | BERT, RoBERTa | GPT系列, LLaMA系列 |
趋势与展望
在当前的大模型浪潮中,Decoder-Only 架构成为了绝对的主流。这是因为研究者们发现,当模型规模足够大、训练数据足够多时,强大的 Decoder-Only 模型不仅能出色地完成生成任务,还能通过上下文学习(In-context Learning)的方式,涌现出解决各种理解任务(如分类、摘要)的能力,使其成为一种更加通用的架构。尽管如此,在某些特定的、对输入有严格对齐要求的任务(如高质量翻译)上,Encoder-Decoder 架构依然有其独特的优势。