T5模型结构部分简述

T5(Text-to-Text Transfer Transformer,有5个T开头的单词,所以叫做T5)

模型采用了一种与前述模型截然不同的策略:将不同形式的任务统一转化为条件式生成任务。
T5-base 的模型结构是
encoder:12个transformer的encoder链接,每个Block的encoder输出链接下一个encoder的输入。
最后一个Block编码后的输出,拿去做Decoder所有Block的cross-attention
Decoder:12个transform的decoder链接,训练时第一个Block输入是label的shift_right,后一个block是上一个的输出。

cross-attention:k和v来自encoder的最终输出,q来自decoder上一层的输出。根据q和k的相似度,对v进行加权。
以下摘自李沐老师视频

1. Decoder的输入到底是什么

在train模式下和在test模式下Decoder的输入是不同的,在train模式下Decoder的输入是Ground Truth,也就是不管输出是什么,会将正确答案当做输入,这种模式叫做teacher-forcing。
但是在test模式下根本没有Ground Truth去teach,那只能将已经出现的词的输出(注意这里的输出是走完整个Decoder计算得到预测结果而不是走完一层Decoder的输出)当做下一次Decoder计算的输入,我想这也是论文中shifted right的意思,一直往右移。

2. Decoder到底是不是并行计算的

在Transformer中,最被人津津乐道,也是他相较于RNN类型模型最大的优点之一就是他可以并行计算,但是这个并行计算仅限于在Encoder中,在Encoder中是将所有的词一起输入一起计算,但是在Decoder中不是的,在Decoder中依然是像RNN一样一个一个词输入,将已经出现的词计算得到的Q与Encoder计算得到的K,V进行计算,经过了全部Decoder层再经过FC+Softmax 得到结果之后再把结果当做Decoder的输入再走一遍整个流程直到得到END标签。Decoder在训练的时候应该是可以并行化的,在测试的时候不可以并行化。

3. Encoder与Decoder之间的交互

Encoder与Decoder之间的交互不是每一层一一对应的,而是Encoder 6层全部计算完得到K和V之后再将K和V传给Decoder的每一层与其计算得到的Q进行计算。此外,Encoder和Decoder之间的连接方式还有各种可能的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值