论文解读之GPT1:Improving Language Understanding by Generative Pre-Training
近期会整理经典的大模型架构和其具体训练、数据过程,从GPT1开始
一、介绍
GPT系列的特点是自监督大规模训练后在具体任务上进行有监督微调,事实证明这种方式可以有效利用大规模的无标签语料以提升模型对于自然语言的理解力,即使其调整参数以记忆足够多知识的模型
结构类似于llama,为多层的decoder-only:
二、训练
2.1 无监督预训练
即,最大化根据之前位置正确的token生成当前位置正确token的对数概率
以下的公式清晰展示了输入在这个模型中的处理流程以及概率输出:
文本被token化后,进过输入的token embedding 矩阵映射后,加上位置编码,接着经过n层decoder块的处理后,softmax转化为词表大小的概率输出
2.2 有监督微调
对于有标签训练,加了一个输出的映射层,这个层负责从transformer的docoder块输出的向量中映射到标签的空间,有监督的损失与无监督类似:
在有监督训练阶段,加入了一定权重的无监督损失函数,有利于:
(1)改善有监督模型的泛化性(2)加速收敛
在此阶段,额外的参数为映射到标签的矩阵,和以及额外的分隔符embedding:
2.3 特定任务输入转换
对于分类、情感分析、相似度、多选等问题,对于训练数据输入前有一定的处理
比如在输入的不同文本段间中加分隔符,如上图
三、数据
预训练:含超过7000本书的:BooksCorpus dataset、1B Word Benchmark
四、实验
4.1 模型结构
12层的decoder-only, layer normalization, gelu激活函数, adam优化器,采用字节对编码词表的token化
4.2 细节
预训练100epoch;微调 3epoch
五、结论
GPT1 主要是探索了decoder-only模型以及其先预训练+有监督微调的范式的效果,有一定的开创性意义