引言
在开发机器学习系统时,提高模型在下游任务上的表现或减少在预训练中学习到的偏见,一种常见的方法是对预训练模型做人为干预引导。为此,本文提出了一种以任务向量为中心来引导神经网络产生预期结果的新范式。
最近阳的越来越多,各位注意身体,好运常伴。
目前大部分的机器学习系统都是基于预训练模型进行调优。在实践中,我们经常希望在预训练后对模型进行编辑,以提高下游任务的性能,减少不需要的模型结果,并让模型与人类偏好一致。为此,本文提出了一种基于任务向量编辑神经网络的新范式,它编码了目标任务必备的所有信息。受权重插值方法的启发,本文利用微调模型的权重减去预训练权重来获得这样的向量,如下图(a)所示。
对任务向量执行简单的算术操作,我们可以用任务算术编辑各种模型。例如,对一个向量取负可以用来删除不希望的结果或遗忘,而添加任务向量可以导致更好的多任务模型,甚至可以提高单个任务的性能。最后,当任务形成类比关系时,可以组合任务向量来提高数据稀缺任务的性能。如上图(b-d)所示。
对于一个训练任务,往往是用于微调的损失函数和数据集来完成。设
为预训练的模型的权值,
为任务t经过微调后的相应权值,则任务向量
可以通过
与
之间的元素差得出,即
。当任务从上下文中被清除时,省略标识符t,将任务向量简单地表示为τ。
任务向量可以应用于来自相同架构的任何模型参数θ,通过元素相加以及可选缩放项λ,这样得到的模型具有权重
。「本文我们关注任务向量上的三种算术表达式,如上图所示:减去任务向量、任务向量相加、组合任务向量」。所有操作都按元素应用于权重向量。
负任务向量是降低其在目标任务上的性能的有效方法,而不会严重损害其他地方的性能。遗忘或“忘却”有助于减轻预训练时学到的不良偏见;为了遵守法规或出于道德原因(例如阻止图像分类器识别面部或通过 OCR“读取”个人信息),完全忘记任务可能是可取的。当对任务向量τ求负时,应用得到的任务向量为
对应于微调模型和预训练模型之间的外推,生成的模型在目标任务上更差,在控制任务上的性能几乎没有变化。下面展示了否定任务向量对编辑图像分类和文本生成模型的有效性。
添加任务向量,以构建同时精通多个任务的多任务模型,或者提高单个任务的性能。添加两个或两个以上的任务向量为:
。这种操作允许我们重复使用和转移来自模型内部或大量公开可用的微调模型的知识,而不需要额外的训练或访问训练数据。我们探索了各种图像分类和自然语言处理任务的加法。
当任务A、B、C、D中,A到B形式类似于C到D,那么任务向量
可以提高任务D的性能,即使该任务几乎没有数据。对于所有操作,通过应用
获得的模型权重由$θ_{new} = θ +λτ_{new}给出,其中缩放项λ是使用保留验证集确定的。
上表展示了使用此类任务类比可以提高 T5 模型在多个尺度上的准确性,将 Amazon 和 Yelp 二元情感分析作为目标任务。根据经验发现,为情感分析任务向量赋予更高的权重会导致更高的准确性,因此我们为这些实验使用了两个独立的比例系数——一个用于情感分析任务向量,一个用于两个语言建模任务向量。
[1] 「自然语言处理(NLP)」 你必须要知道的 “ 十二个国际顶级会议 ” !
[2] 快看!Transformer中的自注意力机制(Self-attention)竟有这么多变体
[3] 加利福尼亚大学 | 新意图发现(NID) 最近邻对比学习方法(源码)
[4]Transformer变体!用于时间序列预测的指数平滑Transformer(含源码)
[5]EMNLP2022 | “Meta AI 9篇接受论文”,其中7篇主会、2篇Findings
Paper:https://arxiv.org/pdf/2212.04089.pdf
Code:https://github.com/mlfoundations/task_vectors