中间任务迁移学习可以显著提高模型性能。例如,如果对于情感检测的训练数据较少,首先在情感分类数据集上微调一个语言模型可能会显著提高性能。 但是,要选择哪种任务进行迁移学习呢? 以前的方法生成的有用的任务排名对大型源池来说是不切实际的,因为它们需要通过所有源语言模型进行前向传播。 作者通过引入嵌入空间映射(ESMs)来解决这个问题,这是一种轻量级神经网络,可以近似微调语言模型的效果。作者对NLP任务迁移性和任务选择进行了最大规模的研究,使用了12k个源-目标对。 作者发现,在先前的方法上应用ESMs可以分别将执行时间和磁盘空间使用降低10倍和278倍,同时保留高选择性能(平均后悔@5得分为2.95)。
当前在NLP中的监督学习默认方法是直接使用目标任务标签数据微调一个预训练的 Transformer 。
然而,先前的研究显示,在某些情况下,连续进行两次微调可能是有益的:首先,在_中间任务_上进行微调,然后在该任务上进行微调。特别是在目标任务训练数据很少,而中间任务训练数据很多的情况下,这种方法可能特别有效。
然而,使用中间任务迁移学习是否能获得性能提升以及提升的幅度,极大地取决于所选择的中间任务。更糟糕的是,在NLP领域存在大量的 Token 数据集,因此找到给定目标任务的最佳中间任务是一个非平凡的问题。例如,HuggingFace Hub alone contains more than 160k datasets and 700k models. 这使得对最佳可能的中间任务进行详尽的搜索变得不可能。
找到给定目标任务的有前途的中间任务称为中间任务选择。以前的工作研究了在给定源 Transformer 语言模型和目标任务时寻找合适中间任务的方法。这些方法依赖于源模型的局部可用性或源数据集的空间密集表示。方法还需要对每个源-目标对进行资源密集型计算。
因此,大多数方法在实际场景中是不可行的,即源池很大且资源有限。虽然庞大的可用模型和数据集是宝贵的资源,但用户无法最优地利用它(You等人,2021年)。
这篇论文有两项贡献。
迁移学习是自然语言处理(NLP)中的一个常见范式。BERT,Devlin等人(2019年)提出了一种编码器,在大型语料库上进行训练,然后在每个目标任务上进行微调。Phang等人(2018年)表明,语言模型可以从添加中间微调步骤中受益。这个过程被称为中间任务迁移学习。其中一种挑战是找到正确的中间任务。
源选择方法决定了给定目标任务下源任务的可转移性。所产生的排名可以帮助用户选择可能的最佳源,例如,使用这些顶级选择进行迁移学习,以找到实际最佳源。这些方法通常包括两个资源密集阶段。在一次性过程中,为每个源创建一个目标独立的表示(P1)。然后,对于给定的目标任务,使用这些表示产生一个排名(P2)。
TextEmb(Vu等人,2020)和TaskEmb(Achille等人,2019)将AI学术论文的嵌入数据集嵌入向量空间,并计算其表示之间的距离。TaskEmb在文献中表现良好,但其在一般情况下具有与语言模型本身相当的向量表示。TextEmb产生的向量较小,但仅描述任务领域,而不仅仅是输入和标签之间的关系。
NCE (Tran et al., 2019), LEEP (Nguyen et al., 2020), 和 LogME (You et al., 2021) 通过评估伪标签、分布和目标嵌入来对源模型进行排序。这些方法在源选择方面表现出色,但需要通过每个源模型的前向传播。对于大量源模型的情况,这种方法可能不可行。
以往的研究评估了中间任务迁移学习和源选择方法在NLP任务中的效果(Bassignana等人,2022年;Poth等人,2021年;Vu等人,2020年)。但这些研究并未反映真实世界的场景。使用的源池较小(n<50),而用户可以从一个非常大的源数据集和模型池中进行选择。此外,这些研究大多没有评估执行时间和磁盘空间使用。作者认为,效率对于源选择方法的实际应用至关重要。
总的来说,先前的研究在准确率上可以取得较高的水平,但在实际场景中并未探索源选择。大部分研究忽视了效率,且使用的基准测试与流行的模型仓库上可用的源池不相符。
迁移学习中的ESM(可扩展序列模型)是一种参数高效的表示形式,它们附加在基础语言模型上。ESM的模块化设计类似于 Adapter (Houlsby等人,2019年;Pfeiffer等人,2020年)。 Adapter 块被插入在语言模型的变形器层之间,而ESM则仅放在顶部。使用 Adapter 进行源选择需要对整个语言模型进行一次前向传播,对于每个源都是如此。这也适用于最先进的方法,如LogME。相比之下,与ESM不同,只需要对基础语言模型进行一次前向传播就可以计算目标任务的基础嵌入。然后,可以使用每个中间任务的一个ESM进行快速转换。反过来,ESM在P2中显著降低了计算工作量。
相比之下,作者的目标是评估在真实场景下的排名性能。作者从HuggingFace Hub中解析数据集,并使用启发式方法确定它们的输入和标签列,以收集尽可能多的中间任务。这一过程包括搜索公共列名,分析列类型和内容3。最终池化结果包括1553个数据集(1496个分类任务和57个回归任务)。
作者手动挑选了一组目标数据集,这些数据集在任务类型、领域和语言方面都具有多样性。它们包括来自IMDB(Maas等人,2011年),情感和情感子集(TES,TSS)(Barbieri等人,2020年),J-STS(Kurihara等人,2022年),MDGB(Dinan等人,2020年),PAWS-X(Yang等人,2019年)的英文子集, Query 健全性(GQW)(Faruqui和Das,2018年)以及公民评论(GCC)(Borkan等人,2019年)。4作者将目标数据集的训练集大小人工缩减至1k行,以模拟数据稀缺,并将源数据集的训练集大小缩减至10k行,以便于评估效率。
作者使用BERT(_bert-base-multilingual-uncased_),进行所有源-目标对的学习迁移,并使用验证数据集上的实现性能增益作为真实值来评估几种源选择方法的排名。作者使用ESM-LogME,LogME,NCE,LEEP,TextEmb,TaskEmb,词汇重叠(tokenized输入集的Jaccard指数),并在冻结语言模型参数的同时微调源模型来计算源排名。模型性能在分类任务中衡量为准确率,在回归任务中衡量为皮尔逊相关系数和斯皮尔曼等级相关系数。
作者遵循先前的研究,并使用NDCG(Jarvelin和Kekalainen,2002)和后悔@(Renggli等人,2020年)来衡量源排名的质量,其中(所有报告为pp.)。实际上,R@表达了在所选的个任务中,最佳任务的表现相对于整个池中最佳任务的使用情况如何。该指标假设用户在所有个选定的任务上使用迁移学习,以在这些任务中找到实际的最佳。作者将R@5作为主要指标。
图3显示了每个目标任务在所有源任务上的性能。除了一个例外,目标任务主要受益于中间任务,尽管程度不同。然而,根据所选的中间任务,迁移学习可能会导致与基础模型相比性能下降。7 这些发现突出了中间任务迁移学习的有效性,但也强调了适当任务选择的重要性。
基于模型的方法比数据集方法表现更好(见表1)。特别是,LogME、NCE和LEEP在分类和回归任务上取得了最佳排名(分类任务:R@5=0.12,回归任务:1.64)。8 ESM-LogME在分类目标任务上的表现优于大多数其他方法(1.91)。在回归目标任务上,它的性能略有下降(4.69)。然而,在4个目标任务中,ESM-LogME的最佳来源任务包含在ESM-LogME的前5个排名中(0)。对所有任务进行平均,ESM-LogME的R@5为2.95,即从最佳的前5个选择中转移,可以获得整个源池最佳性能的97.05%。9图3显示了ESM-LogME和LogME排名的最高来源任务。对于3个目标任务,ESM-LogME的前1个选择没有带来显著的转移收益(甚至可能出现了轻微的转移损失),但它在2个目标任务上找到了最佳来源(对于2个任务,它甚至选择了比LogME更好的来源任务,这可能是由于正近似误差所致)。这突出了应根据ESM-LogME和其他方法的位置来确定一个较小的候选集进行迁移学习,而不是仅仅依赖最佳选择。
来自P1的结果是目标无关的,可以公开分享。作者在P2中测量效率,这需要用户进行中间任务选择。
表1显示,ESM-LogME是迄今为止最快且最节省存储空间的选取方法(除TextEmb外,其排名较低)。与LogME、NCE和LEEP相比,它快约10倍,且在各种源任务上都能良好扩展,因为ESM可以快速转换基础嵌入。与基于模型的方法相比,它节省了278倍的存储空间,因为后者需要训练好的源模型。
作者证明,对嵌入空间进行线性变换就足以很好地描述源任务,从而进行源选择。
尽管ESM-LogME的排名不如LogME准确,但作者的结果表明,ESM-LogME在大多数目标任务(平均后悔值@5分2.95)上表现良好。
同时,ESM-LogME的效率远高于所有表现良好的最先进状态方法。
这使得它成为在实际场景中表现最佳的源选择方法。
[0]. Less is More: Parameter-Efficient Selection.