Editing Models with Task Arithmetic

1 Task Vectors

任务向量是微调预训练模型和初始模型的权重差值,这个向量可以用到任意其他同一架构的模型来提升模型的性能。 \(τ = θ_{ft} - θ_{pre}\) - θ_pre 表示初始预训练模型的权重参数。

  • θ_ft 表示微调预训练模型后的权重。

![[Figure 1. An illustration of task vectors and the arithmetic operations we study for editing models..png]]

通过将 A 和 B 任务合并,应用得到的模型,可以同时具备AB 任务的能力。 \(τ_{new} = τ_A + τ_B\)

对原始任务向量取反,使模型遗忘该任务的能力。 \(τ_{new} = -τ\)

添加 \(λ\) 缩放系数,控制任务影响的强度。当 \(λ=1\) 时,效果等于在模型上进行微调。 \(τ_{new} = τ + λ * τ\)

A is to B as C is to D,通过类比关系推导出新任务向量。 \(τ_D ≈ τ_C + (τ_B - τ_A)\)

2 Forgetting via Negation

Table 1 测试了通过取反遗忘特定任务对其他任务的影响。 - Target task 是希望取反遗忘的任务 - Control task 是对照 task,遗忘特定任务后应该对该任务影响微小

图中表示 acc,target 的 acc下降,说明成功遗忘了该任务的知识,而对 control 任务的能力没有影响。

![[Table 1. Forgetting image classification tasks via negation..png]]

3 Learning Via Addition

添加任务向量,目的是构建能够同时精通多任务的多任务模型或者提升单任务的性能。

3.1 Image Classification

实验涉及多个图像分类任务,将这些任务两两配对。

不同任务的难度有差异,所以要统一 normalize 归一化,处理后微调模型在各个任务的表现为 1,使用多 specialized 模型的平均表现也为 1。

  • Average Zero-shot:基础模型(未经过任何微调)在两个任务上的平均性能。这代表了起点。

  • Average Fine-tuned:使用两个专用模型的平均性能(即1.0)。这代表了理想目标。

大部分数据点都密集地分布在 (1.0, 1.0) 的周围。 准确率达到 98.9%,意味着这个单一模型的性能能达到使用两个独立的专门模型的性能的 98.9%。

![[Figure 2. Adding pairs of task vectors from image classification tasks..png]] 在 subset 上添加任务向量对准确率的影响。 当添加的任务向量越多,准确率越高,可以产出更好的多任务模型,最高达到 91.2%。

![[Figure 3. Adding task vectors builds multi-task models for image classification tasks..png]]

5 Task Analogies

A is to B as C is to D.

从 A 到 B 的变化≈从 C 到 D 的变化。 \[ τ_D - τ_C ≈ τ_B - τ_A \] \[ τ_D ≈ τ_C + (τ_B - τ_A) \] \(τ_{n}\) 表示在任务 n 上微调得到的向量。

\(τ_{amazon; lm}\)(无监督任务向量):Amazon领域特性 这个向量包含了模型为了理解和生成Amazon评论的通用语言风格和结构所需要调整的所有参数变化。它学会了Amazon评论的词汇、句式、表达习惯等,但它不知道如何判断情感

\(τ_{amazon; sent}\)(有监督任务向量):Amazon领域特性 + 情感分析能力 这个向量包含了模型为了在Amazon评论的文本基础上准确分类情感所需要调整的参数变化。它学会了哪些词、短语和结构对应于“正面”或“负面”情感。

\(τ_{amazon; sent} - τ_{amazon; lm}\) ≈ 情感分析能力。 这个能力不依赖特定的领域,比如Amazon。

\(τ_{yelp; lm}\)(目标领域的无监督向量):Yelp 领域的基础语言表达 \[ τ_{yelp; sent} ≈ τ_{yelp; lm} + (τ_{amazon; sent} - τ_{amazon; lm}) \] 把从 Amazon 提取的情感分析能力加到 Yelp 中。因为无法直接获得目标领域的 labeled data,所以通过拆解辅助任务 \(τ_{amazon; sent}\) 的任务向量应用到 Yelp 中,可以合成一个相似的 \(τ_{yelp; sent}\)