DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining:DoReMi:优化数据混合加速语言模型预训练
这篇文章方法属于大模型数据工程类的文章,其通过调整大模型训练语料的各部分数据的权重,在Pile数据集合上,效果提升6.5%,达到baseline精度的时间提上2.6倍。fuyao大佬在[2]中也分享了这篇文章,推荐给大家参考下~
Title:DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining
论文地址:https://arxiv.org/pdf/2305.10429.pdf
本文提出DoReMi算法,来优化每组数据的权重配比,从而提升模型的最终表现。该算法主要包括以下步骤:
DRO算法的详细步骤:
通过以上步骤,DRO优化方法能够动态地调整域权重,使得代理模型在训练过程中关注那些具有较大改进空间的域。这有助于找到一组能够在各种任务上表现良好的域权重,从而提高预训练语言模型的性能。
Pile数据集:一个 800GB 的文本数据集,包含 22 个域。默认域权重是启发式确定的。这里使用 The Pile 数据集中的默认域权重来训练基线,并作为 DoReMi 中的参考域权重。
GLaM数据:集包含来自 8 个域的文本。为了进行比较,GLaM 域权重(下游调整)根据在每个域上训练的模型的下游性能和每个域的大小进行调整。我们使用统一的域权重来训练 DoReMi 的基线和参考域权重。
Pile数据集表现:下游任务提升6.5%个点,达到baseline精度的速度提升2.6倍。
GLaM数据集表现:
发现所有任务的数据集都有下降,尽管为某些域分配了较低的权重,DoReMi 仍显著降低了所有域的基线上的困惑度。在使用DoReMi算法优化预训练语言模型的数据混合比例后,所有领域的困惑度都降低,这可能有以下几个原因:
总之,DoReMi算法通过优化数据混合比例,平衡数据分布,减少过拟合风险,有效利用数据,实现正向迁移和提高鲁棒性等方式,使得预训练语言模型在所有领域的困惑度都得到降低。这有助于提高模型在各种任务上的性能。
比较了280M、510M、760M、1B不同模型尺寸下本文DoReMi方法的影响,发现在大多数尺度上(510M除外),在20k步处有大约的3%的精度差距,同时DoReMi达到基线精度的速度也提升了4倍。
Left:在The Pile数据集上,使用不同规模的代理模型(70M, 150M, 280M, 1B)进行DoReMi优化后,对下游任务性能的影响。图中的x轴表示代理模型的规模,y轴表示下游任务的平均准确率。
Right:不同数据选择策略的方法的影响(DOReMi、Hardest和Easiest)。它们的主要区别在于如何根据损失函数为数据分配权重。以下是对这三种方法的解释:
(a)不同尺寸代理模型下最终8B模型困惑度的变化情况:280M->8B效果看起来最好,推荐使用这个。1B可能有点过拟合了。
(b)比较了使用DoReMi方法得到的主模型(main model)与相同规模的代理模型(proxy model)的困惑度情况:
[1]:Xie S M, Pham H, Dong X, et al. DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining[J]. arXiv preprint arXiv:2305.10429, 2023.
[2]:An Initial Exploration of Theoretical Support for Language Model Data Engineering. Part 1: Pretraining
Three dimensional architected thermoelectric devices with high toughness and power conversion effici