在快速发展的人工智能领域,我们已经从从头开始训练模型,迈向了一个新的范式: 利用海量的预训练模型,并针对特定任务对其进行微调 (fine-tuning) 。无论是训练识别卫星图像的视觉模型,还是微调用于法律咨询的语言模型,我们都被“通用”模型的“专家”版本所包围。
但这带来了一场后勤噩梦。如果你想要一个能处理 50 种不同任务的系统,难道要存储 50 个数 GB 大小的神经网络副本吗?这在计算上极其昂贵,且存储密集。
模型合并 (Model Merging) 作为一种解决方案应运而生。它涉及将多个微调模型的权重合并为一个实体。然而,这项技术面临两大障碍:
- 参数冲突 (Parameter Conflict) : 当你将不同的模型融合在一起时,它们往往会相互干扰,导致性能下降。
- 存储成本 (Storage Costs) : 即使是动态合并方法,通常也需要你在磁盘上保留沉重的、全精度的“任务向量” (即微调模型与基础模型之间的数学差异) 。
在一篇引人入胜的新论文 Less is More: Efficient Model Merging with Binary Task Switch 中,研究人员提出了一个激进的解决方案。他们发现,这些微调模型中的大部分信息实际上是噪声。通过剥离噪声并将剩余的信号转换为简单的二进制格式 (仅 +1 和 -1) ,他们以 1% 到 3% 的存储成本 实现了最先进 (SOTA) 的性能。
让我们深入了解这种 “T-Switch” 方法是如何工作的,以及为什么它表明在 AI 领域,少即是多。

背景: 任务向量与干扰
要理解这项创新,我们首先需要理解 任务向量 (Task Vectors) 。
假设你有一个权重为 \(\theta_{pre}\) 的预训练模型。你在特定任务 (如汽车分类) 上对其进行微调,得到 \(\theta_{ft}\)。“任务向量” (\(\tau\)) 就是两者之间的差值:
\[ \tau = \theta_{ft} - \theta_{pre} \]这个向量代表了微调过程中获得的“知识”。传统的模型合并试图结合多个任务向量 (\(\tau_1, \tau_2, ... \tau_k\)) 并将它们加回预训练模型中。
问题是什么? 干扰 (Interference) 。 一个任务向量可能想要增加特定神经元的权重以识别车轮,而另一个任务向量可能想要减少同一权重以识别云朵。当你将它们加在一起时,它们会相互抵消或产生噪声,导致模型在所有方面都表现平平。
核心发现: “脉冲”特性
研究人员首先提出了一个基本问题: 任务向量中的每个参数都是有用的吗?
微调通常会轻微更新网络中的所有参数。但这些微小的更新是实际的知识,还是仅仅源自训练过程 (随机梯度下降) 的随机噪声?
为了验证这一点,作者设计了一个对照实验。他们定义了一种“脉冲激活 (Pulse Activation) ”机制,尝试根据参数的幅度 (绝对值) 来舍弃参数:
- 舍弃低幅度 (Discard Low) : 将最小的参数设为零。
- 舍弃高幅度 (Discard High) : 将最大的参数设为零。
- 随机 (Random) : 随机舍弃参数 (类似于一种称为 DARE 的技术) 。
如下图所示,结果令人震惊。

如左图所示,当他们舍弃“低”幅度的参数 (红线) 时,模型的准确率并没有下降。事实上, 它反而提高了 。 即使舍弃了 60-80% 的参数,准确率依然保持稳定。相反,舍弃“高”幅度的参数 (蓝线) 导致性能立即崩塌。
这揭示了一种 脉冲式特性 (Pulse-like Characteristic) :
- 高幅度参数 是信号。它们代表了任务所需的关键知识。
- 低幅度参数 是噪声。它们是冗余的,并且在合并时实际上会与其他任务产生干扰。
通过使用阈值去除噪声 (如下面的公式所示) ,我们可以分离出任务的“脉冲”。

从清理到压缩: 二值化
一旦研究人员意识到只有高幅度参数才重要,他们迈出了大胆的一步。如果这些参数如此稳健,我们真的需要它们精确的 32 位浮点数值 (例如 0.54321) 吗?还是我们只需要知道它们的 方向 (正或负) ?
他们提出了 二值舍弃 (Binary Discard, Bin-Discard) 。 其思路是:
- 只保留重要的参数 (脉冲) 。
- 将它们变为 +1 (如果是正数) 或 -1 (如果是负数) 。
- 使用单个标量值将它们缩放回近似范围。
结果是巨大的压缩。你不再存储复杂的十进制数字,而是存储一个由 1 和 -1 组成的稀疏映射。
但这真的有效吗?

