GPT-1优化方法疑问:预训练中SGD与Adam的使用场景
GPT-1论文中优化器的分阶段使用说明
在《Improving Language Understanding by Generative Pre-Training(2018)》(即GPT-1)里,优化器是分预训练和下游任务微调两个阶段分别使用的,这就是你看到SGD和Adam两种优化器的原因:
预训练阶段:使用Adam
论文明确指出,预训练大规模语言模型时采用Adam优化器,配置了初始学习率2.5e-4,先做学习率预热,之后线性衰减至0。Adam的自适应学习率特性,能在百万级无监督语料上更稳定地更新大参数模型,适合预训练这种数据量大、参数规模大的场景。微调阶段:使用SGD
针对每个下游任务(如文本分类、问答、文本蕴含等),论文改用SGD进行微调。原因在于下游任务的标注数据量远小于预训练语料,SGD的更新逻辑更简单稳定,能更好地适配小样本场景,减少Adam在小数据上可能出现的过拟合或更新不稳定问题。微调时还搭配了动量(momentum=0.9)和学习率衰减策略,进一步优化下游任务表现。
你看到的两张图应该分别对应预训练和微调的实验设置模块,这是分阶段的合理选择,不存在概念误解。
内容的提问来源于stack exchange,提问作者eunzee
相关产品推荐
相关产品推荐

