
回复
今天给大家带来一篇探讨大模型预训练与微调之间关系的文章,主要通过微调预训练阶段各个checkpoint,来发现预训练本身或对下游微调有哪些影响。
Paper: https://arxiv.org/abs/2408.06663
由于目前开源模型中,开放全量checkpoints的模型较少,并且实验成本较大,以下分析结果主要基于OLMo-1B模型(同时训练细节、预训练数据、微调数据都公开了)进行实验,微调数据详细如下表所示,
针对大模型在预训练过程中的checkpoints,进行下游任务zero-shot或few-shot测试,如上图可以发现,大模型随着训练步数的增加,并不是所有任务数据的效果会随之提高,部分任务数据在整个预训练过程中,基本没有变化。效果提高的任务数据,也主要在训练前期提高较多,后期趋于平稳。
模型在预训练过程中,更多在学习知识,即使学习更多,可能也不会使用。
如上图所示,可以发现,在预训练时表现较好的任务数据,在微调过程中并不会得到改善,即在预训练过程中已经获取了知识信息,微调则没有帮助。
但在预训练阶段表现不好的任务数据,微调模型的每个checkpoint都会有明显的改善,一般微调收益先增加再减少。
那么,如果模型在某一任务上一定需要下游微调时,可能早停的checkpoint效果更优。
从任务格式、任务迁移和领域知识三个维度来分析微调学到了哪些内容。
本文转载自NLP工作站,作者:刘聪NLP