架构在训练时是个“开卷考试”(用真实答案辅助学习),在推理时是个“闭卷创作”(全靠自己一步步写)。

一、训练阶段

核心思想:在训练时,模型每一步的预测,都能看到“标准答案”的已知部分,这样学得更快、更稳。

1. 输入与输出的预处理
  • 输入文本:被编码器处理成上下文表示(即模型对输入的理解)。

  • 输出文本:在开头加上特殊标记 [START],然后同样经过分词、嵌入、位置编码,并行输入解码器。

    • 注意这里是并行输入,即解码器一次性拿到了整个正确的输出序列(除了最后一个词,因为要预测它)。

2. Teacher Forcing 机制(关键点)
  • 定义:在预测第 t 个词时,模型不使用自己上一轮预测的词,而是使用真实输出文本中第 t−1 个词作为输入。

  • 比喻理解

    • 就像一个学生在做完形填空,每填一个空,老师(Teacher)立刻把正确答案告诉他,让他用正确答案去推下一个空。

    • 这避免了“一步错,步步错”的连锁反应,让训练更稳定、收敛更快。

  • 损失计算:模型预测的每个位置的概率分布与真实的Token计算交叉熵损失,然后反向传播更新参数。

二、推理阶段:自回归生成

核心思想:模型只能靠自己,一步一步生成,每步的结果都会影响下一步。

1. 初始状态
  • 解码器的输入只有 [START] 标记,没有其他真实Token。

  • 模型根据 [START] 和编码器对输入的理解,生成第一个词的概率分布,通过采样(如top-p)选出第一个词,比如“我爱”。

2. 循环过程
  • 拼接输入:将刚生成的“我爱”拼接到 [START] 后面,作为新的输入。

  • 再次预测:模型根据新的输入(“我爱”)和编码器的理解,预测下一个词,比如“北京”。

  • 重复:直到生成 [END] 或达到最大长度。

3. 为什么是串行的?

因为下一步的输入依赖于上一步的输出,这是天生的序列依赖,无法并行。所以推理速度比训练慢得多。

三、关键术语解释

术语 通俗解释
Teacher Forcing 训练时用真实答案当“拐杖”,让模型学得更快,避免早期错误累积。
自回归 推理时,模型像写作文一样,每写一个字,都要考虑前面写过的所有字。
[START] 标记 解码器的“起跑线”,告诉模型:从这里开始生成。
[END] 标记 模型的“句号”,告诉它:输出结束,可以停了。
上下文表示 编码器对输入的理解,是一个包含了全句信息的向量序列。

四、深度洞察

  1. 训练与推理的不一致:训练时用Teacher Forcing(并行、使用真实数据),推理时是自回归(串行、使用自己生成的数据)。这种不一致是生成模型需要特殊处理的地方,比如在训练中偶尔也使用模型自己的输出(Schedule Sampling)来缓解。

  2. 效率与效果的权衡

    • 训练并行化(解码器一次性看到所有真实词)提升了训练速度

    • 推理串行化(必须一步步来)保证了生成质量(每一步都基于已生成的最优结果)。

五、与Decoder-only 的区别

你之前了解过 Decoder-only 架构(如GPT),它与 Encoder-Decoder 的推理阶段本质上都是自回归,但有两个关键区别:

维度 Encoder-Decoder(如T5、BART) Decoder-only(如GPT、LLaMA)
编码器 有独立的编码器,专门处理输入,生成上下文表示。 无独立编码器,输入和输出在同一个解码器里处理。
交叉注意力 解码器每一层都有交叉注意力机制,关注编码器输出。 无交叉注意力,只有自注意力,靠输入前缀来理解任务。
适用场景 输入与输出差异大(如翻译、摘要)。 输入与输出同质(如对话、续写)。

最后小结

以上精准地概括了 Encoder-Decoder 的核心工作流:

  • 训练时:用 Teacher Forcing 并行学习,快速收敛。

  • 推理时:自回归串行生成,确保质量。

  • 关键桥梁:编码器输出的上下文表示 + 解码器的交叉注意力,让生成始终忠于输入。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