T5与BART的区别
BART也采用了encoder-decoder结构,但与T5不同的是,BART在预训练阶段使用了类似于BERT的双向Transformer作为encoder,使用了类似于GPT的单向Transformer作为decoder。扰动的方式包括了词序打乱、词缺失、词替换等。总的来说,T5和BART在模型结构、预训练任务和生成方式上都有所不同,但都是将NLP任务视为序列到序列的转换问题,都采用了自回归的生
目录
1.1 T5 (Text-to-Text Transfer Transformer)模型结构
1.2. BART (Bidirectional and Auto-Regressive Transformers)模型结构
1. 模型结构
T5(Text-to-Text Transfer Transformer)和BART(Bidirectional and Auto-Regressive Transformers)都是基于Transformer的预训练模型,但在结构上有所不同。
T5采用了encoder-decoder结构,其中encoder和decoder都是使用自注意力机制的Transformer。T5将所有的NLP任务都视为文本到文本的转换问题,无论是分类、翻译还是摘要等任务,都是将输入文本转换为输出文本。
BART也采用了encoder-decoder结构,但与T5不同的是,BART在预训练阶段使用了类似于BERT的双向Transformer作为encoder,使用了类似于GPT的单向Transformer作为decoder。BART的预训练任务是序列到序列的恢复,即从被扰动的输入序列恢复出原始序列。
1.1 T5 (Text-to-Text Transfer Transformer)模型结构
T5是由Google在2019年提出的一个模型,其核心创新在于将所有的NLP任务都转化为文本生成任务,即输入和输出都是文本序列。T5模型结构基于Transformer模型,其核心是自注意力机制(Self-Attention Mechanism)。T5模型由编码器和解码器组成,每一部分都包含若干个Transformer层。
T5的特点
- 将所有NLP任务视为文本到文本的转换问题,这使得模型可以在多个任务中共享参数,从而提高效率。
- 采用了Causal Masking,即在解码过程中,只允许模型查看其之前的输出,而不能查看之后的输出,以保证生成的文本序列的连贯性。
1.2. BART (Bidirectional and Auto-Regressive Transformers)模型结构
BART是由Facebook在2019年提出的一个模型,其结构与标准的Transformer模型相同,包含一个编码器和一个解码器,每一部分都包含若干个Transformer层。
BART的特点
- BART在预训练阶段使用了一个新颖的目标函数,该函数结合了自编码(Auto-Encoding)和序列到序列(Seq2Seq)的优点。具体来说,BART会对输入文本进行某种形式的破坏(如随机删除一些词),然后训练模型去重建原始文本。
- BART的编码器和解码器都使用了双向的自注意力机制,这使得模型可以同时捕捉到文本序列中的前向和后向依赖关系。
2. 预训练任务
T5的预训练任务是Causal Language Modeling (CLM),即在给定前文的情况下,预测下一个词。T5的预训练数据包括了Causal Language Modeling任务和多种NLP任务的数据。
BART的预训练任务是Sequence-to-Sequence Denoising,即从被扰动的序列恢复出原始序列。扰动的方式包括了词序打乱、词缺失、词替换等。
3. 生成方式
T5在生成时,采用了自回归的方式,即每次生成一个词,然后将生成的词作为新的输入,进行下一个词的生成。
BART在生成时,也采用了自回归的方式,但由于其encoder是双向的,因此在生成时可以考虑到整个输入序列的信息。
总的来说,T5和BART在模型结构、预训练任务和生成方式上都有所不同,但都是将NLP任务视为序列到序列的转换问题,都采用了自回归的生成方式。
参考资料:
- Raffel, Colin, et al. "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer." arXiv preprint arXiv:1910.10683 (2019).
- Lewis, Mike, et al. "Bart: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension." arXiv preprint arXiv:1910.13461 (2019).
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)