上面的图表显示了一些反直觉的现象。左侧的蓝色条形图显示了二值方法与原始全精度模型之间的准确率差异。随着舍弃率的增加 (意味着我们扔掉了更多“微小”的噪声) ,二值模型实际上 优于 原始模型 (由高于 0 的条形表示) 。
这证实了“少即是多”的假设: 将任务向量二值化不仅节省了空间,而且起到了正则化器的作用,剥离了导致过拟合或合并冲突的噪声。
架构: 引入 T-Switch
基于这些见解,作者介绍了 任务开关 (Task Switch, T-Switch) 。 这是一个框架,将任务向量分解为三个轻量级组件,类似于配电盘上的控制装置。

如上图所示 (模块 1, 2, 3) ,一个任务向量被分解为:
- 激活开关 (Activation Switch, \(S_A\)) : 一个二进制掩码 (0 或 1) 。这决定了重要参数 在哪里。它为特定任务“激活”相关的神经元。
- 极性开关 (Polarity Switch, \(S_P\)) : 一个二进制符号映射 (+1 或 -1) 。这决定了更新的 方向。这个神经元需要变得更正还是更负?
- 开关旋钮 (Switch Knob, \(\lambda\)) : 一个单一的标量值 (浮点数) 。这控制了任务向量的 强度 或音量。
开关背后的数学
从数学上讲,近似的任务向量 \(\hat{\tau}_i\) 重构如下:

在推理过程中合并多个任务时,T-Switch 会动态激活这些应用于共享的“全1”向量 (\(\mathbf{U}\)) 的开关。这允许基础模型同时被多个轻量级开关修改。

Auto-Switch: 无需训练的自动化
在现实场景中,我们并不总是知道应该对给定的输入应用 哪一个 任务向量。如果用户上传了一张图片,它是卫星照片 (任务 A) 还是交通标志 (任务 B) ?
现有的方法通过训练复杂的“路由器 (routers) ”来决定这一点,这不仅计算成本高昂,而且每当添加新任务时都需要重新训练。
作者提出了 Auto-Switch , 这是一种聪明的、无需训练的替代方案。
- 查询集 (Query Set) : 对于每个任务,他们保留一小组示例特征 (具有统计代表性的嵌入) 。
- 推理: 当新输入到达时,系统使用最近邻搜索 (Nearest Neighbor search) 将输入的特征与查询集进行比较。
- 加权: 它计算相似度得分 (\(w_i\)) 并自动调整相关任务的“开关旋钮”。

这使得模型能够动态适应输入,而无需任何额外的参数训练。
实验结果
研究人员在计算机视觉 (使用 CLIP 模型在 8 个数据集上) 和自然语言处理 (使用 RoBERTa 在 GLUE 基准上) 的标准基准测试中,将 T-Switch 和 Auto-Switch 与现有方法进行了对比测试。
1. 存储效率 vs. 性能
最令人印象深刻的结果是存储效率。在下表中,请看 “Storage (MB)” 列。
- Twin-Merging (之前的 SOTA): 需要 3474.2 MB 的额外存储。
- T-Switch (本文方法): 仅需 57.0 MB 。
这意味着存储量 减少了 98.3% 。 然而,再看 “AVG” (平均准确率) 列。T-Switch 达到了 90.98% , 击败了 Twin-Merging (83.07%),甚至优于“传统多任务学习” (MTL) 基准。

2. 视觉与语言的一致性
其有效性不仅限于视觉。下面的雷达图比较了视觉 (ViT-B/32) 和语言 (RoBERTa) 模型上的各种方法。

在这些图表中,蓝线 (T-Switch) 始终向外缘推进 (代表更高的性能) ,紧密匹配灰色虚线 (独立微调) 。这表明,尽管合并后的模型被压缩为二进制位,但它几乎保留了独立模型的所有专业知识。
意义何在
这篇“少即是多”的论文为未来的部署提供了关键的启示。随着我们迈向“边缘 AI (Edge AI) ”——在手机、笔记本电脑和物联网设备上运行强大的模型——存储和内存成为了瓶颈。
目前的方法表明,如果你想要一个能做 100 件事的模型,你需要存储 100 个巨大的文件。T-Switch 证明了你可以只存储一个巨大的文件 (基础模型) 和 100 个微小的“开关”文件 (二进制掩码) 。
通过识别出绝大多数微调更新都是冗余噪声,T-Switch 使我们能够:
- 减少存储: 从 GB 级降至 MB 级。
- 减少冲突: 通过去除噪声,任务之间能更好地共存。
- 保持性能: 实现与全精度模型相当的准确率。
这项研究证明,在庞大的神经网络世界中,我们并不总是需要更多的参数或更高的精度。有时,我们只需要找到“脉冲”,然后关掉其余的部分。
](https://deep-paper.org/en/paper/2412.00054/images/cover.png)