为NLP任务微调预训练Transformer时,我是否应该尝试多种优化器?是否应该调整它们的超参数?
计算与语言
2024-02-13 v1
摘要
NLP研究已经探索了不同的神经模型架构和规模、数据集、训练目标以及迁移学习技术。然而,训练过程中优化器的选择尚未得到同样广泛的探索。通常,人们会从众多变体中选择某种随机梯度下降(SGD)的变体,其选择标准不明确,且往往对优化器的超参数进行极少甚至不进行调整。通过在五个GLUE数据集、两个模型(DistilBERT和DistilRoBERTa)以及七种流行的优化器(SGD、带动量的SGD、Adam、AdaMax、Nadam、AdamW和AdaBound)上进行实验,我们发现,当优化器的超参数经过调整后,尽管训练损失存在差异,但五种更精细的(自适应)优化器在测试性能上没有实质性差异。此外,在大多数情况下,仅调整学习率的效果与调整所有超参数一样好。因此,我们建议选择任何一种表现最佳的自适应优化器(例如Adam),并仅调整其学习率。当无法调整任何超参数时,带动量的SGD是最佳选择。
引用
@article{arxiv.2402.06948,
title = {Should I try multiple optimizers when fine-tuning pre-trained Transformers for NLP tasks? Should I tune their hyperparameters?},
author = {Nefeli Gkouti and Prodromos Malakasiotis and Stavros Toumpis and Ion Androutsopoulos},
journal= {arXiv preprint arXiv:2402.06948},
year = {2024}
}
备注
Accepted at EACL 2024