[隐藏左侧目录栏][显示左侧目录栏]

几种mask策略#

1、模型结构#

不同的模型结构对应着不同的 mask 策略,目前主流的模型结构有:

  • 以 BERT 为代表的纯 Encoder 结构;
  • 以 T5 为代表的 Encoder-Decoder 结构;
  • 以 GPT 为代表的纯 Decoder 结构;
  • 带有 prefix 的 Decoder 结构,比如 GLM;

下图出自模型 T5 的原始论文,不过该图中没有纯 Encoder 结构,纯 Encoder 结构就是下图中最左侧图中的绿色部分。

图1: 左边为 Encoder-Decoder结构,中间为纯 Decoder 结构,右边为带有 prefix 的 Decoder 结构

2、Mask策略#

目前主流的 mask 策略有三种,如图2所示,图中黑色表示能够看到这里的信息,白色表示无法看到这部分信息:

  • 图2左侧的mask策略:每个时刻t都可以看到它前面和后面所有位置的信息,使用该种 mask 策略的模型有"纯 Encoder 结构","Encoder-Decoder 结构"中的 Encoder 部分;
  • 图2中间的mask策略:每个时刻t只能够看到它前面位置的信息,使用该种 mask 策略的模型有"纯 Decoder 结构","Encoder-Decoder 结构"中的 Decoder 部分;
  • 图2右侧的mask策略:整个序列中,前i个时刻内,每个时刻都可以看到它前面和后面的信息;而i个时刻以后的部分,每个时刻只能够看到它前面位置的信息,前面的i个位置也就是prefix。使用该种 mask 策略的模型是"带有 prefix 的 Decoder 结构";
图2: 三种mask策略

Reference#