大模型里prefix-decoder、casual-decoder、encoder-decoder区别

主流架构体系

大模型主要架构分为三种:prefix Decoder 系、causal Decoder 系、Encoder-Decoder。

Prefix Decoder 系:适合那些需要理解全文上下文并基于此生成下文的任务。输入部分使用双向注意力,输出部分使用单向注意力。

Causal Decoder 系:适合那些需要生成文本并保证生成顺序符合因果关系的任务,如写故事或文章。无论是输入还是输出,都使用单向注意力。

Encoder-Decoder系:适合那些需要理解完整输入序列并生成一个结构化输出的任务。编码器使用双向注意力,解码器使用单向注意力。

prefix Decoder 系

Prefix Decoder,也称为非因果解码器,通常用于需要同时考虑整个输入序列的任务,如机器翻译、文本摘要等。在这些任务中,模型需要基于输入序列生成一个输出序列。Prefix Decoder 结构在训练时的特点如下:

  • 双向注意力:在处理输入序列时,模型可以同时考虑序列中的所有词。
  • 损失计算:在训练Prefix Decoder时,损失通常只在输出序列上计算。这是因为模型的目的是学习如何从输入序列映射到输出序列,而不是自回归地生成输出序列的每个词。
  • 输出单向注意力:在生成输出序列时,Prefix Decoder 系模型采用单向注意力机制,即在生成第i个词时,只能使用之前生成的词的信息(1到i-1个词),而不能使用未来的词的信息。

损失计算:
由于其翻译或摘要性质,Prefix Decoder在训练时可能更关注于从输入到输出的映射,因此损失函数只针对输出序列计算,而不会考虑输入序列中每个token的生成概率。例如:你正在教小孩将一个法语单词翻译成英语。小孩需要知道整个法语单词是如何翻译成一系列英语单词的,而不是一个接一个地生成英语单词。因此,你将只对最终的翻译结果进行评价,这就是在输出上计算损失的概念。

代表模型:GLM-130B/ChatGLM-6B

Causal Decoder系

Causal Decoder,如GPT系列模型,是为了生成文本而设计的。它们采用自回归的方式进行文本生成,即一个词的生成依赖于它之前的所有词。在训练这类模型时,通常采用交叉熵损失来计算损失函数,具体如下:

  • 单向注意力:Causal Decoder 系的模型,采用单向注意力机制,即在生成每个词时只能关注到它之前的词,不能使用未来的词的信息。
  • 自回归特性:Causal Decoder 系模型在生成文本时,保证了生成的文本是自回归的,即每个词的生成只依赖于它之前的词,这保证了输出的因果连贯性。

损失计算:
由于其生成性质,Causal Decoder在训练时会考虑整个序列,损失函数通常对所有token计算,以确保模型学习到从开始到结束生成每个词的概率分布。想象你正在教一个小孩学习字母的顺序。为了确保小孩能够正确地按顺序说出整个字母表,你会对他说的每个字母进行纠正,这就是在所有token上计算损失的概念。

代表模型:GPT系列

Encoder-Decoder系

Encoder-Decoder 架构是一种常见的深度学习模型,它由两个主要部分组成:编码器(Encoder)和解码器(Decoder)。编码器负责将输入序列转换成一个内部表示,解码器则根据这个内部表示来生成输出序列。这种架构在机器翻译、文本摘要等任务中非常流行。

  • 分离的架构:Encoder-Decoder模型由两个独立的部分组成,编码器(Encoder)和解码器(Decoder)。
  • 双向注意力(Encoder部分):编码器处理输入序列时,其注意力机制是双向的,即每个输入元素都可以关注到序列中的其他所有元素。
  • 单向注意力(Decoder部分):解码器在生成输出序列时,采用单向自回归注意力机制,确保生成的每个词只能依赖于之前生成的词。

Encoder-Decoder适合那些需要理解完整输入序列并生成一个结构化输出的任务。
想象你有一个翻译机,它首先需要理解一种语言(编码器的工作),然后才能将这种语言翻译成另一种语言(解码器的工作)。当你对翻译机说“你好”时,编码器会理解这是中文的问候,然后解码器会生成对应的英文“Hello”。

代表模型:T5,Transformer

训练方式差异:

Encoder-Decoder:通常使用teacher forcing策略进行训练,即在训练时,Decoder的输入包括真实的前一个输出。
Prefix Decoder和Causal Decoder:通常使用自回归方式进行训练,即在生成当前词时,使用之前生成的所有词。

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值