Prefix Decoder /Causal Decoder/Encoder-Decoder的区别

Prefix Decoder

定义:Prefix Decoder,也称为非因果解码器,属于Decoder only结构。输入部分使用双向注意力,输出部分使用单向注意力。在生成新的输出时,会考虑到所有之前生成的输出。

特点:Prefix Decoder在处理输入序列时,模型可以同时考虑序列中的所有词。生成输出时会考虑整个输入序列,而不仅仅是之前的输出。这使得它在处理需要全局上下文的任务时表现更好。训练阶段,通常使用自回归方式进行训练,即在生成当前词时,使用之前生成的所有词。Encoder和Decoder则共享了同一个Transformer结构,共享参数。

代表模型:GLM、ChatGLM、ChatGLM2、U-PaLM

Causal Decoder

定义:Causal Decoder,即因果解码器,属于Decoder only结构。输入和出均为单向注意力。在生成新的输出时,只会考虑到之前的输出,而不会考虑到未来的输出。

特点:与Prefix Decoder相比,Causal Decoder更注重序列的时序关系,因此在处理时间序列数据时具有优势。然而,在处理需要全局上下文的任务时,它可能不如Prefix Decoder表现得好。训练阶段,通常使用自回归方式进行训练,prefix Decoder 和 causal Decoder 主要的区别在于 attention mask不同。

代表模型:GPT系列、LLaMA-7B、BLOOM、LLaMa 衍生物

Encoder-Decoder

定义:Encoder-Decoder包括一个编码器(Encoder)和一个解码器(Decoder)。编码器使用双向注意力,每个输入元素都可以关注到序列中的其他所有元素。解码器使用单向注意力,确保生成的每个词只能依赖于之前生成的词。编码器负责将输入数据转化为一个连续的向量,解码器则负责将这个向量转化为最终的输出。

特点:Encoder-Decoder结构能够将输入数据编码成一个固定维度的向量,然后通过解码器将这个向量解码成目标输出。这种结构能够有效地处理变长序列的转换问题,并且具有较强的通用性和灵活性。在训练时,Decoder的输入包括真实的前一个输出(teacher forcing策略)。和Prefix decoder不同,这里encoder和decoder参数独立。

代表模型:Transformer、Flan-T5、BART

相关推荐
地平线开发者4 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮5 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者5 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考5 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx9 小时前
CART决策树基本原理
算法·机器学习
Wect9 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱10 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
Gorway16 小时前
解析残差网络 (ResNet)
算法
拖拉斯旋风16 小时前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用
算法
Wect16 小时前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
前端·算法·typescript