1 架构汇总
以BERT为代表的encoder-only
以T5和BART为代表的encoder-decoder
以GPT为代表的decoder-only,
以UNILM为代表的PrefixLM(相比于GPT只改了attention mask,前缀部分是双向,后面要生成的部分是单向的causal mask%)
2 用过去研究的经验说话,decoder-only的泛化性能更好:
ICML2002的:What language model architecture and pretraining objective works best for zero-shot generalization?:
在最大5B参数量、170B token数据量的规模下做了一些列实验,发现用next token prediction预训练的decoder-only模型在各种下游任务上zero-shot泛化性能最好;另外,许多工作表明decoder-only的few-shot(也就是上下文学习,in-context learning)泛化能力更强
3 为什么decoder-only的泛化性能更好:
苏神强调的注意力满秩的问题,双向attention的注意力矩阵容易退化为低秩状态,而 causal attention 的注意力矩阵是下三角矩阵,必然是满秩的,建模能力更强;所以,在同等参数量、同等推理成本下,Decoder-only架构就是最优选择了
而Decoder-only架构的Attention矩阵是一个下三角阵,注意三角阵的行列式等于它对角线元素之积,由于softmax的存在,对角线必然都是正数,所以它的行列式必然是正数,即Decoder-only架构的Attention矩阵一定是满秩的!满秩意味着理论上有更强的表达能力,也就是说,Decoder-only架构的Attention矩阵在理论上具有更强的表达能力,改为双向注意力反而会变得不足。