BERT RoBERTa ALBERT(参数共享)、SpanBERT(预测文本片段)、DistilBERT(轻量化模型)和ELECTRA(替换token检测)
BART侧重于对输入进行扰动(如掩码、删除、排列和旋转),
而T5则强调任务的统一化,并进行了详细的消融研究。
如今,解码器-Only Transformer已成为大规模语言建模中的默认架构
GPT(Generative Pre-Training,生成式预训练)模型采用Transformer解码器作为其核心架构,使用语言建模作为训练目标(Radford等人,2018年)。GPT的预训练通过语言建模实现,其中目标序列是输入序列向后偏移一个token的结果。图中还展示了GPT解码器中的注意力模式,每个token只能关注其之前的token(因未来的token尚未被生成,无法被关注)。
GPT拥有1亿个参数,需要通过微调来完成具体的下游任务。随后推出的GPT-2模型在规模上大幅增加:GPT-2包含15亿参数,采用了预归一化、改进的初始化和权重缩放策略,并在40GB文本上进行了预训练。GPT-2在多个语言建模基准上取得了最优结果,并且在不更新模型参数或架构的情况下,在其他多个任务上也展现出较好性能(Radford等人,2019年)。
GPT-2展示了无需更新模型参数即可在多个任务上表现出色的潜力。相比微调需要通过梯度计算更新模型参数,不更新参数的方式在计算上更为高效。
语言模型可以基于某个前缀文本序列生成后续的文本序列。因此,预训练好的语言模型可以在不更新参数的情况下,基于输入的任务描述、任务特定的输入-输出示例以及提示(prompt)生成任务输出,这一学习范式称为“上下文学习”(in-context learning)(Brown等人,2020年),并可进一步细分为零样本、单样本和少样本学习,分别表示无示例、一个示例或少量示例的情况。
GPT-3(Brown等人,2020年)在这一设置下进行了测试,其最大的版本使用了比GPT-2大两个数量级的数据量和模型规模。GPT-3沿用了与GPT-2相同的Transformer解码器架构,不同之处在于其交替层中的注意力模式更加稀疏。在预训练了3000亿个token之后,GPT-3在模型规模增大的情况下表现更好,尤其是在少样本学习中的表现提升最快